1 |
280 |
jeremybenn |
2008-12-31 Uros Bizjak
|
2 |
|
|
|
3 |
|
|
* sched-deps.c (sched_analyze_2) [UNSPEC_VOLATILE]: Flush pending
|
4 |
|
|
memory loads and stores.
|
5 |
|
|
|
6 |
|
|
2008-12-31 Jakub Jelinek
|
7 |
|
|
|
8 |
|
|
PR middle-end/38505
|
9 |
|
|
* tree-ssa-ccp.c (may_propagate_address_into_dereference): Return
|
10 |
|
|
false if ADDR's operand has incomplete type.
|
11 |
|
|
|
12 |
|
|
Revert:
|
13 |
|
|
2008-12-15 Jakub Jelinek
|
14 |
|
|
PR middle-end/38505
|
15 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): Return
|
16 |
|
|
false if inner_type is incomplete and outer_type is complete.
|
17 |
|
|
|
18 |
|
|
2008-12-31 Jakub Jelinek
|
19 |
|
|
|
20 |
|
|
PR middle-end/38676
|
21 |
|
|
* gimplify.c (gimple_regimplify_operands): For GIMPLE_SWITCH
|
22 |
|
|
only regimplify switch index.
|
23 |
|
|
|
24 |
|
|
2008-12-30 Richard Guenther
|
25 |
|
|
|
26 |
|
|
PR tree-optimization/38645
|
27 |
|
|
* tree-ssa-ccp.c (fold_gimple_assign): Use the correct pointer
|
28 |
|
|
type.
|
29 |
|
|
* tree-ssa-dom.c (cprop_operand): Simplify. Do not propagate
|
30 |
|
|
volatileness changing operands.
|
31 |
|
|
|
32 |
|
|
2008-12-30 Steven Bosscher
|
33 |
|
|
|
34 |
|
|
* tree-cfg.c (verify_eh_throw_stmt_node): Return nonzero,
|
35 |
|
|
to visit all EH statement and fix EH checking.
|
36 |
|
|
|
37 |
|
|
2008-12-31 Seongbae Park
|
38 |
|
|
|
39 |
|
|
Revert:
|
40 |
|
|
2008-12-29 Seongbae Park
|
41 |
|
|
* tree-profile.c (tree_init_ic_make_global_vars): Make static
|
42 |
|
|
variables TLS.
|
43 |
|
|
|
44 |
|
|
2008-12-30 Andrew Pinski
|
45 |
|
|
|
46 |
|
|
PR middle-end/38661
|
47 |
|
|
* tree-switch-conversion.c (build_constructors): Test for wrapping of
|
48 |
|
|
pos case.
|
49 |
|
|
|
50 |
|
|
2008-12-30 Steven Bosscher
|
51 |
|
|
|
52 |
|
|
PR middle-end/38584
|
53 |
|
|
* ipa-inline.c (compute_inline_parameters): When not optimizing,
|
54 |
|
|
don't compute the inline parameters, just set them to 0 instead.
|
55 |
|
|
|
56 |
|
|
2008-12-30 Paolo Bonzini
|
57 |
|
|
|
58 |
|
|
PR tree-optimization/38572
|
59 |
|
|
* tree-vrp.c (vrp_visit_phi_node): Look out for invalid ranges
|
60 |
|
|
and change them to VARYING.
|
61 |
|
|
|
62 |
|
|
2008-12-30 Richard Guenther
|
63 |
|
|
|
64 |
|
|
PR middle-end/38564
|
65 |
|
|
* fold-const.c (fold_comparison): Use the correct result type.
|
66 |
|
|
|
67 |
|
|
2008-12-30 Dorit Nuzman
|
68 |
|
|
Ira Rosen
|
69 |
|
|
|
70 |
|
|
PR tree-optimization/38529
|
71 |
|
|
* tree-vect-transform (vect_transform_stmt): Handle inner-loop stmts
|
72 |
|
|
whose DEF is used in the loop-nest that is being vectorized, but
|
73 |
|
|
outside the immediately enclosing loop.
|
74 |
|
|
|
75 |
|
|
2008-12-29 Seongbae Park
|
76 |
|
|
|
77 |
|
|
* tree-profile.c (tree_init_ic_make_global_vars): Make static
|
78 |
|
|
variables TLS.
|
79 |
|
|
|
80 |
|
|
2008-12-29 Jakub Jelinek
|
81 |
|
|
|
82 |
|
|
PR c++/36191
|
83 |
|
|
* tree-complex.c (expand_complex_libcall): Call
|
84 |
|
|
maybe_clean_or_replace_eh_stmt and gimple_purge_dead_eh_edges
|
85 |
|
|
instead of passing true as 3rd argument to gsi_replace.
|
86 |
|
|
|
87 |
|
|
2008-12-28 Uros Bizjak
|
88 |
|
|
|
89 |
|
|
PR middle-end/38652
|
90 |
|
|
* dse.c: Include target.h.
|
91 |
|
|
* Makefile.in (dse.o): Depend on $(TARGET_H).
|
92 |
|
|
|
93 |
|
|
2008-12-29 Jakub Jelinek
|
94 |
|
|
|
95 |
|
|
PR driver/38381
|
96 |
|
|
* gcc.c (process_command): Accept also -b with configuration name
|
97 |
|
|
in the next argument.
|
98 |
|
|
* doc/invoke.texi (-b): Document that no hyphen is required if
|
99 |
|
|
configuration name is in the next argument after -b.
|
100 |
|
|
|
101 |
|
|
2008-12-27 Jakub Jelinek
|
102 |
|
|
|
103 |
|
|
PR middle-end/38641
|
104 |
|
|
* gimple-pretty-print.c (dump_binary_rhs): Print
|
105 |
|
|
VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR,
|
106 |
|
|
VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR, VEC_PACK_FIX_TRUNC_EXPR,
|
107 |
|
|
VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR
|
108 |
|
|
VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR similarly
|
109 |
|
|
to COMPLEX_EXPR, MIN_EXPR and MAX_EXPR.
|
110 |
|
|
|
111 |
|
|
PR middle-end/38633
|
112 |
|
|
* tree-cfg.c (replace_block_vars_by_duplicates): Only call
|
113 |
|
|
replace_by_duplicate_decl for VAR_DECLs or CONST_DECLs.
|
114 |
|
|
|
115 |
|
|
2008-12-24 Kazu Hirata
|
116 |
|
|
|
117 |
|
|
* Makefile.in (GTFILES): Add $(srcdir)/expr.h.
|
118 |
|
|
* expr.h: Fix the declaration of block_clear_fn.
|
119 |
|
|
|
120 |
|
|
2008-12-23 Andrew Pinski
|
121 |
|
|
|
122 |
|
|
PR middle-end/38590
|
123 |
|
|
* fold-const.c (fold_binary): Call fold_convert on arguments to
|
124 |
|
|
fold_build2 for negative divide optimization.
|
125 |
|
|
|
126 |
|
|
2008-12-23 Jakub Jelinek
|
127 |
|
|
|
128 |
|
|
PR middle-end/31150
|
129 |
|
|
* dse.c (struct store_info): Add const_rhs field.
|
130 |
|
|
(clear_rhs_from_active_local_stores): Clear also const_rhs.
|
131 |
|
|
(record_store): Try also cselib_expand_value_rtx to get a constant.
|
132 |
|
|
(find_shift_sequence, get_stored_val): Use const_rhs instead of
|
133 |
|
|
rhs if worthwhile.
|
134 |
|
|
* cselib.c (cselib_record_sets): If !cselib_record_memory and
|
135 |
|
|
there is just one set from read-only MEM, look at REG_EQUAL or
|
136 |
|
|
REG_EQUIV note.
|
137 |
|
|
|
138 |
|
|
* dse.c (struct store_info): Add redundant_reason field.
|
139 |
|
|
(record_store): When storing the same constant as has been stored by
|
140 |
|
|
an earlier store, set redundant_reason field to the earlier store's
|
141 |
|
|
insn_info_t. Don't delete cannot_delete insns.
|
142 |
|
|
(find_shift_sequence): Remove read_info argument, add read_mode
|
143 |
|
|
and require_cst arguments. Return early if require_cst and
|
144 |
|
|
constant wouldn't be returned.
|
145 |
|
|
(get_stored_val): New function.
|
146 |
|
|
(replace_read): Use it.
|
147 |
|
|
(scan_insn): Put even cannot_delete insns with exactly 1 store
|
148 |
|
|
into active_local_stores.
|
149 |
|
|
(dse_step1): Don't delete cannot_delete insns. Remove redundant
|
150 |
|
|
constant stores if contains_cselib_groups and earlier store storing
|
151 |
|
|
the same value hasn't been eliminated.
|
152 |
|
|
(dse_step6): Renamed to dse_step7. New function.
|
153 |
|
|
(dse_step7): Renamed from dse_step6.
|
154 |
|
|
(rest_of_handle_dse): Call dse_step6 and dse_step7 at the end.
|
155 |
|
|
* cselib.c (cselib_expand_value_rtx): Don't wrap CONST_INTs
|
156 |
|
|
into CONST unless really necessary. Handle SUBREG, unary,
|
157 |
|
|
ternary, bitfield and compares specially, to be able to simplify
|
158 |
|
|
operations on constants.
|
159 |
|
|
(expand_loc): Try to optimize LO_SUM.
|
160 |
|
|
|
161 |
|
|
* dse.c (get_call_args): New function.
|
162 |
|
|
(scan_insn): Don't handle BUILT_IN_BZERO. For memset, attempt
|
163 |
|
|
to get call arguments and if successful and both len and val are
|
164 |
|
|
constants, handle the call as (mem:BLK) (const_int) store.
|
165 |
|
|
|
166 |
|
|
* dse.c (struct store_info): Add is_large bool field, change
|
167 |
|
|
positions_needed into a union of a bitmask and bitmap + count.
|
168 |
|
|
(free_store_info): Free bitmap if is_large.
|
169 |
|
|
(set_usage_bits): Don't look at stores where
|
170 |
|
|
offset + width >= MAX_OFFSET.
|
171 |
|
|
(set_position_unneeded, set_all_positions_unneeded,
|
172 |
|
|
any_positions_needed_p, all_positions_needed_p): New static inline
|
173 |
|
|
functions.
|
174 |
|
|
(record_store): Handle BLKmode stores of CONST_INT, if
|
175 |
|
|
MEM_SIZE is set on the MEM. Use the new positions_needed
|
176 |
|
|
accessor inlines.
|
177 |
|
|
(replace_read): Handle reads from BLKmode CONST_INT stores.
|
178 |
|
|
(check_mem_read_rtx): Use all_positions_needed_p function.
|
179 |
|
|
(dse_step1): Free large positions_needed bitmaps and clear is_large.
|
180 |
|
|
|
181 |
|
|
* dse.c (struct store_info): Change begin and end types to
|
182 |
|
|
HOST_WIDE_INT.
|
183 |
|
|
|
184 |
|
|
* dse.c (record_store): Fix check for unused store.
|
185 |
|
|
|
186 |
|
|
* expr.c (block_clear_fn): No longer static.
|
187 |
|
|
* expr.h (block_clear_fn): Declare.
|
188 |
|
|
* dse.c (scan_insn): Memset and bzero can just read their arguments.
|
189 |
|
|
|
190 |
|
|
* config/i386/i386.c (expand_setmem_via_rep_stos): Add ORIG_VALUE
|
191 |
|
|
argument. If ORIG_VALUE is const0_rtx and COUNT is constant,
|
192 |
|
|
set MEM_SIZE on DESTMEM.
|
193 |
|
|
(ix86_expand_setmem): Adjust callers.
|
194 |
|
|
|
195 |
|
|
PR target/38488
|
196 |
|
|
* expr.h (get_mem_align_offset): New prototype.
|
197 |
|
|
* emit-rtl.c (get_mem_align_offset): New function.
|
198 |
|
|
* config/i386/i386.c (expand_movmem_via_rep_mov): Set MEM_SIZE
|
199 |
|
|
correctly.
|
200 |
|
|
(expand_constant_movmem_prologue, expand_constant_setmem_prologue):
|
201 |
|
|
New functions.
|
202 |
|
|
(ix86_expand_movmem): Optimize if COUNT_EXP
|
203 |
|
|
is constant, desired_align > align and dst & (desired_align - 1)
|
204 |
|
|
is computable at compile time.
|
205 |
|
|
(ix86_expand_setmem): Likewise.
|
206 |
|
|
|
207 |
|
|
* builtins.c (get_memory_rtx): Try to derive MEM_ATTRS from not yet
|
208 |
|
|
resolved SAVE_EXPR or POINTER_PLUS_EXPR.
|
209 |
|
|
|
210 |
|
|
2008-12-22 Uros Bizjak
|
211 |
|
|
|
212 |
|
|
* config/alpha/elf.h (ASM_OUTPUT_EXTERNAL): New macro.
|
213 |
|
|
|
214 |
|
|
PR target/34571
|
215 |
|
|
* config/alpha/predicates.md (symbolic_operand): Return 1 for a
|
216 |
|
|
label_ref with an offset.
|
217 |
|
|
|
218 |
|
|
2008-12-21 Andrew Pinski
|
219 |
|
|
|
220 |
|
|
PR target/38300
|
221 |
|
|
* configure: Regenerate.
|
222 |
|
|
|
223 |
|
|
2008-12-21 Richard Sandiford
|
224 |
|
|
|
225 |
|
|
* config/mips/mips-dsp.md (mips_lbux): Turn into a define_expand,
|
226 |
|
|
changing operand 1 to a pmode_register_operand.
|
227 |
|
|
(mips_lhx, mips_lwx): Likewise.
|
228 |
|
|
(mips_lbux_, mips_lhx_, mips_lwx_): New patterns.
|
229 |
|
|
* config/mips/mips.c (mips_prepare_builtin_arg): Get the mode of
|
230 |
|
|
the value from the argument expression.
|
231 |
|
|
|
232 |
|
|
2008-12-21 Jan Hubicka
|
233 |
|
|
Kai Tietz
|
234 |
|
|
|
235 |
|
|
* i386.md (UNSPEC_MS_TO_SYSV_CALL): New constant.
|
236 |
|
|
(call_1_rex64_ms_sysv, call_value_0_rex64_ms_sysv,
|
237 |
|
|
call_value_1_rex64_ms_sysv): New patterns.
|
238 |
|
|
* i386.c (function_arg_ms_64): Pass magical value of -2 as callarg.
|
239 |
|
|
(ix86_expand_call): Emit extra clobbers for ms->sysv ABI calls.
|
240 |
|
|
|
241 |
|
|
2008-12-21 Uros Bizjak
|
242 |
|
|
|
243 |
|
|
* config/alpha/alpha.c (alpha_pad_noreturn): New static function.
|
244 |
|
|
(alpha_reorg): Call alpha_pad_noreturn.
|
245 |
|
|
|
246 |
|
|
2008-12-21 Denis Chertykov
|
247 |
|
|
|
248 |
|
|
* config/avr/avr.md ("andsi3"): Fix wrong cc attribute.
|
249 |
|
|
|
250 |
|
|
2008-12-20 Eric Botcazou
|
251 |
|
|
|
252 |
|
|
PR target/37610
|
253 |
|
|
* configure.ac (gcc_cv_as_cfi_advance_working): Fall back to 'no'
|
254 |
|
|
if readelf is nowhere to be found.
|
255 |
|
|
* configure: Regenerate.
|
256 |
|
|
|
257 |
|
|
2008-12-19 Andrew Haley
|
258 |
|
|
|
259 |
|
|
* builtins.c, tree-ssa-loop-ivopts.c, fixed-value.c:
|
260 |
|
|
Fix comments.
|
261 |
|
|
|
262 |
|
|
2008-12-19 Richard Earnshaw
|
263 |
|
|
|
264 |
|
|
PR target/38548
|
265 |
|
|
* arm/t-linux (LIB1ASMFUNCS): Add _arm_addsubdf3 and _arm_addsubsf3.
|
266 |
|
|
* arm/lib1funcs.asm (clzsi2): Use RET macro for return instruction.
|
267 |
|
|
|
268 |
|
|
2008-12-19 Richard Earnshaw
|
269 |
|
|
|
270 |
|
|
PR bootstrap/38578
|
271 |
|
|
* arm.c (load_multiple_sequence): Initialize ORDER array.
|
272 |
|
|
(store_multiple_sequence): Likewise.
|
273 |
|
|
(output_move_double): Make reg0 unsigned.
|
274 |
|
|
(arm_output_epilogue): Make amount unsigned.
|
275 |
|
|
(arm_expand_prologue): Move declaration of dwarf before block
|
276 |
|
|
statements.
|
277 |
|
|
|
278 |
|
|
2008-12-19 Steve Ellcey
|
279 |
|
|
|
280 |
|
|
* df-scan.c (df_hard_reg_init): Move declaration of i.
|
281 |
|
|
|
282 |
|
|
2008-12-19 Jakub Jelinek
|
283 |
|
|
|
284 |
|
|
PR bootstrap/37739
|
285 |
|
|
* config.host: For powerpc*-*-linux* host with 32-bit GCC,
|
286 |
|
|
use rs6000/x-linux-relax snippet if ld is new enough,
|
287 |
|
|
otherwise use rs6000/x-linux-O1.
|
288 |
|
|
* config/rs6000/x-linux-relax: New file.
|
289 |
|
|
* config/x-cflags-O1: New file.
|
290 |
|
|
|
291 |
|
|
2008-12-18 Joseph Myers
|
292 |
|
|
|
293 |
|
|
* config/rs6000/rs6000.c (rs6000_generate_compare): Condition
|
294 |
|
|
choice of e500 comparison instructions on flag_finite_math_only &&
|
295 |
|
|
!flag_trapping_math, not flag_unsafe_math_optimizations.
|
296 |
|
|
* config/rs6000/rs6000.md (abstf2): Condition choice of e500
|
297 |
|
|
instructions on flag_finite_math_only && !flag_trapping_math, not
|
298 |
|
|
flag_unsafe_math_optimizations.
|
299 |
|
|
(bltgt, sltgt): Disable for TARGET_HARD_FLOAT && !TARGET_FPRS.
|
300 |
|
|
* config/rs6000/spe.md (cmpsfeq_gpr, tstsfeq_gpr, cmpsfgt_gpr,
|
301 |
|
|
tstsfgt_gpr, cmpsflt_gpr, tstsflt_gpr, cmpdfeq_gpr, tstdfeq_gpr,
|
302 |
|
|
cmpdfgt_gpr, tstdfgt_gpr, cmpdflt_gpr, tstdflt_gpr, cmptfeq_gpr,
|
303 |
|
|
tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr):
|
304 |
|
|
Condition choice of comparison instructions on
|
305 |
|
|
flag_finite_math_only && !flag_trapping_math, not
|
306 |
|
|
flag_unsafe_math_optimizations.
|
307 |
|
|
|
308 |
|
|
2008-12-18 Ralf Wildenhues
|
309 |
|
|
|
310 |
|
|
* configure: Regenerate.
|
311 |
|
|
|
312 |
|
|
2008-12-18 Jan Hubicka
|
313 |
|
|
Kai Tietz
|
314 |
|
|
|
315 |
|
|
* df-scan.c (persistent_obstack, df_invalidated_by_call): Remove.
|
316 |
|
|
(df_scan_start_dump, df_get_call_refs, df_hard_reg_init): Rename
|
317 |
|
|
df_invalidated_by_call to invalidated_by_call_regset.
|
318 |
|
|
* df.h (df_invalidated_by_call): Remove.
|
319 |
|
|
* regclass.c (regs_invalidated_by_call_regset, persistent_obstack):
|
320 |
|
|
New variables.
|
321 |
|
|
(init_reg_sets_1): Initialize regs_invalidated_by_call_regset.
|
322 |
|
|
(globalize_reg): Likewise.
|
323 |
|
|
* df-problems.c (df_rd_local_compute, df_lr_confluence_n,
|
324 |
|
|
df_byte_lr_alloc): Rename df_invalidated_by_call to
|
325 |
|
|
invalidated_by_call_regset.
|
326 |
|
|
* basic-block.h (regs_invalidated_by_call_regset): Declare.
|
327 |
|
|
|
328 |
|
|
2008-12-18 Jan Hubicka
|
329 |
|
|
Kai Tietz
|
330 |
|
|
|
331 |
|
|
* ira-cost.c (copy_cost): Lazilly initialize move_cost if needed.
|
332 |
|
|
|
333 |
|
|
2008-12-18 Jan Hubicka
|
334 |
|
|
Kai Tietz
|
335 |
|
|
|
336 |
|
|
* i386.h (CONDITIONAL_REGISTER_USAGE): Initialize for current
|
337 |
|
|
function ABI.
|
338 |
|
|
* i386.c (ix86_call_abi_override): Do not trigger target re-init and
|
339 |
|
|
do not try to modify call used regs.
|
340 |
|
|
(ix86_maybe_switch_abi): New function.
|
341 |
|
|
(TARGET_EXPAND_TO_RTL_HOOK): New macro.
|
342 |
|
|
|
343 |
|
|
2008-12-18 Kenneth Zadeck
|
344 |
|
|
|
345 |
|
|
PR rtl-optimization/37922
|
346 |
|
|
* dse.c (bb_info): Added regs_live field.
|
347 |
|
|
(look_for_hardregs): New function.
|
348 |
|
|
(replace_read): Added regs_live parameter and code to check that
|
349 |
|
|
shift sequence does not clobber live hardregs.
|
350 |
|
|
(check_mem_read_rtx): Added parameter to replace_read.
|
351 |
|
|
(dse_step1): Added regs_live bitmap and initialize it.
|
352 |
|
|
(rest_of_handle_dse): Added DF_NOTES problem and earlier call to
|
353 |
|
|
df_analyze.
|
354 |
|
|
* df-problems.c Renamed to df_simulate_initialize_backwards.
|
355 |
|
|
(df_simulate_one_insn): Renamed to df_simulate_one_insn_backwards.
|
356 |
|
|
(df_simulate_artificial_refs_at_top): Renamed to
|
357 |
|
|
df_simulate_finalize_backwards.
|
358 |
|
|
(df_simulate_initialized_forwards, df_simulate_one_insn_forwards,
|
359 |
|
|
df_simulate_finalize_backwards): New functions.
|
360 |
|
|
* df.h (df_simulate_artificial_refs_at_end): Renamed to
|
361 |
|
|
df_simulate_initialize_backwards.
|
362 |
|
|
(df_simulate_one_insn): Renamed to df_simulate_one_insn_backwards.
|
363 |
|
|
(df_simulate_artificial_refs_at_top): Renamed to
|
364 |
|
|
df_simulate_finalize_backwards.
|
365 |
|
|
(df_simulate_initialized_forwards, df_simulate_one_insn_forwards,
|
366 |
|
|
df_simulate_finalize_backwards): New functions.
|
367 |
|
|
* ra-conflict.c (global_conflicts): Renamed
|
368 |
|
|
df_simulate_artificial_refs_at_end to
|
369 |
|
|
df_simulate_initialize_backwards.
|
370 |
|
|
* sel-sched.c (propagate_lv_set): Renamed df_simulate_one_insn to
|
371 |
|
|
df_simulate_one_insn_backwards.
|
372 |
|
|
* ifcvt.c (dead_or_predicable): Renamed
|
373 |
|
|
df_simulate_artificial_refs_at_end to
|
374 |
|
|
df_simulate_initialize_backwards. Renamed df_simulate_one_insn to
|
375 |
|
|
df_simulate_one_insn_backwards.
|
376 |
|
|
* recog.c (peephole2_optimize): Ditto.
|
377 |
|
|
* rtl-factoring (collect_pattern_seqs, clear_regs_live_in_seq): Ditto.
|
378 |
|
|
|
379 |
|
|
2008-12-18 Jakub Jelinek
|
380 |
|
|
|
381 |
|
|
PR middle-end/38533
|
382 |
|
|
* tree-ssa-reassoc.c (remove_visited_stmt_chain): New function.
|
383 |
|
|
(rewrite_expr_tree): Add moved argument, move stmts together if
|
384 |
|
|
needed. Call remove_visited_stmt_chain.
|
385 |
|
|
(linearize_expr_tree): Don't move stmts here.
|
386 |
|
|
(reassociate_bb): Call remove_visited_stmt_chain if num ops is 1.
|
387 |
|
|
Adjust rewrite_expr_tree caller.
|
388 |
|
|
|
389 |
|
|
PR middle-end/38505
|
390 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): Return
|
391 |
|
|
false if inner_type is incomplete and outer_type is complete.
|
392 |
|
|
|
393 |
|
|
2008-12-17 Sebastian Pop
|
394 |
|
|
|
395 |
|
|
* doc/install.texi (Prerequisites): Document PPL and CLooG-PPL
|
396 |
|
|
dependences and the configure options.
|
397 |
|
|
(Configuration): Document --with-cloog, --with-ppl, --with-cloog-lib,
|
398 |
|
|
--with-ppl-lib, --with-cloog-incude, --with-ppl-include.
|
399 |
|
|
|
400 |
|
|
2008-12-17 H.J. Lu
|
401 |
|
|
|
402 |
|
|
PR middle-end/38556
|
403 |
|
|
* calls.c (expand_call): Check outgoing_reg_parm_stack_space
|
404 |
|
|
only if REG_PARM_STACK_SPACE is defined.
|
405 |
|
|
|
406 |
|
|
2008-12-17 Jan Hubicka
|
407 |
|
|
Kai Tietz
|
408 |
|
|
|
409 |
|
|
* calls.c (expand_call): Do not sibcall if
|
410 |
|
|
outgoing_reg_parm_stack_space does not match.
|
411 |
|
|
|
412 |
|
|
2008-12-16 Anatoly Sokolov
|
413 |
|
|
|
414 |
|
|
* config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
|
415 |
|
|
atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
|
416 |
|
|
devices.
|
417 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
|
418 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
|
419 |
|
|
|
420 |
|
|
2008-12-16 Hariharan Sandanagobalane
|
421 |
|
|
|
422 |
|
|
PR target/38842
|
423 |
|
|
* config/picochip/picochip.opt (mae): Squeezed the comments onto one
|
424 |
|
|
line.
|
425 |
|
|
|
426 |
|
|
2008-12-16 Rainer Orth
|
427 |
|
|
|
428 |
|
|
* configure.ac (gcc_cv_ld_hidden): Sun ld on Solaris 9 and up
|
429 |
|
|
supports hidden.
|
430 |
|
|
* configure: Regenerate.
|
431 |
|
|
|
432 |
|
|
2008-12-16 Richard Earnshaw
|
433 |
|
|
|
434 |
|
|
PR target/37436
|
435 |
|
|
* arm.c (arm_legitimate_index): Only accept addresses that are in
|
436 |
|
|
canonical form.
|
437 |
|
|
* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
|
438 |
|
|
* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
|
439 |
|
|
for operand1.
|
440 |
|
|
(extendqisi2): Likewise.
|
441 |
|
|
(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
|
442 |
|
|
predicate for operand1.
|
443 |
|
|
|
444 |
|
|
2008-12-15 Adam Nemet
|
445 |
|
|
|
446 |
|
|
* config/mips/mips.c (mips_output_conditional_branch): Assert that
|
447 |
|
|
openrands[1] is a CODE_LABEL.
|
448 |
|
|
|
449 |
|
|
2008-12-15 Richard Sandiford
|
450 |
|
|
|
451 |
|
|
* config/mips/mips.c (mips_expand_builtin_direct): Set TARGET to
|
452 |
|
|
the result of mips_prepare_builtin_target.
|
453 |
|
|
|
454 |
|
|
2008-12-15 Richard Sandiford
|
455 |
|
|
|
456 |
|
|
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_abicalls
|
457 |
|
|
if TARGET_ABICALLS is true.
|
458 |
|
|
|
459 |
|
|
2008-12-15 Richard Sandiford
|
460 |
|
|
|
461 |
|
|
* config/mips/mips.md (move_doubleword_fpr): Use
|
462 |
|
|
TARGET_FLOAT64 && !TARGET_64BIT to detect the mxhc1 case.
|
463 |
|
|
|
464 |
|
|
2008-12-15 Hariharan Sandanagobalane
|
465 |
|
|
|
466 |
|
|
* config/picochip/picochip.c (picochip_override_options): Disable CFI
|
467 |
|
|
asm and change the signature of brev and byteSwap functions to use
|
468 |
|
|
unsigned values.
|
469 |
|
|
* config/picochip/picochip.md (commsTestPort): This is a complex
|
470 |
|
|
instruction and should not be vliwed. Don't set insn type.
|
471 |
|
|
|
472 |
|
|
2008-12-15 Wolfgang Gellerich
|
473 |
|
|
* config/s390/s390.c (s390_swap_cmp): New function.
|
474 |
|
|
(s390_non_addr_reg_read_p): New function.
|
475 |
|
|
(s390_z10_optimize_cmp): New function.
|
476 |
|
|
(s390_reorg): Added call to s390_optimize_cmp.
|
477 |
|
|
* config/s390/s390.md (nop1): New insn.
|
478 |
|
|
|
479 |
|
|
2008-12-12 Rainer Emrich
|
480 |
|
|
|
481 |
|
|
PR bootstrap/38383
|
482 |
|
|
* pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Don't hardcode search path
|
483 |
|
|
for the milli.a library.
|
484 |
|
|
|
485 |
|
|
2008-12-12 Andrew Pinski
|
486 |
|
|
Peter Bergner
|
487 |
|
|
|
488 |
|
|
PR target/24779
|
489 |
|
|
* config/rs6000/rs6000.md (call_indirect_aix32): Move the load of the
|
490 |
|
|
TOC into the call pattern.
|
491 |
|
|
(call_indirect_aix64): Likewise.
|
492 |
|
|
(call_value_indirect_aix32): Likewise.
|
493 |
|
|
(call_value_indirect_aix64): Likewise.
|
494 |
|
|
(call_indirect_nonlocal_aix32_internal): New insn and split patterns
|
495 |
|
|
to split off the load of the TOC.
|
496 |
|
|
(call_indirect_nonlocal_aix32): Enable only after reload.
|
497 |
|
|
(call_indirect_nonlocal_aix64_internal): New insn and split patterns
|
498 |
|
|
to split off the load of the TOC.
|
499 |
|
|
(call_indirect_nonlocal_aix64): Enable only after reload.
|
500 |
|
|
(call_value_indirect_nonlocal_aix32_internal): New insn and split
|
501 |
|
|
patterns to split off the load of the TOC.
|
502 |
|
|
(call_value_indirect_nonlocal_aix32): Enable only after reload.
|
503 |
|
|
(call_value_indirect_nonlocal_aix64_internal): New insn and split
|
504 |
|
|
patterns to split off the load of the TOC.
|
505 |
|
|
(call_value_indirect_nonlocal_aix64): Enable only after reload.
|
506 |
|
|
|
507 |
|
|
2008-12-12 Andreas Schwab
|
508 |
|
|
|
509 |
|
|
Revert:
|
510 |
|
|
2008-12-12 Andreas Schwab
|
511 |
|
|
* cfgrtl.c (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
|
512 |
|
|
a BARRIER insn.
|
513 |
|
|
|
514 |
|
|
2008-12-12 Zdenek Dvorak
|
515 |
|
|
|
516 |
|
|
PR tree-optimization/32044
|
517 |
|
|
* tree-scalar-evolution.h (expression_expensive_p): Declare.
|
518 |
|
|
* tree-scalar-evolution.c (expression_expensive_p): New function.
|
519 |
|
|
(scev_const_prop): Avoid introducing expensive expressions.
|
520 |
|
|
* tree-ssa-loop-ivopts.c (may_eliminate_iv): Ditto.
|
521 |
|
|
|
522 |
|
|
2008-12-12 Sebastian Pop
|
523 |
|
|
|
524 |
|
|
PR middle-end/38409
|
525 |
|
|
* graphite.c (nb_reductions_in_loop): Use simple_iv.
|
526 |
|
|
|
527 |
|
|
2008-12-12 Dwarakanath Rajagopal
|
528 |
|
|
|
529 |
|
|
* config/i386/x86intrin.h: New header file to support all x86
|
530 |
|
|
intrinsics
|
531 |
|
|
* config.gcc (extra_headers): For x86 and x86-64, add x86intrin.h
|
532 |
|
|
|
533 |
|
|
2008-12-12 H.J. Lu
|
534 |
|
|
|
535 |
|
|
PR target/38402
|
536 |
|
|
* gcc/doc/md.texi: Remove Y and document Yz, Y2, Yi and Ym
|
537 |
|
|
constraints for x86.
|
538 |
|
|
|
539 |
|
|
2008-12-12 Andreas Schwab
|
540 |
|
|
|
541 |
|
|
* cfgrtl.c (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
|
542 |
|
|
a BARRIER insn.
|
543 |
|
|
|
544 |
|
|
2008-12-12 Uros Bizjak
|
545 |
|
|
|
546 |
|
|
* config/alpha/sync.md (memory_barrier): Remove mem:BLK from operands.
|
547 |
|
|
Use Pmode for scratch reg.
|
548 |
|
|
(*mb_internal): Use (match_dup 0) for unspec operand.
|
549 |
|
|
|
550 |
|
|
2008-12-12 Alexandre Oliva
|
551 |
|
|
|
552 |
|
|
* tree-vrp.c (extract_range_from_binary_expr): Don't shift by
|
553 |
|
|
floor_log2 of zero. Negate widened zero.
|
554 |
|
|
|
555 |
|
|
2008-12-12 Ben Elliston
|
556 |
|
|
|
557 |
|
|
* config/fp-bit.c (nan): Rename from this ...
|
558 |
|
|
(makenan): ... to this.
|
559 |
|
|
|
560 |
|
|
2008-12-11 Adam Nemet
|
561 |
|
|
|
562 |
|
|
* config/mips/mips.md (*branch_bit,
|
563 |
|
|
*branch_bit_inverted): Renumber operands so that the
|
564 |
|
|
label becomes operands[1].
|
565 |
|
|
|
566 |
|
|
2008-12-11 Harsha Jagasia
|
567 |
|
|
|
568 |
|
|
PR tree-optimization/38446
|
569 |
|
|
* graphite.c (register_bb_in_sese): New.
|
570 |
|
|
(bb_in_sese_p): Check if bb belongs to sese region by explicitly
|
571 |
|
|
looking at the bbs in the region.
|
572 |
|
|
* graphite.h (sese): Add region_basic_blocks pointer set to
|
573 |
|
|
structure and initialize at the time of defining new scop.
|
574 |
|
|
|
575 |
|
|
2008-12-11 Tobias Grosser
|
576 |
|
|
|
577 |
|
|
* graphite.c (new_graphite_bb): Initialize GBB_STATIC_SCHEDULE.
|
578 |
|
|
(find_params_in_bb): Do not free data refs.
|
579 |
|
|
(free_graphite_bb): Add FIXME on disabled free_data_refs.
|
580 |
|
|
|
581 |
|
|
2008-12-11 Sebastian Pop
|
582 |
|
|
|
583 |
|
|
* graphite.c (struct ivtype_map_elt): New.
|
584 |
|
|
(debug_ivtype_elt, debug_ivtype_map_1, debug_ivtype_map,
|
585 |
|
|
new_ivtype_map_elt, ivtype_map_elt_info, eq_ivtype_map_elts,
|
586 |
|
|
gcc_type_for_cloog_iv): New.
|
587 |
|
|
(loop_iv_stack_patch_for_consts): Use the type of the induction
|
588 |
|
|
variable from the original loop, except for the automatically
|
589 |
|
|
generated loops, i.e., in the case of a strip-mined loop, in
|
590 |
|
|
which case there is no original loop: in that case just use
|
591 |
|
|
integer_type_node.
|
592 |
|
|
(new_graphite_bb): Initialize GBB_CLOOG_IV_TYPES.
|
593 |
|
|
(free_graphite_bb): Free GBB_CLOOG_IV_TYPES.
|
594 |
|
|
(clast_name_to_gcc): Accept params to be NULL.
|
595 |
|
|
(clast_to_gcc_expression): Take an extra parameter for the type.
|
596 |
|
|
Convert to that type all the expressions built by this function.
|
597 |
|
|
(gcc_type_for_clast_expr, gcc_type_for_clast_eq): New.
|
598 |
|
|
(graphite_translate_clast_equation): Compute the type of the
|
599 |
|
|
clast_equation before translating its LHS and RHS.
|
600 |
|
|
(clast_get_body_of_loop, gcc_type_for_iv_of_clast_loop): New.
|
601 |
|
|
(graphite_create_new_loop): Compute the type of the induction
|
602 |
|
|
variable before translating the lower and upper bounds and before
|
603 |
|
|
creating the induction variable.
|
604 |
|
|
(rename_variables_from_edge, rename_phis_end_scop): New.
|
605 |
|
|
(copy_bb_and_scalar_dependences): Call rename_phis_end_scop.
|
606 |
|
|
(sese_add_exit_phis_edge): Do not use integer_zero_node.
|
607 |
|
|
(find_cloog_iv_in_expr, compute_cloog_iv_types_1,
|
608 |
|
|
compute_cloog_iv_types): New.
|
609 |
|
|
(gloog): Call compute_cloog_iv_types before starting the
|
610 |
|
|
translation of the clast.
|
611 |
|
|
|
612 |
|
|
* graphite.h (struct graphite_bb): New field cloog_iv_types.
|
613 |
|
|
(GBB_CLOOG_IV_TYPES): New.
|
614 |
|
|
(debug_ivtype_map): Declared.
|
615 |
|
|
(oldiv_for_loop): New.
|
616 |
|
|
|
617 |
|
|
2008-12-10 Tobias Grosser
|
618 |
|
|
|
619 |
|
|
PR middle-end/38459
|
620 |
|
|
* graphite.c (new_scop): Initialize SCOP_ADD_PARAMS.
|
621 |
|
|
(param_index): Assert if parameter is not know after parameter
|
622 |
|
|
detection.
|
623 |
|
|
(find_params_in_bb): Detect params directly in GBB_CONDITIONS.
|
624 |
|
|
(find_scop_parameters): Mark, that we have finished parameter
|
625 |
|
|
detection.
|
626 |
|
|
(graphite_transform_loops): Move condition detection before parameter
|
627 |
|
|
detection.
|
628 |
|
|
* graphite.h (struct scop): Add SCOP_ADD_PARAMS.
|
629 |
|
|
|
630 |
|
|
2008-12-11 John David Anglin
|
631 |
|
|
|
632 |
|
|
PR testsuite/35677
|
633 |
|
|
* emutls.c (__emutls_get_address): Make sure offset is really zero
|
634 |
|
|
before initializing the object's offset.
|
635 |
|
|
|
636 |
|
|
2008-12-11 Jakub Jelinek
|
637 |
|
|
|
638 |
|
|
PR c++/38253
|
639 |
|
|
* gimplify.c (gimplify_init_constructor): Don't force constructor
|
640 |
|
|
into memory if there is just one nonzero element.
|
641 |
|
|
|
642 |
|
|
2008-12-11 Sebastian Pop
|
643 |
|
|
|
644 |
|
|
Fix testsuite/gfortran.dg/graphite/id-4.f90.
|
645 |
|
|
* graphite.c (scan_tree_for_params): Do not compute the multiplicand
|
646 |
|
|
when not needed.
|
647 |
|
|
|
648 |
|
|
2008-12-11 Sebastian Pop
|
649 |
|
|
|
650 |
|
|
* graphite.c (build_scops_1): Initialize open_scop.exit
|
651 |
|
|
and sinfo.last.
|
652 |
|
|
|
653 |
|
|
2008-12-11 Sebastian Pop
|
654 |
|
|
Jan Sjodin
|
655 |
|
|
Harsha Jagasia
|
656 |
|
|
|
657 |
|
|
PR middle-end/37852
|
658 |
|
|
PR middle-end/37883
|
659 |
|
|
PR middle-end/37928
|
660 |
|
|
PR middle-end/37980
|
661 |
|
|
PR middle-end/38038
|
662 |
|
|
PR middle-end/38039
|
663 |
|
|
PR middle-end/38073
|
664 |
|
|
PR middle-end/38083
|
665 |
|
|
PR middle-end/38125
|
666 |
|
|
|
667 |
|
|
* tree-phinodes.c (remove_phi_nodes): New, extracted from...
|
668 |
|
|
* tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block):
|
669 |
|
|
... here.
|
670 |
|
|
* tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
|
671 |
|
|
* Makefile.in (graphite.o): Depend on value-prof.h.
|
672 |
|
|
(graphite.o-warn): Removed -Wno-error.
|
673 |
|
|
* tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list
|
674 |
|
|
to be a NULL pointer. Call update_stmt. Return the newly created
|
675 |
|
|
cannonical induction variable.
|
676 |
|
|
|
677 |
|
|
* graphite.h (debug_rename_map): Declared. Fix some comments.
|
678 |
|
|
|
679 |
|
|
* graphite.c: Reimplement the code generation from graphite to gimple.
|
680 |
|
|
Include value-prof.h.
|
681 |
|
|
(loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
|
682 |
|
|
(get_old_iv_from_ssa_name): Removed.
|
683 |
|
|
(graphite_stmt_p): New.
|
684 |
|
|
(new_graphite_bb): Test for useful statements before building a
|
685 |
|
|
graphite statement for the basic block.
|
686 |
|
|
(free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
|
687 |
|
|
in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without reason.
|
688 |
|
|
(recompute_all_dominators, graphite_verify,
|
689 |
|
|
nb_reductions_in_loop, graphite_loop_normal_form): New.
|
690 |
|
|
(scop_record_loop): Call graphite_loop_normal_form.
|
691 |
|
|
(build_scop_loop_nests): Iterate over all the blocks of the
|
692 |
|
|
function instead of relying on the incomplete information from
|
693 |
|
|
SCOP_BBS. Return the success of the operation.
|
694 |
|
|
(find_params_in_bb): Use the data from GBB_DATA_REFS.
|
695 |
|
|
(add_bb_domains): Removed.
|
696 |
|
|
(build_loop_iteration_domains): Don't call add_bb_domains.
|
697 |
|
|
Add the iteration domain only to the basic blocks that have been
|
698 |
|
|
translated to graphite.
|
699 |
|
|
(build_scop_conditions_1): Add constraints only if the basic
|
700 |
|
|
block have been translated to graphite.
|
701 |
|
|
(build_scop_data_accesses): Completely disabled until data
|
702 |
|
|
dependence is correctly implemented.
|
703 |
|
|
(debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
|
704 |
|
|
(remove_all_edges_1, remove_all_edges): Removed.
|
705 |
|
|
(get_new_name_from_old_name): New.
|
706 |
|
|
(graphite_rename_variables_in_stmt): Renamed.
|
707 |
|
|
rename_variables_in_stmt. Call get_new_name_from_old_name.
|
708 |
|
|
Use replace_exp and update_stmt.
|
709 |
|
|
(is_old_iv): Renamed is_iv.
|
710 |
|
|
(expand_scalar_variables_stmt): Extra parameter for renaming map.
|
711 |
|
|
Use replace_exp and update_stmt.
|
712 |
|
|
(expand_scalar_variables_expr): Same. Use the map to get the
|
713 |
|
|
new names for the renaming of induction variables and for the
|
714 |
|
|
renaming of variables after a basic block has been copied.
|
715 |
|
|
(expand_scalar_variables): Same.
|
716 |
|
|
(graphite_rename_variables): Renamed rename_variables.
|
717 |
|
|
(move_phi_nodes): Removed.
|
718 |
|
|
(get_false_edge_from_guard_bb): New.
|
719 |
|
|
(build_iv_mapping): Do not insert the induction variable of a
|
720 |
|
|
loop in the renaming iv map if the basic block does not belong
|
721 |
|
|
to that loop.
|
722 |
|
|
(register_old_new_names, graphite_copy_stmts_from_block,
|
723 |
|
|
copy_bb_and_scalar_dependences): New.
|
724 |
|
|
(translate_clast): Heavily reimplemented: copy basic blocks,
|
725 |
|
|
do not move them. Finally, in call cleanup_tree_cfg in gloog.
|
726 |
|
|
At each translation step call graphite_verify ensuring the
|
727 |
|
|
consistency of the SSA, loops and dominators information.
|
728 |
|
|
(collect_virtual_phis, find_vdef_for_var_in_bb,
|
729 |
|
|
find_vdef_for_var_1, find_vdef_for_var,
|
730 |
|
|
patch_phis_for_virtual_defs): Removed huge hack.
|
731 |
|
|
(mark_old_loops, remove_dead_loops, skip_phi_defs,
|
732 |
|
|
collect_scop_exit_phi_args, patch_scop_exit_phi_args,
|
733 |
|
|
gbb_can_be_ignored, scop_remove_ignoreable_gbbs): Removed.
|
734 |
|
|
(remove_sese_region, ifsese, if_region_entry, if_region_exit,
|
735 |
|
|
if_region_get_condition_block, if_region_set_false_region,
|
736 |
|
|
create_if_region_on_edge, move_sese_in_condition, bb_in_sese_p,
|
737 |
|
|
sese_find_uses_to_rename_use, sese_find_uses_to_rename_bb,
|
738 |
|
|
sese_add_exit_phis_edge, sese_add_exit_phis_var,
|
739 |
|
|
rewrite_into_sese_closed_ssa): New.
|
740 |
|
|
(gloog): Remove dead code. Early return if code cannot be
|
741 |
|
|
generated. Call cleanup_tree_cfg once the scop has been code
|
742 |
|
|
generated.
|
743 |
|
|
(graphite_trans_scop_block, graphite_trans_loop_block): Do not
|
744 |
|
|
block loops with less than two loops.
|
745 |
|
|
(graphite_apply_transformations): Remove the call to
|
746 |
|
|
scop_remove_ignoreable_gbbs.
|
747 |
|
|
(limit_scops): When build_scop_loop_nests fails, continue on next
|
748 |
|
|
scop. Fix open_scop.entry.
|
749 |
|
|
(graphite_transform_loops): Call recompute_all_dominators: force the
|
750 |
|
|
recomputation of correct CDI_DOMINATORS and CDI_POST_DOMINATORS.
|
751 |
|
|
Call initialize_original_copy_tables and free_original_copy_tables
|
752 |
|
|
to be able to copy basic blocks during code generation.
|
753 |
|
|
When build_scop_loop_nests fails, continue on next scop.
|
754 |
|
|
(value_clast): New union.
|
755 |
|
|
(clast_to_gcc_expression): Fix type cast warning.
|
756 |
|
|
|
757 |
|
|
2008-12-10 Richard Guenther
|
758 |
|
|
|
759 |
|
|
PR tree-optimization/36792
|
760 |
|
|
* tree-ssa-pre.c (compute_avail): Handle tcc_comparison like
|
761 |
|
|
tcc_binary.
|
762 |
|
|
|
763 |
|
|
2008-12-10 Daniel Berlin
|
764 |
|
|
|
765 |
|
|
PR tree-optimization/36792
|
766 |
|
|
* tree-ssa-pre.c (compute_avail): Don't insert defs into maximal set.
|
767 |
|
|
|
768 |
|
|
2008-12-10 Alexandre Oliva
|
769 |
|
|
|
770 |
|
|
PR target/37033
|
771 |
|
|
* dwarf2out.c (saved_do_cfi_asm): New.
|
772 |
|
|
(dwarf2out_do_frame): Take it into account.
|
773 |
|
|
(dwarf2out_d_cfi_asm): Likewise. Set it when appropriate.
|
774 |
|
|
|
775 |
|
|
2008-12-10 Alexandre Oliva
|
776 |
|
|
|
777 |
|
|
PR middle-end/38271
|
778 |
|
|
* tree-sra.c (sra_build_bf_assignment): Avoid warnings for
|
779 |
|
|
variables initialized from SRAed bit fields.
|
780 |
|
|
|
781 |
|
|
2008-12-10 Martin Guy
|
782 |
|
|
|
783 |
|
|
PR target/37668
|
784 |
|
|
* arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
|
785 |
|
|
result will be in an FPU register.
|
786 |
|
|
|
787 |
|
|
2008-12-10 Eric Botcazou
|
788 |
|
|
|
789 |
|
|
PR target/37170
|
790 |
|
|
PR target/38448
|
791 |
|
|
* final.c (output_addr_const) : Call assemble_external
|
792 |
|
|
on the associated SYMBOL_REF_DECL node, if any.
|
793 |
|
|
|
794 |
|
|
2008-12-09 David Daney
|
795 |
|
|
|
796 |
|
|
* config/mips/sync.md (sync__12): Replace
|
797 |
|
|
MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND.
|
798 |
|
|
(sync_old__12): Remove third paramater to
|
799 |
|
|
MIPS_SYNC_OLD_OP_12 macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOP
|
800 |
|
|
with MIPS_SYNC_OLD_OP_12_AND.
|
801 |
|
|
(sync_new__12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOP
|
802 |
|
|
with MIPS_SYNC_NEW_OP_12_AND.
|
803 |
|
|
(sync_nand_12): Replace MIPS_SYNC_OP_12_NOT_NOT with
|
804 |
|
|
MIPS_SYNC_OP_12_XOR, reduce length attribute to 40.
|
805 |
|
|
(sync_old_nand_12): Remove third paramater to MIPS_SYNC_OLD_OP_12
|
806 |
|
|
macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOT with
|
807 |
|
|
MIPS_SYNC_OLD_OP_12_XOR and reduce length attribute to 40.
|
808 |
|
|
(sync_new_nand_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOT with
|
809 |
|
|
MIPS_SYNC_NEW_OP_12_XOR.
|
810 |
|
|
* config/mips/mips.h (MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
|
811 |
|
|
MIPS_SYNC_OP_12_NOT_NOT,MIPS_SYNC_OLD_OP_12_NOT_NOP,
|
812 |
|
|
MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_NEW_OP_12,
|
813 |
|
|
MIPS_SYNC_NEW_OP_12_NOT_NOP, MIPS_SYNC_NEW_OP_12_NOT_NOT,
|
814 |
|
|
MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Rewritten
|
815 |
|
|
to implement new __sync_nand semantics.
|
816 |
|
|
(MIPS_SYNC_OLD_OP_12): Implement new __sync_nand semantics, and
|
817 |
|
|
remove third parameter.
|
818 |
|
|
(MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
|
819 |
|
|
MIPS_SYNC_OLD_OP_12_NOT_NOT_REG): Removed.
|
820 |
|
|
(MIPS_SYNC_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OP_12_AND.
|
821 |
|
|
(MIPS_SYNC_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OP_12_XOR.
|
822 |
|
|
(MIPS_SYNC_OLD_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OLD_OP_12_AND.
|
823 |
|
|
(MIPS_SYNC_OLD_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OLD_OP_12_XOR.
|
824 |
|
|
(MIPS_SYNC_NEW_OP_12_NOT_NOP): Renamed to MIPS_SYNC_NEW_OP_12_AND.
|
825 |
|
|
(MIPS_SYNC_NEW_OP_12_NOT_NOT): Renamed to MIPS_SYNC_NEW_OP_12_XOR
|
826 |
|
|
|
827 |
|
|
2008-12-09 Tobias Grosser
|
828 |
|
|
|
829 |
|
|
* graphite.c (graphite_transform_loops): Always call find_transform ()
|
830 |
|
|
in ENABLE_CHECKING. So we test these code paths, even if we do not
|
831 |
|
|
generate code.
|
832 |
|
|
|
833 |
|
|
2008-12-09 Tobias Grosser
|
834 |
|
|
|
835 |
|
|
* graphite.c (print_graphite_bb): Fix printing to file != dump_file.
|
836 |
|
|
|
837 |
|
|
2008-12-09 Jakub Jelinek
|
838 |
|
|
|
839 |
|
|
PR middle-end/38454
|
840 |
|
|
* function.h (struct function): Add always_inline_functions_inlined.
|
841 |
|
|
* ipa-inline.c (cgraph_early_inlining): Set it to true.
|
842 |
|
|
* tree-optimize.c (execute_fixup_cfg): Likewise.
|
843 |
|
|
* builtins.c (avoid_folding_inline_builtin): New function.
|
844 |
|
|
(fold_call_expr): Don't optimize always_inline builtins before
|
845 |
|
|
inlining.
|
846 |
|
|
(fold_call_stmt): Likewise.
|
847 |
|
|
(fold_builtin_call_array): Likewise. Don't call
|
848 |
|
|
fold_builtin_varargs for BUILT_IN_MD builtins.
|
849 |
|
|
|
850 |
|
|
PR tree-optimization/37416
|
851 |
|
|
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.
|
852 |
|
|
|
853 |
|
|
2008-12-09 Janis Johnson
|
854 |
|
|
|
855 |
|
|
* doc/sourcebuild.texi (Test Directives): Fix formatting.
|
856 |
|
|
|
857 |
|
|
2008-12-09 Vladimir Makarov
|
858 |
|
|
|
859 |
|
|
* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
|
860 |
|
|
|
861 |
|
|
* doc/invoke.texi (-fira-region): Describe new option.
|
862 |
|
|
(-fira-algorithm): Change the values.
|
863 |
|
|
|
864 |
|
|
* ira-conflicts.c (build_conflict_bit_table,
|
865 |
|
|
build_allocno_conflicts): Use ira_reg_classes_intersect_p.
|
866 |
|
|
(ira_build_conflicts): Use flag flag_ira_region instead of
|
867 |
|
|
flag_ira_algorithm. Prohibit usage of callee-saved likely spilled
|
868 |
|
|
base registers for allocnos crossing calls.
|
869 |
|
|
|
870 |
|
|
* flags.h (enum ira_algorithm): Redefine.
|
871 |
|
|
(enum ira_region): New.
|
872 |
|
|
(flag_ira_region): New.
|
873 |
|
|
|
874 |
|
|
* cfgloopanal.c (estimate_reg_pressure_cost): Use flag_ira_region
|
875 |
|
|
instead of flag_ira_algorithm.
|
876 |
|
|
|
877 |
|
|
* toplev.c (flag_ira_algorithm): Change the initial value.
|
878 |
|
|
(flag_ira_region): New.
|
879 |
|
|
|
880 |
|
|
* ira-int.h (ira_reg_classes_intersect_p,
|
881 |
|
|
ira_reg_class_super_classes): New.
|
882 |
|
|
|
883 |
|
|
* ira-color.c (update_copy_costs): Use
|
884 |
|
|
ira_reg_classes_intersect_p. Use right class to find hard reg index.
|
885 |
|
|
(update_conflict_hard_regno_costs): Ditto. Add a new parameter.
|
886 |
|
|
(assign_hard_reg): Ditto. Pass additional argument to
|
887 |
|
|
update_conflict_hard_regno_costs. Do not uncoalesce for priority
|
888 |
|
|
coloring.
|
889 |
|
|
(allocno_priorities, setup_allocno_priorities,
|
890 |
|
|
allocno_priority_compare_func): Move before color_allocnos.
|
891 |
|
|
(color_allocnos): Add priority coloring. Use flag flag_ira_region
|
892 |
|
|
instead of flag_ira_algorithm.
|
893 |
|
|
(move_spill_restore): Check classes of the same reg allocno from
|
894 |
|
|
different regions.
|
895 |
|
|
(update_curr_costs): Use ira_reg_classes_intersect_p.
|
896 |
|
|
(ira_reassign_conflict_allocnos): Ditto.
|
897 |
|
|
|
898 |
|
|
* opts.c (decode_options): Always set up flag_ira. Set up
|
899 |
|
|
flag_ira_algorithm. Warn CB can not be used for architecture.
|
900 |
|
|
(common_handle_option): Modify code for -fira-algorithm. Add code
|
901 |
|
|
to process -fira-region.
|
902 |
|
|
|
903 |
|
|
* ira-lives.c (update_allocno_pressure_excess_length): Process
|
904 |
|
|
superclasses too.
|
905 |
|
|
(set_allocno_live, clear_allocno_live, mark_reg_live,
|
906 |
|
|
mark_reg_dead, process_bb_node_lives): Ditto.
|
907 |
|
|
|
908 |
|
|
* ira-emit.c (ira_emit): Fix insn codes.
|
909 |
|
|
|
910 |
|
|
* ira-build.c (propagate_allocno_info): Use flag flag_ira_region
|
911 |
|
|
instead of flag_ira_algorithm.
|
912 |
|
|
(allocno_range_compare_func): Ignore classes for priority coloring.
|
913 |
|
|
(setup_min_max_conflict_allocno_ids): Ditto.
|
914 |
|
|
(ira_flattening): Use ira_reg_classes_intersect_p.
|
915 |
|
|
|
916 |
|
|
* genpreds.c (write_enum_constraint_num): Output CONSTRAINT__LIMIT.
|
917 |
|
|
|
918 |
|
|
* common.opt (fira-algorithm): Modify.
|
919 |
|
|
(fira-region): New.
|
920 |
|
|
|
921 |
|
|
* ira.c (setup_class_hard_regs): Initialize.
|
922 |
|
|
(setup_cover_and_important_classes): Modify code setting class
|
923 |
|
|
related info for priority coloring.
|
924 |
|
|
(setup_class_translate): Ditto.
|
925 |
|
|
(ira_reg_classes_intersect_p, ira_reg_class_super_classes): New.
|
926 |
|
|
(setup_reg_class_intersect_union): Rename to
|
927 |
|
|
setup_reg_class_relations. Add code for setting up new variables.
|
928 |
|
|
(find_reg_class_closure): Do not check targetm.ira_cover_classes.
|
929 |
|
|
(ira): Use flag flag_ira_region instead of flag_ira_algorithm.
|
930 |
|
|
|
931 |
|
|
* ira-costs.c (common_classes): New.
|
932 |
|
|
(print_costs): Use flag flag_ira_region instead of flag_ira_algorithm.
|
933 |
|
|
(find_allocno_class_costs): Ditto. Use common_classes. Translate
|
934 |
|
|
alt_class.
|
935 |
|
|
(ira_costs): Allocate/deallocate common_classes.
|
936 |
|
|
|
937 |
|
|
* config/m32c/m32.h (REG_ALLOC_ORDER): Add reg 19.
|
938 |
|
|
(REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): New entries for
|
939 |
|
|
R02A_REGS.
|
940 |
|
|
|
941 |
|
|
* reload1.c (choose_reload_regs): Use MODE_INT for partial ints in
|
942 |
|
|
smallest_mode_for_size.
|
943 |
|
|
|
944 |
|
|
2008-12-10 Ben Elliston
|
945 |
|
|
|
946 |
|
|
* config/rs6000/linux-unwind.h (get_regs): Constify casts.
|
947 |
|
|
|
948 |
|
|
2008-12-09 Jan Hubicka
|
949 |
|
|
|
950 |
|
|
* predict.c (estimate_bb_frequencies): Fix test if profile is present.
|
951 |
|
|
|
952 |
|
|
2008-12-09 Jakub Jelinek
|
953 |
|
|
|
954 |
|
|
PR tree-optimization/35468
|
955 |
|
|
* tree-ssa-ccp.c (fold_stmt_r): Don't fold reads from constant
|
956 |
|
|
string on LHS.
|
957 |
|
|
|
958 |
|
|
2008-12-09 Richard Guenther
|
959 |
|
|
|
960 |
|
|
PR tree-optimization/38445
|
961 |
|
|
* tree-ssa-structalias.c (emit_pointer_definition): Only visit
|
962 |
|
|
names once.
|
963 |
|
|
(emit_alias_warning): Adjust.
|
964 |
|
|
|
965 |
|
|
2008-12-09 Andrew Haley
|
966 |
|
|
|
967 |
|
|
* fixed-value.c (do_fixed_add): Add comment.
|
968 |
|
|
* tree-ssa-loop-ivopts.c (iv_ca_cost): Likewise.
|
969 |
|
|
* builtins.c (fold_builtin_sqrt): Likewise.
|
970 |
|
|
|
971 |
|
|
2008-12-09 Kai Tietz
|
972 |
|
|
|
973 |
|
|
PR/38366
|
974 |
|
|
* function.c (aggregate_value_p): Get fntype from CALL_EXPR in any
|
975 |
|
|
case.
|
976 |
|
|
* calls.c (nitialize_argument_information): Add fntype argument
|
977 |
|
|
and use it for calls.promote_function_args.
|
978 |
|
|
(expand_call): Pass fntype to aggregate_value_p if no fndecl
|
979 |
|
|
available and pass additional fntype to
|
980 |
|
|
initialize_argument_information.
|
981 |
|
|
* config/i386/i386.c (ix86_reg_parm_stack_space): Remove cfun part
|
982 |
|
|
to get function abi type.
|
983 |
|
|
(init_cumulative_args): Use for abi kind detection fntype, when no
|
984 |
|
|
fndecl is available.
|
985 |
|
|
|
986 |
|
|
2008-12-09 Andreas Krebbel
|
987 |
|
|
|
988 |
|
|
* config/s390/s390.md (movti, movdi_64, movdi_31,
|
989 |
|
|
*movsi_zarch, *movhi, *movqi, *mov_64, *mov_31,
|
990 |
|
|
*mov_64dfp, *mov_64, *mov_31, mov): Remove
|
991 |
|
|
Q->Q alternative.
|
992 |
|
|
(Integer->BLKmode splitter): Removed.
|
993 |
|
|
|
994 |
|
|
2008-12-08 Uros Bizjak
|
995 |
|
|
|
996 |
|
|
* config/alpha/alpha.c (alpha_set_memflags): Process memory
|
997 |
|
|
references in full insn sequence.
|
998 |
|
|
|
999 |
|
|
2008-12-09 Jason Merrill
|
1000 |
|
|
|
1001 |
|
|
* gimplify.c (gimplify_init_constructor): Revert to using < rather
|
1002 |
|
|
than <= for sparseness test.
|
1003 |
|
|
|
1004 |
|
|
PR c++/38410
|
1005 |
|
|
* gimplify.c (gimplify_init_constructor): Don't write out a static
|
1006 |
|
|
copy of the CONSTRUCTOR for TREE_ADDRESSABLE types or small sparse
|
1007 |
|
|
initializers.
|
1008 |
|
|
|
1009 |
|
|
2008-12-09 Tobias Grosser
|
1010 |
|
|
|
1011 |
|
|
PR middle-end/38084
|
1012 |
|
|
Fix testsuite/gfortran.dg/graphite/id-3.f90.
|
1013 |
|
|
* graphite.c (scopdet_basic_block_info): Fix bug that found some
|
1014 |
|
|
regions more than once.
|
1015 |
|
|
|
1016 |
|
|
2008-12-09 Ben Elliston
|
1017 |
|
|
|
1018 |
|
|
* emutls.c (__emutls_get_address): Prototype.
|
1019 |
|
|
(__emutls_register_common): Likewise.
|
1020 |
|
|
|
1021 |
|
|
* config/dfp-bit.c (DFP_TO_INT): Remove unnecessary cast.
|
1022 |
|
|
|
1023 |
|
|
2008-12-09 Ben Elliston
|
1024 |
|
|
|
1025 |
|
|
* config/rs6000/darwin-ldouble.c (fmsub): Remove unused variable, v.
|
1026 |
|
|
|
1027 |
|
|
2008-12-08 Steve Ellcey
|
1028 |
|
|
|
1029 |
|
|
* config/ia64/ia64.md (UNSPECV_GOTO_RECEIVER): New constant.
|
1030 |
|
|
(nonlocal_goto_receiver): New instruction.
|
1031 |
|
|
|
1032 |
|
|
2008-12-08 Jakub Jelinek
|
1033 |
|
|
|
1034 |
|
|
PR c/35443
|
1035 |
|
|
* c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.
|
1036 |
|
|
|
1037 |
|
|
PR c/35442
|
1038 |
|
|
* c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
|
1039 |
|
|
VIEW_CONVERT_EXPR the same as CASE_CONVERT.
|
1040 |
|
|
|
1041 |
|
|
2008-12-08 Richard Henderson
|
1042 |
|
|
|
1043 |
|
|
PR 38240
|
1044 |
|
|
* tree.h (TYPE_MODE): Invoke vector_type_mode when needed.
|
1045 |
|
|
(SET_TYPE_MODE): New.
|
1046 |
|
|
* c-decl.c (parser_xref_tag): Use it.
|
1047 |
|
|
(finish_enum): Likewise.
|
1048 |
|
|
* tree.c (build_pointer_type_for_mode): Likewise.
|
1049 |
|
|
(build_reference_type_for_mode, build_index_type): Likewise.
|
1050 |
|
|
(build_range_type, make_vector_type): Likewise.
|
1051 |
|
|
(build_common_tree_nodes_2): Likewise.
|
1052 |
|
|
* stor-layout.c (compute_record_mode): Likewise.
|
1053 |
|
|
(finalize_type_size, layout_type, make_fract_type): Likewise.
|
1054 |
|
|
(make_accum_type, initialize_sizetypes): Likewise.
|
1055 |
|
|
(vector_type_mode): New.
|
1056 |
|
|
* function.c (allocate_struct_function): Call
|
1057 |
|
|
invoke_set_current_function_hook before querying anything else.
|
1058 |
|
|
|
1059 |
|
|
* config/i386/i386.c (ix86_valid_target_attribute_inner_p): Add avx.
|
1060 |
|
|
|
1061 |
|
|
2008-12-08 Luis Machado
|
1062 |
|
|
|
1063 |
|
|
* alias.c (find_base_term): Synch LO_SUM handling with what
|
1064 |
|
|
find_base_value does.
|
1065 |
|
|
|
1066 |
|
|
2008-12-08 Andrew Haley
|
1067 |
|
|
Kamaraju Kusumanchi
|
1068 |
|
|
|
1069 |
|
|
* gimple.h (gimple_build_try): Fix declaration.
|
1070 |
|
|
|
1071 |
|
|
* builtins.c (fold_builtin_sqrt): Don't use a conditional operator.
|
1072 |
|
|
* fixed-value.c (do_fixed_add): Likewise.
|
1073 |
|
|
* tree-ssa-loop-ivopts.c (iv_ca_cost): Likewise.
|
1074 |
|
|
|
1075 |
|
|
2008-12-08 Jakub Jelinek
|
1076 |
|
|
|
1077 |
|
|
PR middle-end/36802
|
1078 |
|
|
* omp-low.c (use_pointer_for_field): Only call maybe_lookup_decl
|
1079 |
|
|
on parallel and task contexts.
|
1080 |
|
|
|
1081 |
|
|
2008-12-07 Eric Botcazou
|
1082 |
|
|
|
1083 |
|
|
* gimple.c (recalculate_side_effects) : New case.
|
1084 |
|
|
|
1085 |
|
|
2008-12-07 Richard Guenther
|
1086 |
|
|
|
1087 |
|
|
PR tree-optimization/38405
|
1088 |
|
|
* tree-vrp.c (simplify_truth_ops_using_ranges): Make sure to
|
1089 |
|
|
not sign-extend truth values.
|
1090 |
|
|
|
1091 |
|
|
2008-12-07 Eric Botcazou
|
1092 |
|
|
|
1093 |
|
|
* tree-sra.c (scalarize_use): Create another temporary with the proper
|
1094 |
|
|
type for signed types in the use_all && !is_output bitfield case.
|
1095 |
|
|
|
1096 |
|
|
2008-12-06 Steven Bosscher
|
1097 |
|
|
|
1098 |
|
|
PR rtl-optimization/36365
|
1099 |
|
|
* df-core.c (df_worklist_dataflow_overeager): Remove.
|
1100 |
|
|
(df_worklist_dataflow): Don't call it, use double-queue only.
|
1101 |
|
|
* params.def (PARAM_DF_DOUBLE_QUQUQ_THRESHOLD_FACTOR): Remove.
|
1102 |
|
|
|
1103 |
|
|
2008-12-06 Jakub Jelinek
|
1104 |
|
|
|
1105 |
|
|
PR middle-end/38428
|
1106 |
|
|
* tree-ssa-operands.c (get_expr_operands) : Set
|
1107 |
|
|
gimple_set_has_volatile_ops if the BIT_FIELD_REF is volatile.
|
1108 |
|
|
|
1109 |
|
|
2008-12-07 Ben Elliston
|
1110 |
|
|
|
1111 |
|
|
* gthr-single.h (__gthread_once): Adjust prototype to match all
|
1112 |
|
|
other gthreads models.
|
1113 |
|
|
|
1114 |
|
|
2008-12-06 Jakub Jelinek
|
1115 |
|
|
|
1116 |
|
|
* config/i386/i386.c (override_options): Use CPU_AMDFAM10
|
1117 |
|
|
instead of PROCESSOR_AMDFAM10 for barcelona's schedule.
|
1118 |
|
|
|
1119 |
|
|
PR middle-end/38422
|
1120 |
|
|
* fold-const.c (fold_unary) : Don't convert MULT_EXPR
|
1121 |
|
|
operands to mult_type if it isn't narrower than op0's type.
|
1122 |
|
|
|
1123 |
|
|
2008-12-06 Jan Hubicka
|
1124 |
|
|
Jakub Jelinek
|
1125 |
|
|
|
1126 |
|
|
PR tree-optimization/38074
|
1127 |
|
|
* cgraphbuild.c (compute_call_stmt_bb_frequency): Fix handling of 0
|
1128 |
|
|
entry frequency.
|
1129 |
|
|
* predict.c (combine_predictions_for_bb): Ignore predictor predicting
|
1130 |
|
|
in both dirrection for first match heuristics.
|
1131 |
|
|
(tree_bb_level_predictions): Disable noreturn heuristic when there
|
1132 |
|
|
is no returning path.
|
1133 |
|
|
|
1134 |
|
|
2008-12-05 Bernd Schmidt
|
1135 |
|
|
|
1136 |
|
|
PR rtl-optimization/38272
|
1137 |
|
|
* reload1.c (choose_reload_regs): Keep reload_spill_index correct
|
1138 |
|
|
in all cases.
|
1139 |
|
|
|
1140 |
|
|
2008-12-05 Jakub Jelinek
|
1141 |
|
|
|
1142 |
|
|
PR c++/35336
|
1143 |
|
|
* c-pretty-print.c (pp_c_postfix_expression): Handle BIT_FIELD_REF.
|
1144 |
|
|
(pp_c_expression): Likewise.
|
1145 |
|
|
|
1146 |
|
|
2008-12-05 Michael Meissner
|
1147 |
|
|
|
1148 |
|
|
PR c/38416
|
1149 |
|
|
* c-parser.c (struct c_token): Make pragma_kind 8 bits.
|
1150 |
|
|
|
1151 |
|
|
2008-12-05 Jakub Jelinek
|
1152 |
|
|
|
1153 |
|
|
PR middle-end/37248
|
1154 |
|
|
* fold-const.c (make_bit_field_ref): Change bitpos and bitsize
|
1155 |
|
|
arguments to HOST_WIDE_INT. If type has different signedness
|
1156 |
|
|
than unsignedp or different precision from bitsize, create
|
1157 |
|
|
the right type for BIT_FIELD_REF and cast to type.
|
1158 |
|
|
(fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.
|
1159 |
|
|
|
1160 |
|
|
Revert:
|
1161 |
|
|
2008-03-05 Richard Guenther
|
1162 |
|
|
PR c++/35336
|
1163 |
|
|
* fold-const.c (fold_truthop): Remove code generating
|
1164 |
|
|
BIT_FIELD_REFs of structure bases.
|
1165 |
|
|
(fold_binary): Likewise.
|
1166 |
|
|
(make_bit_field_ref): Remove.
|
1167 |
|
|
(optimize_bit_field_compare): Remove.
|
1168 |
|
|
(all_ones_mask_p): Remove.
|
1169 |
|
|
|
1170 |
|
|
2008-12-05 Jakub Jelinek
|
1171 |
|
|
|
1172 |
|
|
* tree-sra.c (sra_explode_bitfield_assignment): Always
|
1173 |
|
|
call unsigned_type_for, if the precision is higher than
|
1174 |
|
|
needed, call build_nonstandard_integer_type.
|
1175 |
|
|
|
1176 |
|
|
PR debug/38367
|
1177 |
|
|
* function.c (assign_parm_find_stack_rtl): If promoted_mode
|
1178 |
|
|
is wider than DECL_MODE, adjust MEM_OFFSET (stack_parm) for
|
1179 |
|
|
big endian.
|
1180 |
|
|
|
1181 |
|
|
PR middle-end/38338
|
1182 |
|
|
* builtins.c (expand_builtin_apply_args): Put before parm_birth_insn
|
1183 |
|
|
only if internal_arg_pointer is a non-virtual pseudo.
|
1184 |
|
|
|
1185 |
|
|
2008-12-05 Joseph Myers
|
1186 |
|
|
|
1187 |
|
|
* config/rs6000/rs6000.md (move_from_CR_gt_bit): Enable for
|
1188 |
|
|
TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500.
|
1189 |
|
|
* config/rs6000/spe.md (e500_cr_ior_compare): Likewise.
|
1190 |
|
|
|
1191 |
|
|
2008-12-05 Jakub Jelinek
|
1192 |
|
|
|
1193 |
|
|
PR tree-optimization/37716
|
1194 |
|
|
* gimplify.c (gimplify_expr): Allow COND_EXPR if
|
1195 |
|
|
gimplify_ctxp->allow_rhs_cond_expr.
|
1196 |
|
|
|
1197 |
|
|
2008-12-05 Uros Bizjak
|
1198 |
|
|
|
1199 |
|
|
* config/alpha/alpha.c (alpha_fold_vector_minmax): Create
|
1200 |
|
|
VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
|
1201 |
|
|
|
1202 |
|
|
(alpha_emit_conditional_branch): Do not generate direct branch
|
1203 |
|
|
for UNORDERED comparisons.
|
1204 |
|
|
|
1205 |
|
|
2008-12-05 Andreas Schwab
|
1206 |
|
|
|
1207 |
|
|
* config/rs6000/linux-unwind.h (frob_update_context): Check for
|
1208 |
|
|
NULL lr.
|
1209 |
|
|
|
1210 |
|
|
2008-12-05 Jakub Jelinek
|
1211 |
|
|
|
1212 |
|
|
PR c/38408
|
1213 |
|
|
* fold-const.c (fold_checksum_tree): Change buf type to union
|
1214 |
|
|
tree_node.
|
1215 |
|
|
|
1216 |
|
|
2008-12-05 Sebastian Pop
|
1217 |
|
|
|
1218 |
|
|
PR bootstrap/38262
|
1219 |
|
|
* Makefile.in (LIBS): Remove GMPLIBS, CLOOGLIBS and PPLLIBS.
|
1220 |
|
|
(BACKENDLIBS): New.
|
1221 |
|
|
(cc1-dummy, cc1): Add BACKENDLIBS, remove GMPLIBS.
|
1222 |
|
|
|
1223 |
|
|
2008-12-05 Ben Elliston
|
1224 |
|
|
|
1225 |
|
|
* c-parser.c (c_parser_enum_specifier): Initialise ident_loc and
|
1226 |
|
|
comma_loc.
|
1227 |
|
|
(c_parser_initelt): Initialise des_loc and ellipsis_loc.
|
1228 |
|
|
|
1229 |
|
|
2008-12-04 Eric Botcazou
|
1230 |
|
|
Gary Funck
|
1231 |
|
|
|
1232 |
|
|
* cse.c (lookup_as_function): Delete mode frobbing code.
|
1233 |
|
|
(equiv_constant): Re-implement it there for SUBREGs.
|
1234 |
|
|
|
1235 |
|
|
2008-12-04 Richard Guenther
|
1236 |
|
|
|
1237 |
|
|
PR middle-end/36509
|
1238 |
|
|
* Makefile.in (tree-ssa-alias-warnings.o): Remove.
|
1239 |
|
|
(tree-ssa-structalias.o): Remove errors.h dependency.
|
1240 |
|
|
(tree-ssa-reassoc.o): Likewise.
|
1241 |
|
|
* tree-ssa-reassoc.c: Do not include errors.h.
|
1242 |
|
|
* tree-ssa-alias-warnings.c: Remove.
|
1243 |
|
|
* tree-ssa-alias.c (compute_may_aliases): Remove call to
|
1244 |
|
|
strict_aliasing_warning_backend.
|
1245 |
|
|
* tree-ssa-structalias.c (emit_pointer_definition): New function.
|
1246 |
|
|
(emit_alias_warning): Likewise.
|
1247 |
|
|
(set_uids_in_ptset): Warn for clear cases of type-punning.
|
1248 |
|
|
* tree-inline.c (remap_gimple_op_r): Preserve TREE_NO_WARNING
|
1249 |
|
|
on INDIRECT_REFs.
|
1250 |
|
|
|
1251 |
|
|
2008-12-04 Eric Botcazou
|
1252 |
|
|
|
1253 |
|
|
* cse.c (equiv_constant): Fix pasto.
|
1254 |
|
|
|
1255 |
|
|
2008-12-04 Nick Clifton
|
1256 |
|
|
|
1257 |
|
|
* config/stormy16/stormy16.md: Remove extraneous spaces and quotes.
|
1258 |
|
|
* config/stormy16/stormy16.c: Remove extraneous spaces and fix up
|
1259 |
|
|
formatting of quotes.
|
1260 |
|
|
|
1261 |
|
|
2008-12-04 Jakub Jelinek
|
1262 |
|
|
|
1263 |
|
|
PR middle-end/38371
|
1264 |
|
|
* fold-const.c (fold_checksum_tree): Allow modification of
|
1265 |
|
|
TYPE_NEXT_VARIANT.
|
1266 |
|
|
|
1267 |
|
|
2008-12-03 Jakub Jelinek
|
1268 |
|
|
|
1269 |
|
|
PR middle-end/38360
|
1270 |
|
|
* tree-ssa-ccp.c (ccp_fold_builtin): Bail out if the builtin doesn't
|
1271 |
|
|
have the right number of arguments.
|
1272 |
|
|
|
1273 |
|
|
2008-12-03 Richard Guenther
|
1274 |
|
|
|
1275 |
|
|
PR middle-end/36326
|
1276 |
|
|
* gimplify.c (is_gimple_mem_or_call_rhs): Remove work-around for
|
1277 |
|
|
non-BLKmode types.
|
1278 |
|
|
|
1279 |
|
|
2008-12-03 Tomas Bily
|
1280 |
|
|
|
1281 |
|
|
PR middle-end/38250
|
1282 |
|
|
* tree-loop-distribution.c (build_size_arg): New function.
|
1283 |
|
|
(generate_memset_zero): Checks if dr_analyze_innermost succeed.
|
1284 |
|
|
Reorganized generating of stmts.
|
1285 |
|
|
* testsuite/gcc.dg/tree-ssa/pr38250.c: New file.
|
1286 |
|
|
* tree-data-ref.c (dr_analyze_innermost): Returns bool.
|
1287 |
|
|
Indicate if analysis succeed.
|
1288 |
|
|
* tree-data-ref.h (dr_analyze_innermost): Returns bool.
|
1289 |
|
|
* tree-predcom.c (valid_initializer_p, find_looparound_phi):
|
1290 |
|
|
Uses new definition of dr_analyze_innermost.
|
1291 |
|
|
|
1292 |
|
|
2008-12-03 Ben Elliston
|
1293 |
|
|
|
1294 |
|
|
* tree-ssa-pre.c (do_regular_insertion): Initialise edoubleprime.
|
1295 |
|
|
|
1296 |
|
|
2008-12-03 Jakub Jelinek
|
1297 |
|
|
|
1298 |
|
|
PR tree-optimization/37716
|
1299 |
|
|
* tree-sra.c (sra_build_assignment): For scalar bitfield SRC construct
|
1300 |
|
|
all the needed operations as trees and gimplify_assign it to dst.
|
1301 |
|
|
|
1302 |
|
|
PR target/37610
|
1303 |
|
|
* configure.ac (gcc_cv_readelf): Look for readelf.
|
1304 |
|
|
(gcc_cv_as_cfi_advance_working): Check for working
|
1305 |
|
|
cfi advances with code alignment factor > 1.
|
1306 |
|
|
(HAVE_GAS_CFI_DIRECTIVE): Don't define if cfi advances
|
1307 |
|
|
don't work properly.
|
1308 |
|
|
* configure: Regenerated.
|
1309 |
|
|
|
1310 |
|
|
2008-12-03 Eric Botcazou
|
1311 |
|
|
Jakub Jelinek
|
1312 |
|
|
Andrew Pinski
|
1313 |
|
|
|
1314 |
|
|
PR rtl-optimization/38281
|
1315 |
|
|
* combine.c (distribute_notes): When invoking SET_INSN_DELETED on i2,
|
1316 |
|
|
set it to NULL_RTX afterwards.
|
1317 |
|
|
|
1318 |
|
|
* emit-rtl.c (set_insn_deleted): Fix formatting.
|
1319 |
|
|
|
1320 |
|
|
2008-12-02 Richard Sandiford
|
1321 |
|
|
|
1322 |
|
|
* config/mips/mips.c (mips_expand_builtin): Fix the mode of the
|
1323 |
|
|
error return value.
|
1324 |
|
|
* config/mips/mips.md (IMOVE32): New mode iterator.
|
1325 |
|
|
(movsi): Generalize with IMOVE32.
|
1326 |
|
|
(*movsi_internal): Likewise.
|
1327 |
|
|
(*mov_mips16): Likewise.
|
1328 |
|
|
(*lwxs): Likewise.
|
1329 |
|
|
|
1330 |
|
|
2008-12-02 Nathan Sidwell
|
1331 |
|
|
Maxim Kuvyrkov
|
1332 |
|
|
|
1333 |
|
|
* config/m68k/lb1sf68.asm (PICCALL, PICJUMP): Use GOT instead of
|
1334 |
|
|
PC-relative addressing when compiling for uclinux PIC.
|
1335 |
|
|
(__cmpdf_internal, __cmpsf_internal): Hide.
|
1336 |
|
|
(__cmpdf, __cmpsf): Use PIC call sequence.
|
1337 |
|
|
|
1338 |
|
|
2008-12-02 Andreas Tobler
|
1339 |
|
|
Jack Howarth
|
1340 |
|
|
|
1341 |
|
|
* config/i386/t-darwin64: Add m32 multilib support.
|
1342 |
|
|
|
1343 |
|
|
2008-12-02 Jack Howarth
|
1344 |
|
|
|
1345 |
|
|
* testsuite/gcc.dg/darwin-comm.c: Expand to darwin10 and later.
|
1346 |
|
|
|
1347 |
|
|
2008-12-02 Jakub Jelinek
|
1348 |
|
|
|
1349 |
|
|
PR middle-end/38343
|
1350 |
|
|
* builtins.c (fold_builtin_memory_op): Convert len to sizetype
|
1351 |
|
|
before using it in POINTER_PLUS_EXPR.
|
1352 |
|
|
|
1353 |
|
|
2008-12-02 Richard Guenther
|
1354 |
|
|
|
1355 |
|
|
PR tree-optimization/38359
|
1356 |
|
|
* fold-const.c (fold_binary): Fold -1 >> x to -1 only for
|
1357 |
|
|
non-negative x.
|
1358 |
|
|
|
1359 |
|
|
2008-12-02 Martin Jambor
|
1360 |
|
|
|
1361 |
|
|
PR middle-end/37861
|
1362 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not check
|
1363 |
|
|
for INDIRECT_REFs.
|
1364 |
|
|
(forward_propagate_addr_into_variable_array_index): Check that the
|
1365 |
|
|
offset is not computed from a MULT_EXPR, use is_gimple_assign rather
|
1366 |
|
|
than the gimple code directly.
|
1367 |
|
|
|
1368 |
|
|
2008-12-02 Ben Elliston
|
1369 |
|
|
|
1370 |
|
|
* config/spu/float_disf.c (__floatdisf): Prototype.
|
1371 |
|
|
* config/spu/float_unsdisf.c (__float_undisf): Likewise.
|
1372 |
|
|
* config/spu/float_unssidf.c (__float_unssidf): Constify cast.
|
1373 |
|
|
* config/spu/float_unsdidf.c (__float_unsdidf): Likewise.
|
1374 |
|
|
|
1375 |
|
|
2008-12-02 DJ Delorie
|
1376 |
|
|
|
1377 |
|
|
* config/stormy16/stormy16.h (INCOMING_FRAME_SP_OFFSET): Negate.
|
1378 |
|
|
(DWARF_CIE_DATA_ALIGNMENT): Define.
|
1379 |
|
|
|
1380 |
|
|
* config/stormy16/stormy16.c (xstormy16_compute_stack_layout):
|
1381 |
|
|
Invert add/sub for INCOMING_FRAME_SP_OFFSET.
|
1382 |
|
|
(xstormy16_expand_prologue): Likewise.
|
1383 |
|
|
(xstormy16_expand_builtin_va_start): Likewise.
|
1384 |
|
|
(xstormy16_gimplify_va_arg_expr): Likewise.
|
1385 |
|
|
|
1386 |
|
|
2008-12-02 Jakub Jelinek
|
1387 |
|
|
|
1388 |
|
|
PR middle-end/38343
|
1389 |
|
|
* builtins.c (expand_builtin_mempcpy_args): Handle COMPOUND_EXPRs
|
1390 |
|
|
potentially returned from folding memcpy.
|
1391 |
|
|
(expand_builtin_stpcpy_args): Similarly for folding strcpy.
|
1392 |
|
|
(fold_builtin_2): Handle BUILT_IN_STPCPY if result is ignored.
|
1393 |
|
|
|
1394 |
|
|
2008-12-02 Danny Smith
|
1395 |
|
|
|
1396 |
|
|
PR target/38054
|
1397 |
|
|
* config/i386/winnt.c (i386_pe_encode_section_info): Condition stdcall
|
1398 |
|
|
decoration of function RTL names here on Ada language.
|
1399 |
|
|
|
1400 |
|
|
2008-12-01 Vladimir Makarov
|
1401 |
|
|
|
1402 |
|
|
PR rtl-optimization/38280
|
1403 |
|
|
* ira-build.c (loop_is_inside_p, regno_allocno_order_compare_func,
|
1404 |
|
|
ira_rebuild_regno_allocno_list): New functions.
|
1405 |
|
|
(regno_allocnos): New static variable.
|
1406 |
|
|
(remove_unnecessary_allocnos): Allocate/deallocate regno_allocnos.
|
1407 |
|
|
Call ira_rebuild_regno_allocno_list.
|
1408 |
|
|
|
1409 |
|
|
2008-12-01 David Daney
|
1410 |
|
|
Adam Nemet
|
1411 |
|
|
|
1412 |
|
|
* config/mips/linux64.h (DRIVER_SELF_SPECS): Add
|
1413 |
|
|
LINUX_DRIVER_SELF_SPECS.
|
1414 |
|
|
|
1415 |
|
|
2008-12-01 Vladimir Makarov
|
1416 |
|
|
|
1417 |
|
|
PR rtl-optimization/37514
|
1418 |
|
|
* reload1.c (reload_as_needed): Invalidate reg_last_reload
|
1419 |
|
|
from previous insns.
|
1420 |
|
|
|
1421 |
|
|
2008-12-01 Jakub Jelinek
|
1422 |
|
|
|
1423 |
|
|
PR c++/38348
|
1424 |
|
|
* c-omp.c (c_finish_omp_for): Only transform pointer
|
1425 |
|
|
++ or -- into MODIFY_EXPR if second argument is non-NULL.
|
1426 |
|
|
|
1427 |
|
|
PR rtl-optimization/38245
|
1428 |
|
|
* tree-vrp.c (abs_extent_range): New function.
|
1429 |
|
|
(extract_range_from_binary_expr): Compute range
|
1430 |
|
|
for *_DIV_EXPR even if vr1 is VR_VARYING, VR_ANTI_RANGE
|
1431 |
|
|
or includes zero or if vr1 is VR_RANGE and op0 has some
|
1432 |
|
|
other range.
|
1433 |
|
|
|
1434 |
|
|
2008-12-01 Uros Bizjak
|
1435 |
|
|
|
1436 |
|
|
PR middle-end/37908
|
1437 |
|
|
* config/alpha/alpha.c (alpha_split_atomic_op): Properly handle NAND
|
1438 |
|
|
case by calculating ~(new_reg & val) instead of (~new_reg & val).
|
1439 |
|
|
* config/alpha/sync.md (sync_nand): Change insn RTX
|
1440 |
|
|
to (not:I48MODE (and:I48MODE (...))).
|
1441 |
|
|
(sync_old_nand): Ditto.
|
1442 |
|
|
(sync_new_nand): Ditto.
|
1443 |
|
|
|
1444 |
|
|
2008-12-01 Nick Clifton
|
1445 |
|
|
|
1446 |
|
|
* config/stormy16/stormy16.md (CARRY_REG): New constant.
|
1447 |
|
|
Replace uses of the "y" register class with direct references to
|
1448 |
|
|
the CARRY_REG register.
|
1449 |
|
|
* config/stormy16/stormy16.c: Replace clobbers of a BImode scratch
|
1450 |
|
|
register with clobbers of the carry register.
|
1451 |
|
|
(xstormy16_secondary_reload_class): Do not return CARRY_REGS.
|
1452 |
|
|
(xstormy16_split_cbranch): Remove redundant carry parameter.
|
1453 |
|
|
(xstormy16_expand_arith): Likewise.
|
1454 |
|
|
* config/stormy16/stormy16.h (enum reg_class): Remove CARRY_REGS.
|
1455 |
|
|
(IRA_COVER_CLASSES, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
|
1456 |
|
|
REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
|
1457 |
|
|
(CARRY_REGNUM): Define.
|
1458 |
|
|
* config/stormy16/stormy16-protos.h (xstormy16_split_cbranch):
|
1459 |
|
|
Update prototype.
|
1460 |
|
|
(xstormy16_expand_arith): Likewise.
|
1461 |
|
|
|
1462 |
|
|
2008-12-01 Chen Liqin
|
1463 |
|
|
|
1464 |
|
|
* config/score/score.h (IRA_COVER_CLASSES): Define.
|
1465 |
|
|
|
1466 |
|
|
2008-11-30 Eric Botcazou
|
1467 |
|
|
|
1468 |
|
|
PR target/38287
|
1469 |
|
|
* config/sparc/sparc.md (divsi3 expander): Remove constraints.
|
1470 |
|
|
(divsi3_sp32): Add new alternative with 'K' for operand #2.
|
1471 |
|
|
(cmp_sdiv_cc_set): Factor common string.
|
1472 |
|
|
(udivsi3_sp32): Add new alternative with 'K' for operand #2.
|
1473 |
|
|
Add TARGET_V9 case.
|
1474 |
|
|
(cmp_udiv_cc_set): Factor common string.
|
1475 |
|
|
|
1476 |
|
|
2008-11-30 John David Anglin
|
1477 |
|
|
|
1478 |
|
|
PR middle-end/38283
|
1479 |
|
|
* varasm.c (emutls_finish): Fix common registration.
|
1480 |
|
|
|
1481 |
|
|
2008-11-29 Jakub Jelinek
|
1482 |
|
|
|
1483 |
|
|
PR target/29987
|
1484 |
|
|
* config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
|
1485 |
|
|
|
1486 |
|
|
2008-11-29 David Edelsohn
|
1487 |
|
|
|
1488 |
|
|
* config/rs6000/rs6000.c (rs6000_emit_sync): Remove support for
|
1489 |
|
|
operand wrapped in NOT. Emit NAND as (ior (not X) (not Y)).
|
1490 |
|
|
(rs6000_split_atomic_op): Emit NAND as (ior (not X) (not Y)).
|
1491 |
|
|
* config/rs6000/sync.md (sync_nand): Represent NAND in RTL.
|
1492 |
|
|
Call rs6000_emit_sync with CODE=NOT and unmodified operands.
|
1493 |
|
|
Ignore sub-word case for now.
|
1494 |
|
|
(sync_nand_internal): Represent NAND in RTL.
|
1495 |
|
|
(sync_old_nand
|
1496 |
|
|
(sync_old_name_internal): Same.
|
1497 |
|
|
(sync_new_nand): Same.
|
1498 |
|
|
(sync_new_nand_internal): Same.
|
1499 |
|
|
(sync_boolcshort_internal): Expect NAND.
|
1500 |
|
|
|
1501 |
|
|
2008-11-28 Richard Guenther
|
1502 |
|
|
|
1503 |
|
|
PR tree-optimization/37955
|
1504 |
|
|
PR tree-optimization/37742
|
1505 |
|
|
* tree-vect-transform.c (vectorizable_store): Remove assert for
|
1506 |
|
|
compatible aliases.
|
1507 |
|
|
(vectorizable_load): Likewise.
|
1508 |
|
|
|
1509 |
|
|
2008-11-27 Richard Guenther
|
1510 |
|
|
|
1511 |
|
|
* tree-ssa-structalias.c (intra_create_variable_infos): Make
|
1512 |
|
|
a constraint for the static chain parameter.
|
1513 |
|
|
|
1514 |
|
|
2008-11-27 Bernd Schmidt
|
1515 |
|
|
|
1516 |
|
|
* config/bfin/bfin.opt (micplb): New option.
|
1517 |
|
|
* config/bfin/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Set it.
|
1518 |
|
|
* config/bfin/bfin-protos.h (WA_INDIRECT_CALLS,
|
1519 |
|
|
ENABLE_WA_INDIRECT_CALLS): New macros.
|
1520 |
|
|
* config/bfin/bfin.c (bfin_cpus): Add WA_INDIRECT_CALLS to
|
1521 |
|
|
all 54x CPUs.
|
1522 |
|
|
(indirect_call_p): New function.
|
1523 |
|
|
(workaround_speculation): Handle anomaly 05-00-0426 when
|
1524 |
|
|
ENABLE_WA_INDIRECT_CALLS is true.
|
1525 |
|
|
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
|
1526 |
|
|
__WORKAROUND_INDIRECT_CALLS if ENABLE_WA_INDIRECT_CALLS.
|
1527 |
|
|
* doc/invoke.texi (Blackfin Options): Document -micplb.
|
1528 |
|
|
|
1529 |
|
|
2008-11-26 DJ Delorie
|
1530 |
|
|
|
1531 |
|
|
* config/m32c/mov.md ("extendhipsi2"): New.
|
1532 |
|
|
|
1533 |
|
|
* config/m32c/bitops.md (bset_qi): Add memsym_operand predicate.
|
1534 |
|
|
|
1535 |
|
|
* config/m32c/bitops.md (andhi3_24, iorhi3_24): Don't prefer HL class.
|
1536 |
|
|
* config/m32c/mov.md (zero_extendqihi2): Likewise.
|
1537 |
|
|
|
1538 |
|
|
2008-11-26 Adam Nemet
|
1539 |
|
|
|
1540 |
|
|
* config/mips/mips.md (clear_hazard): Rename to
|
1541 |
|
|
clear_hazard_. Use mode-specific addition.
|
1542 |
|
|
(clear_cache): Rename gen_clear_hazard to gen_clear_hazard_si
|
1543 |
|
|
or gen_clear_hazard_di depending on the size of Pmode.
|
1544 |
|
|
|
1545 |
|
|
2008-11-26 DJ Delorie
|
1546 |
|
|
|
1547 |
|
|
* configure.ac: Test m32c-elf-gas for .loc.
|
1548 |
|
|
* configure: Likewise.
|
1549 |
|
|
|
1550 |
|
|
2008-11-26 Janis Johnson
|
1551 |
|
|
|
1552 |
|
|
PR testsuite/28870
|
1553 |
|
|
* doc/sourcebuild.texi (Test Directives): Add dg-timeout and
|
1554 |
|
|
dg-timeout-factor.
|
1555 |
|
|
|
1556 |
|
|
2008-11-26 Uros Bizjak
|
1557 |
|
|
|
1558 |
|
|
* config/i386/sync.md (memory_barrier_nosse): Disable also for
|
1559 |
|
|
TARGET_64BIT. Remove special asm template for TARGET_64BIT case.
|
1560 |
|
|
(memory_barrier): Do not generate memory_barrier_nosse instruction
|
1561 |
|
|
for TARGET_64BIT.
|
1562 |
|
|
* config/i386/sse.md (*sse2_mfence): Also enable for TARGET_64BIT.
|
1563 |
|
|
|
1564 |
|
|
2008-11-26 Fredrik Unger
|
1565 |
|
|
|
1566 |
|
|
* config/soft-fp/floatuntisf.c (__floatuntisf): Correct
|
1567 |
|
|
function name from __floatundisf.
|
1568 |
|
|
* config/soft-fp/fixdfti.c (__fixdfti): Correct argument type to
|
1569 |
|
|
DFtype.
|
1570 |
|
|
|
1571 |
|
|
2008-11-25 Daniel Berlin
|
1572 |
|
|
Richard Guenther
|
1573 |
|
|
|
1574 |
|
|
PR tree-optimization/37869
|
1575 |
|
|
* tree-ssa-structalias.c (struct constraint_graph): Remove
|
1576 |
|
|
pt_used and number_incoming members.
|
1577 |
|
|
(build_pred_graph): Do not allocate them.
|
1578 |
|
|
(condense_visit): Do not use them.
|
1579 |
|
|
(label_visit): Likewise.
|
1580 |
|
|
(free_var_substitution_info): Do not free them.
|
1581 |
|
|
|
1582 |
|
|
2008-11-25 Vladimir Makarov
|
1583 |
|
|
|
1584 |
|
|
* doc/invoke.texi (ira-max-loops-num): Change semantics.
|
1585 |
|
|
|
1586 |
|
|
* ira-int.h (struct ira_loop_tree_node): New member to_remove_p.
|
1587 |
|
|
|
1588 |
|
|
* ira-color.c (allocno_spill_priority): New function.
|
1589 |
|
|
(remove_allocno_from_bucket_and_push, push_allocno_to_spill):
|
1590 |
|
|
Print more info about the spilled allocno.
|
1591 |
|
|
(push_allocnos_to_stack): Use allocno_spill_priority. Add more
|
1592 |
|
|
checks on bad spill.
|
1593 |
|
|
|
1594 |
|
|
* ira-build.c (loop_node_to_be_removed_p): Remove.
|
1595 |
|
|
(loop_compare_func, mark_loops_for_removal): New functions.
|
1596 |
|
|
(remove_uneccesary_loop_nodes_from_loop_t): Use member
|
1597 |
|
|
to_remove_p.
|
1598 |
|
|
(remove_unnecessary_allocnos): Call mark_loops_for_removal.
|
1599 |
|
|
|
1600 |
|
|
* ira.c (ira): Don't change flag_ira_algorithm.
|
1601 |
|
|
|
1602 |
|
|
* params.def (ira-max-loops-num): Change the value.
|
1603 |
|
|
|
1604 |
|
|
2008-11-25 Maxim Kuvyrkov
|
1605 |
|
|
|
1606 |
|
|
* config/m68k/m68k.md (extendsidi2, extendsidi2_mem): Merge, clean up.
|
1607 |
|
|
Disable unsupported alternative for ColdFire,
|
1608 |
|
|
add new alternative that ColdFire can handle.
|
1609 |
|
|
|
1610 |
|
|
2008-11-25 Eric Botcazou
|
1611 |
|
|
|
1612 |
|
|
* regrename.c (merge_overlapping_regs): Add registers artificially
|
1613 |
|
|
defined at the top of the basic block to the set of live ones just
|
1614 |
|
|
before the first insn.
|
1615 |
|
|
|
1616 |
|
|
2008-11-25 H.J. Lu
|
1617 |
|
|
Joey Ye
|
1618 |
|
|
|
1619 |
|
|
PR middle-end/37843
|
1620 |
|
|
* config/i386/i386.c (ix86_function_ok_for_sibcall): Return
|
1621 |
|
|
false if we need to align the outgoing stack.
|
1622 |
|
|
(ix86_update_stack_boundary): Check parm_stack_boundary.
|
1623 |
|
|
|
1624 |
|
|
2008-11-25 Richard Guenther
|
1625 |
|
|
|
1626 |
|
|
PR middle-end/38151
|
1627 |
|
|
PR middle-end/38236
|
1628 |
|
|
* tree-ssa-alias.c (struct alias_info): Remove written_vars.
|
1629 |
|
|
Remove dereferenced_ptrs_store and dereferenced_ptrs_load
|
1630 |
|
|
in favor of dereferenced_ptrs.
|
1631 |
|
|
(init_alias_info): Adjust.
|
1632 |
|
|
(delete_alias_info): Likewise.
|
1633 |
|
|
(compute_flow_insensitive_aliasing): Properly
|
1634 |
|
|
include all aliased variables.
|
1635 |
|
|
(update_alias_info_1): Use dereferenced_ptrs.
|
1636 |
|
|
(setup_pointers_and_addressables): Likewise.
|
1637 |
|
|
(get_smt_for): Honor ref-all pointers and pointers with known alias
|
1638 |
|
|
set properly.
|
1639 |
|
|
* config/i386/i386.c (ix86_gimplify_va_arg): Use ref-all pointers.
|
1640 |
|
|
|
1641 |
|
|
2008-11-25 Uros Bizjak
|
1642 |
|
|
|
1643 |
|
|
PR target/38254
|
1644 |
|
|
* config/i386/sync.md (memory_barrier_nosse): New insn pattern.
|
1645 |
|
|
(memory_barrier): Generate memory_barrier_nosse insn for !TARGET_SSE2.
|
1646 |
|
|
|
1647 |
|
|
2008-11-24 Maxim Kuvyrkov
|
1648 |
|
|
|
1649 |
|
|
* config/m68k/m68k.md (cmpdi): Use (scratch) instead of pseudo.
|
1650 |
|
|
|
1651 |
|
|
2008-11-24 Richard Sandiford
|
1652 |
|
|
|
1653 |
|
|
* config/mips/mips.h (ASM_OUTPUT_DEBUG_LABEL): Define.
|
1654 |
|
|
|
1655 |
|
|
2008-11-24 Maxim Kuvyrkov
|
1656 |
|
|
|
1657 |
|
|
PR target/35018
|
1658 |
|
|
* config/m68k/m68k.md (ok_for_coldfire, enabled): New attributes.
|
1659 |
|
|
(addsi_lshrsi_31): Add ColdFire-friendly alternatives.
|
1660 |
|
|
|
1661 |
|
|
2008-11-24 Uros Bizjak
|
1662 |
|
|
|
1663 |
|
|
* config/i386/i386.md (UNSPECV_CMPXCHG): Rename from
|
1664 |
|
|
UNSPECV_CMPXCHG_[12].
|
1665 |
|
|
* config/i386/sync.md: Use UNSPECV_CMPXCHG instead of
|
1666 |
|
|
UNSPECV_CMPXCHG_[12].
|
1667 |
|
|
|
1668 |
|
|
PR target/36793
|
1669 |
|
|
* config/i386/sync.md (memory_barrier): New expander.
|
1670 |
|
|
|
1671 |
|
|
2008-11-24 Jakub Jelinek
|
1672 |
|
|
|
1673 |
|
|
PR middle-end/37135
|
1674 |
|
|
* dse.c (find_shift_sequence): Optimize extraction from a constant.
|
1675 |
|
|
|
1676 |
|
|
2008-11-23 John David Anglin
|
1677 |
|
|
|
1678 |
|
|
* pa.c (function_arg): Revert 2008-10-26 change.
|
1679 |
|
|
|
1680 |
|
|
2008-11-23 Helge Deller
|
1681 |
|
|
|
1682 |
|
|
* pa/linux-atomic.c (EBUSY): Define if not _LP64.
|
1683 |
|
|
(__kernel_cmpxchg): Return -EBUSY if the kernel LWS call
|
1684 |
|
|
succeeded and lws_ret is not equal to oldval.
|
1685 |
|
|
|
1686 |
|
|
2008-11-23 Kaz Kojima
|
1687 |
|
|
|
1688 |
|
|
* config/sh/sh.md (consttable_4): Call mark_symbol_refs_as_used.
|
1689 |
|
|
|
1690 |
|
|
2008-11-22 Andreas Schwab
|
1691 |
|
|
|
1692 |
|
|
* varasm.c (default_file_start): Suppress ASM_APP_OFF also with
|
1693 |
|
|
-dA and -dP.
|
1694 |
|
|
|
1695 |
|
|
2008-11-22 Adam Nemet
|
1696 |
|
|
|
1697 |
|
|
* config/mips/mips.md (rdhwr): Rename to rdhwr_synci_step_.
|
1698 |
|
|
Use constant 1 as the operand.
|
1699 |
|
|
* config/mips/mips.c (mips_expand_synci_loop): Make INC Pmode.
|
1700 |
|
|
Rename gen_rdhwr to gen_rdhwr_synci_step_si or
|
1701 |
|
|
gen_rdhwr_synci_step_di depending on the size of Pmode.
|
1702 |
|
|
|
1703 |
|
|
2008-11-22 Uros Bizjak
|
1704 |
|
|
|
1705 |
|
|
PR target/38222
|
1706 |
|
|
* config/i386/i386.md (SWI248): New mode iterator.
|
1707 |
|
|
(SWI32): Remove mode iterator.
|
1708 |
|
|
(popcount2): Rename from popcounthi2, popcountsi2 and
|
1709 |
|
|
popcounthi2 insn patterns. Macroize pattern using SWI248 mode
|
1710 |
|
|
iterator. Generate popcnt mnemonic without mode extensions
|
1711 |
|
|
for Darwin x86 targets.
|
1712 |
|
|
(*popcount2_cmp): Ditto.
|
1713 |
|
|
(*popcountsi2_cmp_zext): Generate popcnt mnemonic without mode
|
1714 |
|
|
extensions for Darwin x86 targets.
|
1715 |
|
|
|
1716 |
|
|
2008-11-22 Eric Botcazou
|
1717 |
|
|
|
1718 |
|
|
* config/sparc/sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define
|
1719 |
|
|
only if HAVE_AS_SPARC_UA_PCREL is defined.
|
1720 |
|
|
|
1721 |
|
|
2008-11-22 Richard Sandiford
|
1722 |
|
|
|
1723 |
|
|
* ira-costs.c (find_allocno_class_costs): Work out the maximum
|
1724 |
|
|
allocno_costs value of the classees with the lowest total_costs
|
1725 |
|
|
value. Use this to set ALLOCNO_COVER_CLASS_COST here...
|
1726 |
|
|
(setup_allocno_cover_class_and_costs): ...rather than here.
|
1727 |
|
|
Use the ALLOCNO_COVER_CLASS_COST for all registers in the
|
1728 |
|
|
preferred class.
|
1729 |
|
|
|
1730 |
|
|
2008-11-22 Jakub Jelinek
|
1731 |
|
|
|
1732 |
|
|
PR middle-end/37323
|
1733 |
|
|
* builtins.c (expand_builtin_apply_args): Emit sequence before
|
1734 |
|
|
parm_birth_insn instead of after entry_of_function's first insn.
|
1735 |
|
|
|
1736 |
|
|
PR middle-end/37316
|
1737 |
|
|
* function.c (assign_parm_remove_parallels): Pass
|
1738 |
|
|
data->passed_type as third argument to emit_group_store.
|
1739 |
|
|
|
1740 |
|
|
PR target/37170
|
1741 |
|
|
* final.c (mark_symbol_refs_as_used): New function.
|
1742 |
|
|
* output.h (mark_symbol_refs_as_used): New prototype.
|
1743 |
|
|
* config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed.
|
1744 |
|
|
(s390_output_pool_entry): Use mark_symbol_refs_as_used.
|
1745 |
|
|
* config/arm/arm.md (consttable_4): Likewise.
|
1746 |
|
|
|
1747 |
|
|
PR target/37880
|
1748 |
|
|
* doc/invoke.texi: Adjust wording of -mcmodel=medium description.
|
1749 |
|
|
|
1750 |
|
|
2008-11-21 Jakub Jelinek
|
1751 |
|
|
|
1752 |
|
|
PR middle-end/38200
|
1753 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
|
1754 |
|
|
propagate x = &a into *x = b if conversion from b to a's type is
|
1755 |
|
|
useless.
|
1756 |
|
|
|
1757 |
|
|
2008-11-21 Eric Botcazou
|
1758 |
|
|
|
1759 |
|
|
* caller-save.c (insert_one_insn): Take into account REG_INC notes
|
1760 |
|
|
for the liveness computation of the new insn.
|
1761 |
|
|
|
1762 |
|
|
2008-11-21 DJ Delorie
|
1763 |
|
|
|
1764 |
|
|
* config/stormy16/stormy16.md (movqi_internal, movhi_internal):
|
1765 |
|
|
Moves to/from below100 space (W) can only use r0-r7.
|
1766 |
|
|
|
1767 |
|
|
2008-11-21 Paolo Carlini
|
1768 |
|
|
|
1769 |
|
|
PR other/38214
|
1770 |
|
|
* doc/invoke.texi (Optimization Options): Fix typo.
|
1771 |
|
|
|
1772 |
|
|
2008-11-21 H.J. Lu
|
1773 |
|
|
Xuepeng Guo
|
1774 |
|
|
|
1775 |
|
|
* config.gcc (extra_headers): For x86 and x86-64, remove
|
1776 |
|
|
gmmintrin.h, add immintrin.h and avxintrin.h.
|
1777 |
|
|
|
1778 |
|
|
* config/i386/gmmintrin.h: Renamed to ...
|
1779 |
|
|
* config/i386/avxintrin.h: This. Issue an error if
|
1780 |
|
|
_IMMINTRIN_H_INCLUDED is undedined.
|
1781 |
|
|
|
1782 |
|
|
* config/i386/immintrin.h: New.
|
1783 |
|
|
|
1784 |
|
|
2008-11-21 Jakub Jelinek
|
1785 |
|
|
|
1786 |
|
|
PR target/38208
|
1787 |
|
|
* reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use
|
1788 |
|
|
mode of PLUS, not mode of the eliminated register.
|
1789 |
|
|
|
1790 |
|
|
2008-11-21 Uros Bizjak
|
1791 |
|
|
|
1792 |
|
|
* config/i386/mmx.md (mmx_nand3): Rename to mmx_andnot3.
|
1793 |
|
|
* config/i386/sse.md (avx_nand3): Rename to avx_andnot3.
|
1794 |
|
|
(_nand3): Rename to _andnot3.
|
1795 |
|
|
(sse2_nand3): Rename to sse2_andnot3.
|
1796 |
|
|
(*sse_nand3): Rename to *sse_andnot3.
|
1797 |
|
|
(*avx_nand3): Rename to *avx_andnot3.
|
1798 |
|
|
(*nand3): Rename to *andnot3.
|
1799 |
|
|
(*nandtf3): rename to *andnottf3.
|
1800 |
|
|
* config/i386/i386.c (bdesc_args) [IX86_BUILTIN_PANDN]:
|
1801 |
|
|
Use CODE_FOR_mmx_andnotv2si3.
|
1802 |
|
|
[IX86_BUILTIN_ANDNPS]: Use CODE_FOR_sse_andnotv4sf3.
|
1803 |
|
|
[IX86_BUILTIN_ANDNPD]: Use CODE_FOR_sse2_andnotv2df3.
|
1804 |
|
|
[IX86_BUILTIN_PANDN128]: Use CODE_FOR_sse2_andnotv2di3.
|
1805 |
|
|
[IX86_BUILTIN_ANDNPS256]: Use CODE_FOR_avx_andnotv8sf3.
|
1806 |
|
|
[IX86_BUILTIN_ANDNPD256]: Use CODE_FOR_avx_andnotv4df3.
|
1807 |
|
|
|
1808 |
|
|
2008-11-21 Uros Bizjak
|
1809 |
|
|
|
1810 |
|
|
PR middle-end/37908
|
1811 |
|
|
* config/ia64/ia64.c (ia64_expand_atomic_op): Properly handle NAND
|
1812 |
|
|
case by calculating ~(new_reg & val) instead of (~new_reg & val).
|
1813 |
|
|
* config/ia64/sync.md (sync_nand): Change insn RTX
|
1814 |
|
|
to (not:IMODE (and:IMODE (...))).
|
1815 |
|
|
(sync_old_nand): Ditto.
|
1816 |
|
|
(sync_new_nand): Ditto.
|
1817 |
|
|
|
1818 |
|
|
2008-11-20 Joseph Myers
|
1819 |
|
|
|
1820 |
|
|
* config/arm/thumb2.md (thumb2_casesi_internal,
|
1821 |
|
|
thumb2_casesi_internal_pic): Use earlyclobber for scratch operand 4.
|
1822 |
|
|
|
1823 |
|
|
2008-11-20 Andreas Krebbel
|
1824 |
|
|
|
1825 |
|
|
* gcc/config/s390/s390.c (s390_expand_atomic): Adjust QI/HI atomic
|
1826 |
|
|
nand to the changed 4.4 semantic.
|
1827 |
|
|
|
1828 |
|
|
2008-11-20 Jakub Jelinek
|
1829 |
|
|
|
1830 |
|
|
PR middle-end/29215
|
1831 |
|
|
* builtins.c (SLOW_UNALIGNED_ACCESS): Define if not defined.
|
1832 |
|
|
(fold_builtin_memory_op): Handle even the case where just one
|
1833 |
|
|
of src and dest is an address of a var decl component, using
|
1834 |
|
|
TYPE_REF_CAN_ALIAS_ALL pointers. Remove is_gimple_min_invariant
|
1835 |
|
|
and readonly_data_expr src check.
|
1836 |
|
|
* tree-ssa-sccvn.c (DFS): Use clear_and_done_ssa_iter to shut
|
1837 |
|
|
up warnings.
|
1838 |
|
|
|
1839 |
|
|
PR rtl-optimization/36998
|
1840 |
|
|
* dwarf2out.c (stack_adjust_offset): Add cur_args_size and cur_offset
|
1841 |
|
|
arguments. Handle sp = reg and (set (foo) (mem (pre_inc (reg sp)))).
|
1842 |
|
|
(compute_barrier_args_size_1, dwarf2out_frame_debug_expr): Adjust
|
1843 |
|
|
stack_adjust_offset callers.
|
1844 |
|
|
(dwarf2out_stack_adjust): Likewise. Handle insns in annulled
|
1845 |
|
|
branches properly.
|
1846 |
|
|
(compute_barrier_args_size): Handle insns in annulled branches
|
1847 |
|
|
properly.
|
1848 |
|
|
|
1849 |
|
|
2008-11-20 Uros Bizjak
|
1850 |
|
|
|
1851 |
|
|
PR target/38151
|
1852 |
|
|
* config/i386/i386.c (classify_argument) [integer mode size <= 64bit]:
|
1853 |
|
|
Handle cases when integer argument crosses argument register boundary.
|
1854 |
|
|
|
1855 |
|
|
2008-11-20 Rainer Orth
|
1856 |
|
|
|
1857 |
|
|
PR bootstrap/33100
|
1858 |
|
|
* config.gcc (i[34567]86-*-solaris2*): Don't include
|
1859 |
|
|
i386/t-crtstuff here.
|
1860 |
|
|
Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host.
|
1861 |
|
|
* config/i386/t-sol2: Move to libgcc/config/i386.
|
1862 |
|
|
|
1863 |
|
|
2008-11-20 Samuel Thibault
|
1864 |
|
|
|
1865 |
|
|
PR driver/21706
|
1866 |
|
|
* tlink.c: Include "libiberty.h".
|
1867 |
|
|
(initial_cwd): Change type into char *.
|
1868 |
|
|
(tlink_init): Call getpwd instead of getcwd.
|
1869 |
|
|
|
1870 |
|
|
2008-11-19 Zdenek Dvorak
|
1871 |
|
|
|
1872 |
|
|
PR rtl-optimization/32283
|
1873 |
|
|
* tree-ssa-loop-niter.c (scev_probably_wraps_p): Use type of the base
|
1874 |
|
|
of the induction variable to decide whether it may wrap.
|
1875 |
|
|
* tree-ssa-loop-ivopts.c (rewrite_use_compare): Emit the
|
1876 |
|
|
initialization of the bound before the loop.
|
1877 |
|
|
* simplify-rtx.c (simplify_binary_operation_1): Add two
|
1878 |
|
|
simplifications regarding AND.
|
1879 |
|
|
(simplify_plus_minus): Only fail if no simplification is possible.
|
1880 |
|
|
* loop-iv.c (simple_rhs_p): Consider reg + reg and reg << cst simple.
|
1881 |
|
|
|
1882 |
|
|
2008-11-20 Jakub Jelinek
|
1883 |
|
|
|
1884 |
|
|
PR c++/36631
|
1885 |
|
|
* gimplify.c (gimplify_call_expr): Defer most of the cannot inline
|
1886 |
|
|
checking until GIMPLE lowering.
|
1887 |
|
|
* gimple-low.c (check_call_args): New function.
|
1888 |
|
|
(lower_stmt) : Call it.
|
1889 |
|
|
|
1890 |
|
|
2008-11-19 Adam Nemet
|
1891 |
|
|
|
1892 |
|
|
* config/mips/mips.c (mips_gimplify_va_arg_expr): Use -rsize
|
1893 |
|
|
with the same type as the first operand of the AND expression.
|
1894 |
|
|
|
1895 |
|
|
2008-11-19 Vladimir Makarov
|
1896 |
|
|
|
1897 |
|
|
PR bootstrap/37859
|
1898 |
|
|
* ira-int.h (struct ira_loop_tree_node): New member
|
1899 |
|
|
entered_from_non_parent_p.
|
1900 |
|
|
|
1901 |
|
|
* ira-color.c (print_loop_title): Print loop bbs.
|
1902 |
|
|
|
1903 |
|
|
* ira-emit.c (entered_from_non_parent_p,
|
1904 |
|
|
setup_entered_from_non_parent_p): New functions.
|
1905 |
|
|
(not_modified_p): Rename to store_can_be_removed_p. Check there
|
1906 |
|
|
is no side entries.
|
1907 |
|
|
(generate_edge_moves): Use store_can_be_removed_p instead of
|
1908 |
|
|
not_modified_p.
|
1909 |
|
|
(ira_emit): Call setup_entered_from_non_parent_p.
|
1910 |
|
|
|
1911 |
|
|
* ira-build.c (copy_info_to_removed_store_destinations):
|
1912 |
|
|
Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
|
1913 |
|
|
ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
|
1914 |
|
|
(ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
|
1915 |
|
|
update all accumulated attributes.
|
1916 |
|
|
|
1917 |
|
|
2008-11-19 Vladimir Makarov
|
1918 |
|
|
|
1919 |
|
|
PR bootstrap/37790
|
1920 |
|
|
* ira-int.h (ira_copy_allocno_live_range_list,
|
1921 |
|
|
ira_merge_allocno_live_ranges, ira_allocno_live_ranges_intersect_p,
|
1922 |
|
|
ira_finish_allocno_live_range_list): New prototypes.
|
1923 |
|
|
(ira_allocno_live_ranges_intersect_p,
|
1924 |
|
|
ira_pseudo_live_ranges_intersect_p): Remove.
|
1925 |
|
|
|
1926 |
|
|
* ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
|
1927 |
|
|
ira_pseudo_live_ranges_intersect_p): Rename to
|
1928 |
|
|
allocnos_have_intersected_live_ranges_p and
|
1929 |
|
|
pseudos_have_intersected_live_ranges_p. Move them from here to ...
|
1930 |
|
|
|
1931 |
|
|
* ira-color.c: ... here
|
1932 |
|
|
(coalesced_allocno_conflict_p): Use
|
1933 |
|
|
allocnos_have_intersected_live_ranges_p.
|
1934 |
|
|
(coalesced_allocnos_living_at_program_points,
|
1935 |
|
|
coalesced_allocnos_live_at_points_p,
|
1936 |
|
|
set_coalesced_allocnos_live_points): Remove.
|
1937 |
|
|
(slot_coalesced_allocnos_live_ranges,
|
1938 |
|
|
slot_coalesced_allocno_live_ranges_intersect_p,
|
1939 |
|
|
setup_slot_coalesced_allocno_live_ranges): New.
|
1940 |
|
|
(coalesce_spill_slots): Use ranges of coalesced allocnos.
|
1941 |
|
|
(ira_sort_regnos_for_alter_reg): Use
|
1942 |
|
|
allocnos_have_intersected_live_ranges_p.
|
1943 |
|
|
(ira_reuse_stack_slot): Use
|
1944 |
|
|
pseudos_have_intersected_live_ranges_p.
|
1945 |
|
|
|
1946 |
|
|
* global.c (pseudo_for_reload_consideration_p): Check
|
1947 |
|
|
flag_ira_share_spill_slots too.
|
1948 |
|
|
|
1949 |
|
|
* ira-build.c (copy_allocno_live_range_list): Rename to
|
1950 |
|
|
ira_copy_allocno_live_range_list. Make it external.
|
1951 |
|
|
(merge_ranges): Rename to ira_merge_allocno_live_ranges. Make it
|
1952 |
|
|
external.
|
1953 |
|
|
(ira_allocno_live_ranges_intersect_p): New.
|
1954 |
|
|
(ira_finish_allocno_live_range_list): New.
|
1955 |
|
|
(finish_allocno): Use it.
|
1956 |
|
|
(remove_unnecessary_allocnos): Use ira_merge_allocno_live_ranges.
|
1957 |
|
|
(copy_info_to_removed_store_destinations): Ditto. Use
|
1958 |
|
|
ira_copy_allocno_live_range_list.
|
1959 |
|
|
(ira_flattening): Use ira_merge_allocno_live_ranges.
|
1960 |
|
|
|
1961 |
|
|
* ira.c (too_high_register_pressure_p): New function.
|
1962 |
|
|
(ira): Switch off sharing spill slots if the pressure is too high.
|
1963 |
|
|
|
1964 |
|
|
2008-11-19 Richard Guenther
|
1965 |
|
|
|
1966 |
|
|
* tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with
|
1967 |
|
|
non-sizetype offsets if their precision matches that of the pointer.
|
1968 |
|
|
* expr.c (expand_expr_real_1): Always sign-extend the offset
|
1969 |
|
|
operand of a POINTER_PLUS_EXPR.
|
1970 |
|
|
|
1971 |
|
|
2008-11-19 Rainer Orth
|
1972 |
|
|
|
1973 |
|
|
* config.gcc: Unobsolete mips-sgi-irix[56]*.
|
1974 |
|
|
(mips-sgi-irix[56]*): No need to use fixproto.
|
1975 |
|
|
|
1976 |
|
|
2008-11-19 Maxim Kuvyrkov
|
1977 |
|
|
Paul Brook
|
1978 |
|
|
|
1979 |
|
|
* config/m68k/lb1sf68.asm: Add GNU-stack annotation to avoid
|
1980 |
|
|
executable stack.
|
1981 |
|
|
|
1982 |
|
|
2008-11-19 Maxim Kuvyrkov
|
1983 |
|
|
|
1984 |
|
|
* config/m68k/m68k.c (sched_attr_op_type): Handle all CONSTs.
|
1985 |
|
|
|
1986 |
|
|
2008-11-19 Razya Ladelsky
|
1987 |
|
|
|
1988 |
|
|
PR target/38156
|
1989 |
|
|
* tree-parloops.c (loop_parallel_p): NULL vect_dump.
|
1990 |
|
|
(separate_decls_in_region): Create shared struct even when there
|
1991 |
|
|
are only reductions.
|
1992 |
|
|
|
1993 |
|
|
2008-11-19 Hariharan Sandanagobalane
|
1994 |
|
|
|
1995 |
|
|
* config/picochip/picochip.c (headers): Remove an unnecessary
|
1996 |
|
|
header file.
|
1997 |
|
|
|
1998 |
|
|
2008-11-19 Andrew Stubbs
|
1999 |
|
|
|
2000 |
|
|
PR target/36133
|
2001 |
|
|
* config/m68k/m68k.h (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY): New defines.
|
2002 |
|
|
* config/m68k/m68k.c (notice_update_cc): Set cc_status properly for
|
2003 |
|
|
shift instructions.
|
2004 |
|
|
* config/m68k/m68k.md: Adjust all conditional branches that use the
|
2005 |
|
|
carry and overflow flags so they understand CC_OVERFLOW_UNUSABLE.
|
2006 |
|
|
|
2007 |
|
|
2008-11-18 Uros Bizjak
|
2008 |
|
|
|
2009 |
|
|
PR target/37362
|
2010 |
|
|
* config/mips/mips.md (move_doubleword_fpr): Check that "high"
|
2011 |
|
|
is a register or zero operand in the correct mode before generating
|
2012 |
|
|
mtch1 insn or a register operand in the correct mode before generating
|
2013 |
|
|
mfch1 insn.
|
2014 |
|
|
(mtch1): Correct operand 1 predicate to reg_or_0_operand.
|
2015 |
|
|
|
2016 |
|
|
2008-11-18 Adam Nemet
|
2017 |
|
|
|
2018 |
|
|
* config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
|
2019 |
|
|
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
|
2020 |
|
|
mipsisa*-*-elf*. Handle mipsisa64r2*.
|
2021 |
|
|
* config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
|
2022 |
|
|
* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
|
2023 |
|
|
mips64r2.
|
2024 |
|
|
(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
|
2025 |
|
|
* config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
|
2026 |
|
|
mips64r2.
|
2027 |
|
|
(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64. Add mips64r2/mips16.
|
2028 |
|
|
Fix mips16 if mips64 or mips64r2 are multilib defaults.
|
2029 |
|
|
* config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
|
2030 |
|
|
mips64r2.
|
2031 |
|
|
|
2032 |
|
|
2008-11-18 Jakub Jelinek
|
2033 |
|
|
|
2034 |
|
|
PR target/38130
|
2035 |
|
|
* config/i386/i386.md (allocate_stack_worker_32,
|
2036 |
|
|
allocate_stack_worker_64): Don't use match_dup between input and
|
2037 |
|
|
output operand.
|
2038 |
|
|
(allocate_stack): Adjust gen_stack_worker_{32,64} caller.
|
2039 |
|
|
* config/i386/i386.c (ix86_expand_prologue): Likewise.
|
2040 |
|
|
|
2041 |
|
|
2008-11-18 Kai Tietz
|
2042 |
|
|
|
2043 |
|
|
* config/i386/t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def
|
2044 |
|
|
is forced when trying to do a symbol link for it.
|
2045 |
|
|
|
2046 |
|
|
2008-11-17 Adam Nemet
|
2047 |
|
|
|
2048 |
|
|
* expmed.c (extract_bit_field_1): Also use a temporary and
|
2049 |
|
|
convert_extracted_bit_field when the conversion from ext_mode to
|
2050 |
|
|
the target mode requires explicit truncation.
|
2051 |
|
|
|
2052 |
|
|
2008-11-17 Richard Sandiford
|
2053 |
|
|
|
2054 |
|
|
* config/mips/mips.h (REG_ALLOC_ORDER): Put accumulators first.
|
2055 |
|
|
Tweak formatting.
|
2056 |
|
|
* config/mips/mips.c (mips_ira_cover_classes): Don't use accumulator
|
2057 |
|
|
registers when not optimizing.
|
2058 |
|
|
|
2059 |
|
|
2008-11-17 Richard Sandiford
|
2060 |
|
|
|
2061 |
|
|
* config/mips/mips.md (*mul_acc_si): Remove middle alternative
|
2062 |
|
|
and its associated define_split. Expose the all-d alternative
|
2063 |
|
|
to the register allocator, but mark it with "?". Mark the first
|
2064 |
|
|
alternative with "*?*?".
|
2065 |
|
|
(*mul_sub_si): Likewise.
|
2066 |
|
|
(*mul_acc_si_r3900): New pattern.
|
2067 |
|
|
|
2068 |
|
|
2008-11-17 Jakub Jelinek
|
2069 |
|
|
|
2070 |
|
|
PR middle-end/38140
|
2071 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If
|
2072 |
|
|
propagating x = &a into *x = b, add a cast if not useless
|
2073 |
|
|
type conversion or don't optimize if another stmt would be
|
2074 |
|
|
needed.
|
2075 |
|
|
|
2076 |
|
|
2008-11-17 Uros Bizjak
|
2077 |
|
|
|
2078 |
|
|
PR middle-end/37908
|
2079 |
|
|
* optabs.c (expand_sync_operation): Properly handle NAND case
|
2080 |
|
|
by calculating ~(t1 & val) instead of (~t1 & val).
|
2081 |
|
|
* builtins.c (expand_builtin_sync_operation): Warn for changed
|
2082 |
|
|
semantics in NAND builtins.
|
2083 |
|
|
* c.opt (Wsync-nand): New warning option. Describe -Wsync-nand.
|
2084 |
|
|
|
2085 |
|
|
* doc/invoke.texi (Warning options): Add Wsync-nand.
|
2086 |
|
|
* doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
|
2087 |
|
|
__sync_fetch_and_nand builtin operation in the example. Add a note
|
2088 |
|
|
about changed semantics in GCC 4.4.
|
2089 |
|
|
[__sync_nand_and_fetch]: Correct __sync_nand_and_fetch builtin
|
2090 |
|
|
operation in the example. Add a note about changed semantics in
|
2091 |
|
|
GCC 4.4.
|
2092 |
|
|
|
2093 |
|
|
2008-11-16 Jan Hubicka
|
2094 |
|
|
|
2095 |
|
|
* cgraph.c (cgraph_function_body_availability): Fix test of externally
|
2096 |
|
|
visible.
|
2097 |
|
|
|
2098 |
|
|
2008-11-16 Joshua Kinard
|
2099 |
|
|
|
2100 |
|
|
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=r1[0246]000
|
2101 |
|
|
to -mips4.
|
2102 |
|
|
|
2103 |
|
|
2008-11-16 Richard Sandiford
|
2104 |
|
|
|
2105 |
|
|
PR target/38052
|
2106 |
|
|
* config/mips/mips.c (mips_cfun_call_saved_reg_p)
|
2107 |
|
|
(mips_cfun_might_clobber_call_saved_reg_p): New functions,
|
2108 |
|
|
split out from...
|
2109 |
|
|
(mips_save_reg_p): ...here. Always consult TARGET_CALL_SAVED_GP
|
2110 |
|
|
rather than call_really_used_regs when handling $gp.
|
2111 |
|
|
|
2112 |
|
|
2008-11-16 Richard Sandiford
|
2113 |
|
|
|
2114 |
|
|
PR target/38052
|
2115 |
|
|
* config/mips/mips.c (machine_function): Update the comment
|
2116 |
|
|
above global_pointer.
|
2117 |
|
|
(mips_global_pointer): Use INVALID_REGNUM rather than 0 to indicate
|
2118 |
|
|
that a function doesn't need a global pointer.
|
2119 |
|
|
(mips_current_loadgp_style): Update accordingly.
|
2120 |
|
|
(mips_restore_gp): Likewise.
|
2121 |
|
|
(mips_output_cplocal): Likewise.
|
2122 |
|
|
(mips_expand_prologue): Likewise.
|
2123 |
|
|
|
2124 |
|
|
2008-11-16 Eric Botcazou
|
2125 |
|
|
|
2126 |
|
|
* config/sparc/sparc.c (function_arg_vector_value): Remove 'base_mode'
|
2127 |
|
|
parameter. Use DImode for computing the number of registers.
|
2128 |
|
|
(function_arg): Adjust for above change.
|
2129 |
|
|
(function_value): Likewise.
|
2130 |
|
|
|
2131 |
|
|
2008-11-15 Zdenek Dvorak
|
2132 |
|
|
|
2133 |
|
|
PR tree-optimization/37950
|
2134 |
|
|
* tree-flow-inline.h (memory_partition): Return NULL when aliases were
|
2135 |
|
|
not computed for the current function.
|
2136 |
|
|
|
2137 |
|
|
2008-11-15 Jakub Jelinek
|
2138 |
|
|
|
2139 |
|
|
PR target/38123
|
2140 |
|
|
* config/i386/i386.c (ix86_gimplify_va_arg): Don't share valist between
|
2141 |
|
|
gpr and other COMPONENT_REFs.
|
2142 |
|
|
|
2143 |
|
|
2008-11-15 Richard Guenther
|
2144 |
|
|
|
2145 |
|
|
PR tree-optimization/38051
|
2146 |
|
|
* tree-ssa-alias.c (update_alias_info_1): Manually find
|
2147 |
|
|
written variables.
|
2148 |
|
|
|
2149 |
|
|
2008-11-15 Joshua Kinard
|
2150 |
|
|
|
2151 |
|
|
* doc/invoke.texi (-mfix-r10000): Document.
|
2152 |
|
|
* config/mips/mips.opt (mfix-r10000): New option.
|
2153 |
|
|
* config/mips/mips-protos.h (mips_output_sync_loop): Declare.
|
2154 |
|
|
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Use %?.
|
2155 |
|
|
(MIPS_COMPARE_AND_SWAP_12): Likewise.
|
2156 |
|
|
(MIPS_SYNC_OP): Likewise.
|
2157 |
|
|
(MIPS_SYNC_OP_12): Likewise.
|
2158 |
|
|
(MIPS_SYNC_OLD_OP_12): Likewise.
|
2159 |
|
|
(MIPS_SYNC_NEW_OP_12): Likewise.
|
2160 |
|
|
(MIPS_SYNC_OLD_OP): Likewise.
|
2161 |
|
|
(MIPS_SYNC_NAND): Likewise.
|
2162 |
|
|
(MIPS_SYNC_OLD_NAND): Likewise.
|
2163 |
|
|
(MIPS_SYNC_EXCHANGE): Likewise.
|
2164 |
|
|
(MIPS_SYNC_EXCHANGE_12): Likewise.
|
2165 |
|
|
(MIPS_SYNC_NEW_OP): Likewise, using %~ to fill branch-likely
|
2166 |
|
|
delay slots.
|
2167 |
|
|
(MIPS_SYNC_NEW_NAND): Likewise.
|
2168 |
|
|
* config/mips/mips.c (mips_print_operand_punctuation): Handle '~'.
|
2169 |
|
|
(mips_init_print_operand_punct): Treat '~' as a punctuation character.
|
2170 |
|
|
(mips_output_sync_loop): New function.
|
2171 |
|
|
(mips_override_options): Make -march=r10000 imply -mfix-r10000.
|
2172 |
|
|
Make -mfix-r10000 require branch-likely instructions.
|
2173 |
|
|
* config/mips/sync.md (sync_compare_and_swap): Use
|
2174 |
|
|
mips_output_sync_loop.
|
2175 |
|
|
(compare_and_swap_12): Likewise.
|
2176 |
|
|
(sync_add): Likewise.
|
2177 |
|
|
(sync__12): Likewise.
|
2178 |
|
|
(sync_old__12): Likewise.
|
2179 |
|
|
(sync_new__12): Likewise.
|
2180 |
|
|
(sync_nand_12): Likewise.
|
2181 |
|
|
(sync_old_nand_12): Likewise.
|
2182 |
|
|
(sync_new_nand_12): Likewise.
|
2183 |
|
|
(sync_sub): Likewise.
|
2184 |
|
|
(sync_old_add): Likewise.
|
2185 |
|
|
(sync_old_sub): Likewise.
|
2186 |
|
|
(sync_new_add): Likewise.
|
2187 |
|
|
(sync_new_sub): Likewise.
|
2188 |
|
|
(sync_): Likewise.
|
2189 |
|
|
(sync_old_): Likewise.
|
2190 |
|
|
(sync_new_): Likewise.
|
2191 |
|
|
(sync_nand): Likewise.
|
2192 |
|
|
(sync_old_nand): Likewise.
|
2193 |
|
|
(sync_new_nand): Likewise.
|
2194 |
|
|
(sync_lock_test_and_set): Likewise.
|
2195 |
|
|
(test_and_set_12): Likewise.
|
2196 |
|
|
|
2197 |
|
|
2008-11-15 Eric Botcazou
|
2198 |
|
|
|
2199 |
|
|
* gcc.c (cc1_options): Fix comment.
|
2200 |
|
|
|
2201 |
|
|
2008-11-15 Jakub Jelinek
|
2202 |
|
|
|
2203 |
|
|
PR c++/37561
|
2204 |
|
|
* c-typeck.c (build_unary_op): Don't call get_unwidened. Use
|
2205 |
|
|
argtype instead of result_type.
|
2206 |
|
|
|
2207 |
|
|
2008-11-14 Adam Nemet
|
2208 |
|
|
|
2209 |
|
|
* ira-int.h (struct ira_loop_tree_node): Improve comments for
|
2210 |
|
|
subloop_next/next and subloops/childen fields.
|
2211 |
|
|
|
2212 |
|
|
2008-11-14 Ulrich Weigand
|
2213 |
|
|
|
2214 |
|
|
* config/spu/spu-elf.h (STANDARD_STARTFILE_PREFIX_2): Disable default.
|
2215 |
|
|
(STANDARD_INCLUDE_DIR): Redefine to "/include".
|
2216 |
|
|
(LOCAL_INCLUDE_DIR): Undefine.
|
2217 |
|
|
* config/spu/t-spu-elf (NATIVE_SYSTEM_HEADER_DIR): Define.
|
2218 |
|
|
|
2219 |
|
|
2008-11-14 Vladimir Makarov
|
2220 |
|
|
|
2221 |
|
|
PR rtl-optimization/37397
|
2222 |
|
|
* ira-int.h (struct ira_allocno): New member bad_spill_p.
|
2223 |
|
|
(ALLOCNO_BAD_SPILL_P): New macro.
|
2224 |
|
|
|
2225 |
|
|
* ira-color.c (push_allocnos_to_stack): Check ALLOCNO_BAD_SPILL_P.
|
2226 |
|
|
|
2227 |
|
|
* ira-build.c (ira_create_allocno): Initialize ALLOCNO_BAD_SPILL_P.
|
2228 |
|
|
(create_cap_allocno, propagate_allocno_info,
|
2229 |
|
|
remove_unnecessary_allocnos): Set up or update ALLOCNO_BAD_SPILL_P.
|
2230 |
|
|
(update_bad_spill_attribute): New function.
|
2231 |
|
|
(ira_build): Call it.
|
2232 |
|
|
|
2233 |
|
|
* ira-costs.c (record_reg_classes): Set up ALLOCNO_BAD_SPILL_P.
|
2234 |
|
|
|
2235 |
|
|
2008-11-14 Jakub Jelinek
|
2236 |
|
|
|
2237 |
|
|
PR tree-optimization/38104
|
2238 |
|
|
* gimplify.c (gimple_regimplify_operands): Add referenced vars
|
2239 |
|
|
before calling mark_symbols_for_renaming, not after it.
|
2240 |
|
|
|
2241 |
|
|
2008-11-14 Kaz Kojima
|
2242 |
|
|
|
2243 |
|
|
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Revert last change.
|
2244 |
|
|
(OVERRIDE_OPTIONS): Likewise.
|
2245 |
|
|
|
2246 |
|
|
2008-11-14 Maxim Kuvyrkov
|
2247 |
|
|
Andrew Stubbs
|
2248 |
|
|
Gunnar Von Boehn
|
2249 |
|
|
|
2250 |
|
|
PR target/36134
|
2251 |
|
|
* config/m68k/m68k.md (addsi3_5200): Add a new alternative preferring
|
2252 |
|
|
the shorter LEA insn over ADD.L where possible.
|
2253 |
|
|
|
2254 |
|
|
2008-11-14 Thomas Schwinge
|
2255 |
|
|
|
2256 |
|
|
* configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/Hurd
|
2257 |
|
|
systems, which are assumend to always provide SSP-support in glibc.
|
2258 |
|
|
Also consider GNU/kFreeBSD, GNU/kNetBSD systems in the `*-*-linux*'
|
2259 |
|
|
case.
|
2260 |
|
|
* configure: Regenerate.
|
2261 |
|
|
|
2262 |
|
|
2008-11-14 Jakub Jelinek
|
2263 |
|
|
|
2264 |
|
|
PR middle-end/36125
|
2265 |
|
|
* function.c (gimplify_parameters): For callee copies parameters,
|
2266 |
|
|
move TREE_ADDRESSABLE flag from the PARM_DECL to the local copy.
|
2267 |
|
|
|
2268 |
|
|
2008-11-13 Thomas Schwinge
|
2269 |
|
|
|
2270 |
|
|
PR target/28102
|
2271 |
|
|
* config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*',
|
2272 |
|
|
x86 parts into the `i[34567]86-*-linux*' and parts that are
|
2273 |
|
|
independent of the processor architecture into the `*-*-linux*' cases.
|
2274 |
|
|
(*-*-linux*): Consider `linux.opt' only for Linux-based configurations.
|
2275 |
|
|
* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Redefine.
|
2276 |
|
|
(TARGET_OS_CPP_BUILTINS, LINK_SPEC): Don't redefine.
|
2277 |
|
|
[TARGET_LIBC_PROVIDES_SSP] (TARGET_THREAD_SSP_OFFSET): Undefine.
|
2278 |
|
|
* config/gnu.h (NO_IMPLICIT_EXTERN_C): Don't redefine.
|
2279 |
|
|
(HURD_TARGET_OS_CPP_BUILTINS): Don't define, but instead...
|
2280 |
|
|
(LINUX_TARGET_OS_CPP_BUILTINS): Redefine.
|
2281 |
|
|
|
2282 |
|
|
2008-11-13 Ruan Beihong
|
2283 |
|
|
|
2284 |
|
|
* config/mips/loongson.md (div3, mod3): New patterns.
|
2285 |
|
|
* config/mips/loongson2ef.md (ls2_imult): Handle imul3nc.
|
2286 |
|
|
(ls2_idiv): Likewise idiv3.
|
2287 |
|
|
(ls2_prefetch): New reservation.
|
2288 |
|
|
* config/mips/mips.h (ISA_HAS_PREFETCH): Add TARGET_LOONGSON_2EF.
|
2289 |
|
|
* config/mips/mips.md (type): Add imul3nc and idiv3.
|
2290 |
|
|
(length): Handle idiv3.
|
2291 |
|
|
(any_mod): New code_iterator.
|
2292 |
|
|
(u): Handle MOD and UMOD.
|
2293 |
|
|
(mul3): Generate mul3_mul3_ls2ef on Loongson targets.
|
2294 |
|
|
(prefetch): Handle TARGET_LOONGSON_2EF.
|
2295 |
|
|
|
2296 |
|
|
2008-11-13 Jakub Jelinek
|
2297 |
|
|
|
2298 |
|
|
PR c++/27017
|
2299 |
|
|
* dwarf2out.c (prune_unused_types_walk_local_classes): New function.
|
2300 |
|
|
(prune_unused_types_walk): Call it for non-perennial local classes.
|
2301 |
|
|
Set die_mark to 2 if recursing on children. If die_mark is 1 on
|
2302 |
|
|
entry, just set it to 2 and recurse on children, don't walk attributes
|
2303 |
|
|
again.
|
2304 |
|
|
|
2305 |
|
|
2008-11-13 Martin Michlmayr
|
2306 |
|
|
|
2307 |
|
|
* c-common.c (warn_about_parentheses): Add missing whitespace
|
2308 |
|
|
in warning.
|
2309 |
|
|
|
2310 |
|
|
2008-11-13 Paul Brook
|
2311 |
|
|
|
2312 |
|
|
* doc/invoke.texi: Document --fix-cortex-m3.
|
2313 |
|
|
* config/arm/arm.c (arm_override_options): Set fix_cm3_ldrd if
|
2314 |
|
|
Cortex-M3 cpu is selected.
|
2315 |
|
|
(output_move_double): Avoid overlapping base register and first
|
2316 |
|
|
destination register when fix_cm3_ldrd.
|
2317 |
|
|
* config/arm/arm.opt: Add mfix-cortex-m3-ldrd.
|
2318 |
|
|
|
2319 |
|
|
2008-11-13 Jakub Jelinek
|
2320 |
|
|
|
2321 |
|
|
PR bootstrap/38100
|
2322 |
|
|
* gimple.h (gimple_range_check_failed): Remove prototype.
|
2323 |
|
|
* gimple.c (gimple_check_failed): Don't check GCC_VERSION
|
2324 |
|
|
in guarding #if.
|
2325 |
|
|
(gimple_range_check_failed): Removed.
|
2326 |
|
|
|
2327 |
|
|
2008-11-13 Andrew Haley
|
2328 |
|
|
|
2329 |
|
|
PR bootstrap/38088
|
2330 |
|
|
* mcf.c (CAP_INFINITY): Use HOST_WIDEST_INT maximum, not GCC specific
|
2331 |
|
|
__LONG_LONG_MAX__.
|
2332 |
|
|
|
2333 |
|
|
2008-11-12 Jakub Jelinek
|
2334 |
|
|
|
2335 |
|
|
PR c++/36478
|
2336 |
|
|
Revert:
|
2337 |
|
|
2007-05-07 Mike Stump
|
2338 |
|
|
* doc/invoke.texi (Warning Options): Document that -Wempty-body
|
2339 |
|
|
also checks for and while statements in C++.
|
2340 |
|
|
|
2341 |
|
|
2008-11-12 Dodji Seketeli
|
2342 |
|
|
|
2343 |
|
|
PR debug/27574
|
2344 |
|
|
* cgraph.h: New abstract_and_needed member to struct cgraph_node.
|
2345 |
|
|
* cgraphunit.c (cgraph_analyze_functions): Flag abstract functions
|
2346 |
|
|
- which clones are reachable - as "abstract and needed".
|
2347 |
|
|
* cgraph.c (cgraph_release_function_body): If a node is
|
2348 |
|
|
"abstract and needed", do not release its DECL_INITIAL() content
|
2349 |
|
|
that will be needed to emit debug info.
|
2350 |
|
|
|
2351 |
|
|
2008-11-12 Steve Ellcey
|
2352 |
|
|
|
2353 |
|
|
PR target/27880
|
2354 |
|
|
* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Use this macro
|
2355 |
|
|
to set HAVE_GETIPINFO.
|
2356 |
|
|
* aclocal.m4: Include ../config/unwind_ipinfo.m4.
|
2357 |
|
|
* configure: Regenerate.
|
2358 |
|
|
* config.in: Regenerate.
|
2359 |
|
|
|
2360 |
|
|
2008-11-12 Jack Howarth
|
2361 |
|
|
|
2362 |
|
|
PR bootstrap/38010
|
2363 |
|
|
* gcc/config.gcc: Use darwin9.h on darwin10 as well.
|
2364 |
|
|
|
2365 |
|
|
2008-11-12 Jakub Jelinek
|
2366 |
|
|
|
2367 |
|
|
Revert:
|
2368 |
|
|
2008-10-21 Jakub Jelinek
|
2369 |
|
|
* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW from INTEGER_CSTs.
|
2370 |
|
|
|
2371 |
|
|
2008-11-12 Jason Merrill
|
2372 |
|
|
|
2373 |
|
|
PR c++/38007
|
2374 |
|
|
* c-common.c (c_common_signed_or_unsigned_type): Remove C++
|
2375 |
|
|
special casing.
|
2376 |
|
|
|
2377 |
|
|
2008-11-12 Anatoly Sokolov
|
2378 |
|
|
|
2379 |
|
|
* config/avr/avr.c (avr_mcu_t): Add atmega16hvb, atmega32hvb,
|
2380 |
|
|
atmega4hvd, atmega8hvd, atmega64c1, atmega64m1, atmega16u4 and
|
2381 |
|
|
atmega32u6 devices.
|
2382 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
|
2383 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
|
2384 |
|
|
|
2385 |
|
|
2008-11-12 Ulrich Weigand
|
2386 |
|
|
|
2387 |
|
|
* gcc/config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Remove
|
2388 |
|
|
packed-stack special handling.
|
2389 |
|
|
(FRAME_ADDR_RTX): Add definition.
|
2390 |
|
|
|
2391 |
|
|
2008-11-12 Jakub Jelinek
|
2392 |
|
|
|
2393 |
|
|
PR target/35366
|
2394 |
|
|
* fold-const.c (native_encode_string): New function.
|
2395 |
|
|
(native_encode_expr): Use it for STRING_CST.
|
2396 |
|
|
|
2397 |
|
|
2008-11-12 DJ Delorie
|
2398 |
|
|
|
2399 |
|
|
* config/m32c/cond.md (cond_to_int peephole2): Don't eliminate the
|
2400 |
|
|
insns if the intermediate value will be used later.
|
2401 |
|
|
|
2402 |
|
|
2008-11-12 Andreas Schwab
|
2403 |
|
|
|
2404 |
|
|
* config/m68k/m68k.c (print_operand): Mask off extra extension
|
2405 |
|
|
bits when writing out the representation of real values.
|
2406 |
|
|
|
2407 |
|
|
2008-11-12 Ira Rosen
|
2408 |
|
|
|
2409 |
|
|
PR tree-optimization/38079
|
2410 |
|
|
* tree-vect-analyze.c (vect_analyze_data_refs): Replace dump_file
|
2411 |
|
|
with vect_dump.
|
2412 |
|
|
|
2413 |
|
|
2008-11-12 Jakub Jelinek
|
2414 |
|
|
|
2415 |
|
|
PR c++/35334
|
2416 |
|
|
* c-pretty-print.c (pp_c_complex_expr): New function.
|
2417 |
|
|
(pp_c_postfix_expression) : Call it.
|
2418 |
|
|
|
2419 |
|
|
PR target/35366
|
2420 |
|
|
* expr.c (expand_expr_addr_expr_1): If EXP needs bigger alignment
|
2421 |
|
|
than INNER and INNER is a constant, forcibly align INNER as much
|
2422 |
|
|
as needed.
|
2423 |
|
|
|
2424 |
|
|
2008-11-11 Richard Sandiford
|
2425 |
|
|
|
2426 |
|
|
* cse.c (fold_rtx): Remove redundant gen_rtx_CONST.
|
2427 |
|
|
|
2428 |
|
|
2008-11-11 Richard Sandiford
|
2429 |
|
|
|
2430 |
|
|
PR rtl-optimization/37363
|
2431 |
|
|
* simplify-rtx.c (simplify_plus_minus): Don't create
|
2432 |
|
|
(const (minus ...)) expresisons.
|
2433 |
|
|
|
2434 |
|
|
2008-11-11 Eric Botcazou
|
2435 |
|
|
|
2436 |
|
|
* ira-lives.c (process_bb_node_lives): Restore EH_RETURN_DATA_REGNO
|
2437 |
|
|
handling.
|
2438 |
|
|
|
2439 |
|
|
2008-11-10 Catherine Moore
|
2440 |
|
|
|
2441 |
|
|
* config.gcc (mips64vrel-*-elf*): Include the tm_file
|
2442 |
|
|
prior to vr.h.
|
2443 |
|
|
* config/mips/linux.h (LINUX_DRIVER_SELF_SPECS): New.
|
2444 |
|
|
(BASE_DRIVER_SELF_SPECS): Remove.
|
2445 |
|
|
(DRIVER_SELF_SPECS): New definition.
|
2446 |
|
|
* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Include
|
2447 |
|
|
BASE_DRIVER_SELF_SPECS.
|
2448 |
|
|
* config/mips/sde.h: Likewise.
|
2449 |
|
|
* config/mips/iris6.h: Likewise.
|
2450 |
|
|
* config/mips/vr.h: Likewise.
|
2451 |
|
|
* config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New.
|
2452 |
|
|
|
2453 |
|
|
2008-11-10 Vladimir Makarov
|
2454 |
|
|
|
2455 |
|
|
PR rtl-optimizations/37948
|
2456 |
|
|
* ira-int.h (struct ira_allocno_copy): New member constraint_p.
|
2457 |
|
|
(ira_create_copy, ira_add_allocno_copy): New parameter.
|
2458 |
|
|
|
2459 |
|
|
* ira-conflicts.c (process_regs_for_copy): New parameter. Pass it
|
2460 |
|
|
to ira_add_allocno_copy.
|
2461 |
|
|
(process_reg_shuffles, add_insn_allocno_copies): Pass a new
|
2462 |
|
|
parameter to process_regs_for_copy.
|
2463 |
|
|
(propagate_copies): Pass a new parameter to ira_add_allocno_copy.
|
2464 |
|
|
Fix typo in passing second allocno to ira_add_allocno_copy.
|
2465 |
|
|
|
2466 |
|
|
* ira-color.c (update_conflict_hard_regno_costs): Use head of
|
2467 |
|
|
coalesced allocnos list.
|
2468 |
|
|
(assign_hard_reg): Ditto. Check that assigned allocnos are not in
|
2469 |
|
|
the graph.
|
2470 |
|
|
(add_ira_allocno_to_bucket): Rename to add_allocno_to_bucket.
|
2471 |
|
|
(add_ira_allocno_to_ordered_bucket): Rename to
|
2472 |
|
|
add_allocno_to_ordered_bucket.
|
2473 |
|
|
(push_ira_allocno_to_stack): Rename to push_allocno_to_stack. Use
|
2474 |
|
|
head of coalesced allocnos list.
|
2475 |
|
|
(push_allocnos_to_stack): Remove calculation of ALLOCNO_TEMP.
|
2476 |
|
|
Check that it is aready calculated.
|
2477 |
|
|
(push_ira_allocno_to_spill): Rename to push_ira_allocno_to_spill.
|
2478 |
|
|
(setup_allocno_left_conflicts_num): Use head of coalesced allocnos
|
2479 |
|
|
list.
|
2480 |
|
|
(coalesce_allocnos): Do extended coalescing too.
|
2481 |
|
|
|
2482 |
|
|
* ira-emit.c (add_range_and_copies_from_move_list): Pass a new
|
2483 |
|
|
parameter to ira_add_allocno_copy.
|
2484 |
|
|
|
2485 |
|
|
* ira-build.c (ira_create_copy, ira_add_allocno_copy): Add a new
|
2486 |
|
|
parameter.
|
2487 |
|
|
(print_copy): Print copy origination too.
|
2488 |
|
|
|
2489 |
|
|
* ira-costs.c (scan_one_insn): Use alloc_pref for load from
|
2490 |
|
|
equivalent memory.
|
2491 |
|
|
|
2492 |
|
|
2008-11-10 Kaz Kojima
|
2493 |
|
|
|
2494 |
|
|
PR rtl-optimization/37514
|
2495 |
|
|
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set
|
2496 |
|
|
flag_ira_share_spill_slots to 2 if it's already non-zero.
|
2497 |
|
|
(OVERRIDE_OPTIONS): Clear flag_ira_share_spill_slots if
|
2498 |
|
|
flag_ira_share_spill_slots is 2.
|
2499 |
|
|
|
2500 |
|
|
2008-11-10 Kevin Buettner
|
2501 |
|
|
|
2502 |
|
|
* config/m32c/prologue.md (prologue_enter_16): Set FB to SP - 2.
|
2503 |
|
|
(prologue_enter_32): Set FB to SP - 4.
|
2504 |
|
|
|
2505 |
|
|
2008-11-10 DJ Delorie
|
2506 |
|
|
|
2507 |
|
|
* config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add ImB
|
2508 |
|
|
constraint for single-bit-clear in lower byte of HI constant, vs
|
2509 |
|
|
Imb which just ignores the upper byte.
|
2510 |
|
|
* config/m32c/predicates.md (m32c_1mask8_operand): Use it.
|
2511 |
|
|
* config/m32c/bitops.md (andhi3_16, andhi3_24): Use it.
|
2512 |
|
|
(iorhi3_16): Check for single bit set, not single bit clear.
|
2513 |
|
|
|
2514 |
|
|
2008-11-10 Janis Johnson
|
2515 |
|
|
|
2516 |
|
|
* doc/sourcebuild.texi (Torture Tests): Fix formatting for bullets.
|
2517 |
|
|
|
2518 |
|
|
* doc/sourcebuild.texi (Torture Tests): Fix formatting in example.
|
2519 |
|
|
|
2520 |
|
|
2008-11-10 Eric Botcazou
|
2521 |
|
|
|
2522 |
|
|
* calls.c (store_unaligned_arguments_into_pseudos): Deal only with
|
2523 |
|
|
values living in memory and use more precise alignment information.
|
2524 |
|
|
|
2525 |
|
|
2008-11-10 Jakub Jelinek
|
2526 |
|
|
|
2527 |
|
|
PR middle-end/35314
|
2528 |
|
|
* tree-mudflap.c (mf_build_check_statement_for): Split then_block
|
2529 |
|
|
after __mf_check call if the call must end a bb.
|
2530 |
|
|
|
2531 |
|
|
2008-11-10 Ralph Loader
|
2532 |
|
|
|
2533 |
|
|
PR middle-end/37807
|
2534 |
|
|
PR middle-end/37809
|
2535 |
|
|
* combine.c (force_to_mode): Do not process vector types.
|
2536 |
|
|
|
2537 |
|
|
* rtlanal.c (nonzero_bits1): Do not process vector types.
|
2538 |
|
|
(num_sign_bit_copies1): Likewise.
|
2539 |
|
|
|
2540 |
|
|
2008-11-09 Thomas Schwinge
|
2541 |
|
|
|
2542 |
|
|
* config/i386/gnu.h: Add copyright and licensing header.
|
2543 |
|
|
* config/gnu.h: Likewise.
|
2544 |
|
|
|
2545 |
|
|
2008-11-07 Andrew Pinski
|
2546 |
|
|
|
2547 |
|
|
* fwprop.c (fwprop_done): Call df_remove_problem.
|
2548 |
|
|
|
2549 |
|
|
2008-11-07 Sebastian Pop
|
2550 |
|
|
|
2551 |
|
|
PR middle-end/37379
|
2552 |
|
|
* tree-scalar-evolution.c (instantiate_scev_1): Return
|
2553 |
|
|
chrec_dont_know for VL_EXP_CLASS_P.
|
2554 |
|
|
|
2555 |
|
|
2008-11-06 Uros Bizjak
|
2556 |
|
|
|
2557 |
|
|
* reg-stack.c (reg_to_stack): Add missing braces in memset
|
2558 |
|
|
size calculation.
|
2559 |
|
|
|
2560 |
|
|
2008-11-06 Andrew Stubbs
|
2561 |
|
|
|
2562 |
|
|
* config/arm/bpabi.h (PROFILE_HOOK): New undef.
|
2563 |
|
|
(NO_PROFILE_COUNTERS): New define.
|
2564 |
|
|
|
2565 |
|
|
2008-11-06 David Edelsohn
|
2566 |
|
|
|
2567 |
|
|
PR target/26397
|
2568 |
|
|
* config/rs6000/aix.h (LIBSTDCXX_STATIC): Define.
|
2569 |
|
|
|
2570 |
|
|
2008-11-06 Kazu Hirata
|
2571 |
|
|
|
2572 |
|
|
PR target/35574
|
2573 |
|
|
* config/sparc/constraints.md (D): New.
|
2574 |
|
|
* config/sparc/predicates.md (const_double_or_vector_operand): New.
|
2575 |
|
|
* config/sparc/sparc.c (sparc_extra_constraint_check): Handle the
|
2576 |
|
|
'D' constraint.
|
2577 |
|
|
* config/sparc/sparc.md (*movdf_insn_sp32_v9, *movdf_insn_sp64):
|
2578 |
|
|
Use the 'D' constraint in addition to 'F' in some alternatives.
|
2579 |
|
|
(DF splitter): Generalize for V64mode.
|
2580 |
|
|
* doc/md.texi (SPARC): Document the 'D' constraint.
|
2581 |
|
|
|
2582 |
|
|
2008-11-06 Uros Bizjak
|
2583 |
|
|
|
2584 |
|
|
* reg-stack.c (reg_to_stack): Generate +QNaN using real_nan.
|
2585 |
|
|
|
2586 |
|
|
2008-11-06 Ben Elliston
|
2587 |
|
|
|
2588 |
|
|
* gcc.c: Remove ancient comment about a bug in Sun cc.
|
2589 |
|
|
|
2590 |
|
|
2008-11-05 Janis Johnson
|
2591 |
|
|
|
2592 |
|
|
* doc/sourcebuild.texi (Torture Tests): Add ADDITIONAL_TORTURE_OPTIONS.
|
2593 |
|
|
|
2594 |
|
|
2008-11-06 Ben Elliston
|
2595 |
|
|
|
2596 |
|
|
* config/rs6000/rs6000.c (rs6000_override_options): Comment fix.
|
2597 |
|
|
|
2598 |
|
|
2008-11-06 Ben Elliston
|
2599 |
|
|
|
2600 |
|
|
* config/rs6000/rs6000.opt (mwarn-cell-microcode): Improve option
|
2601 |
|
|
description.
|
2602 |
|
|
|
2603 |
|
|
2008-11-05 Hans-Peter Nilsson
|
2604 |
|
|
|
2605 |
|
|
PR target/38016
|
2606 |
|
|
* config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not
|
2607 |
|
|
just MEM_P.
|
2608 |
|
|
|
2609 |
|
|
2008-11-05 Martin Jambor
|
2610 |
|
|
|
2611 |
|
|
PR middle-end/37861
|
2612 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't turn
|
2613 |
|
|
pointer arithmetics into array_ref if the array is accessed
|
2614 |
|
|
through an indirect_ref.
|
2615 |
|
|
|
2616 |
|
|
2008-11-05 Richard Guenther
|
2617 |
|
|
|
2618 |
|
|
PR middle-end/37742
|
2619 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): Check different restrict
|
2620 |
|
|
qualified pointer conversion before stripping qualifiers.
|
2621 |
|
|
* gimplify.c (create_tmp_from_val): Use correctly qualified type.
|
2622 |
|
|
* tree-flow.h (may_propagate_address_into_dereference): Declare.
|
2623 |
|
|
* tree-ssa-ccp.c (may_propagate_address_into_dereference): New
|
2624 |
|
|
function.
|
2625 |
|
|
(ccp_fold): Use it.
|
2626 |
|
|
* tree-ssa-forwprop.c (rhs_to_tree): Remove useless conversions,
|
2627 |
|
|
properly canonicalize binary ops.
|
2628 |
|
|
(forward_propagate_addr_expr_1): Use
|
2629 |
|
|
may_propagate_address_into_dereference.
|
2630 |
|
|
|
2631 |
|
|
2008-11-05 Uros Bizjak
|
2632 |
|
|
|
2633 |
|
|
PR middle-end/37286
|
2634 |
|
|
* reg-stack.c (subst_stack_regs_pat) [MINUS, DIV, MULT, PLUS]:
|
2635 |
|
|
Initialize uninitialized input registers with a NaN.
|
2636 |
|
|
|
2637 |
|
|
2008-11-05 Tobias Grosser
|
2638 |
|
|
|
2639 |
|
|
PR middle-end/37833
|
2640 |
|
|
|
2641 |
|
|
* graphite.c (scan_tree_for_params): Add POINTER_PLUS_EXPR.
|
2642 |
|
|
|
2643 |
|
|
2008-11-05 Tobias Grosser
|
2644 |
|
|
|
2645 |
|
|
PR middle-end/37943
|
2646 |
|
|
|
2647 |
|
|
* graphite.c (scopdet_basic_block_info): Fix loops with multiple
|
2648 |
|
|
exits and conditions.
|
2649 |
|
|
* testsuite/gcc.dg/graphite/pr37943.c: New.
|
2650 |
|
|
|
2651 |
|
|
2008-11-04 Jakub Jelinek
|
2652 |
|
|
Andrew Pinski
|
2653 |
|
|
|
2654 |
|
|
PR c/35430
|
2655 |
|
|
* c-common.c (warn_for_sign_compare): For complex result_type
|
2656 |
|
|
use component's type.
|
2657 |
|
|
|
2658 |
|
|
2008-11-04 Jakub Jelinek
|
2659 |
|
|
|
2660 |
|
|
* print-tree.c (print_node): Use code instead of TREE_CODE (node).
|
2661 |
|
|
|
2662 |
|
|
* print-tree.c (print_node): Don't print DECL_INITIAL
|
2663 |
|
|
for PARM_DECL.
|
2664 |
|
|
|
2665 |
|
|
PR c/37106
|
2666 |
|
|
* c-common.c (parse_optimize_options): Save and restore
|
2667 |
|
|
flag_strict_aliasing around decode_options call.
|
2668 |
|
|
|
2669 |
|
|
2008-11-04 Uros Bizjak
|
2670 |
|
|
|
2671 |
|
|
* config/i386/driver-i386.c (enum vendor_signatures): New enum.
|
2672 |
|
|
(host_detect_local_cpu): Use it instead of casted strings to
|
2673 |
|
|
compare vendor signatures.
|
2674 |
|
|
|
2675 |
|
|
2008-11-03 Mikael Pettersson
|
2676 |
|
|
|
2677 |
|
|
PR target/37989
|
2678 |
|
|
* config/i386/mingw32.h (REAL_LIBGCC_SPEC): Only add libgcc_s.a
|
2679 |
|
|
or libgcc_eh.a to spec if ENABLE_SHARED_LIBGCC.
|
2680 |
|
|
|
2681 |
|
|
2008-11-03 Catherine Moore
|
2682 |
|
|
|
2683 |
|
|
* config/mips.c (mips_conditional_register_usage): Handle the
|
2684 |
|
|
DSP control register.
|
2685 |
|
|
* doc/extend.texi: Document the DSP control register.
|
2686 |
|
|
|
2687 |
|
|
2008-11-03 Steve Ellcey
|
2688 |
|
|
Jakub Jelinek
|
2689 |
|
|
|
2690 |
|
|
* omp-low.c (expand_omp_for_generic): If iter_type has different
|
2691 |
|
|
precision than type and type is a pointer type, cast n1 and n2
|
2692 |
|
|
first to an integer type with the same precision as pointers
|
2693 |
|
|
and only afterwards to iter_type.
|
2694 |
|
|
|
2695 |
|
|
2008-11-03 Richard Sandiford
|
2696 |
|
|
|
2697 |
|
|
* config/arm/arm.md (UNSPEC_PIC_BASE): Update documentation.
|
2698 |
|
|
(UNSPEC_GOTSYM_OFF): New unspec.
|
2699 |
|
|
(pic_add_dot_plus_four): Simplify the UNSPEC_PIC_BASE operands.
|
2700 |
|
|
(pic_add_dot_plus_eight): Likewise.
|
2701 |
|
|
(tls_load_dot_plus_eight): Likewise. Update peephole2.
|
2702 |
|
|
* config/arm/thumb2.md (pic_load_dot_plus_four): Simplify the
|
2703 |
|
|
UNSPEC_PIC_BASE operands.
|
2704 |
|
|
* config/arm/arm.c (arm_load_pic_register): Use UNSPEC_GOTSYM_OFF.
|
2705 |
|
|
(arm_output_addr_const_extra): Handle it.
|
2706 |
|
|
|
2707 |
|
|
2008-11-03 Eric Botcazou
|
2708 |
|
|
|
2709 |
|
|
* config/i386/i386.c (classify_argument) : Promote partial
|
2710 |
|
|
integer class to full integer class if the offset is not word-aligned.
|
2711 |
|
|
|
2712 |
|
|
2008-11-03 Andrew Pinski
|
2713 |
|
|
|
2714 |
|
|
PR rtl-opt/37782
|
2715 |
|
|
* loop-doloop.c (doloop_modify): Add from_mode argument that says what
|
2716 |
|
|
mode count is in.
|
2717 |
|
|
(doloop_optimize): Update call to doloop_modify.
|
2718 |
|
|
|
2719 |
|
|
2008-11-03 Eric Botcazou
|
2720 |
|
|
|
2721 |
|
|
* tree-sra.c (bitfield_overlaps_p): Fix oversight.
|
2722 |
|
|
|
2723 |
|
|
2008-11-03 Rainer Orth
|
2724 |
|
|
|
2725 |
|
|
PR other/37463
|
2726 |
|
|
* configure.ac (gcc_cv_ld_ro_rw_mix): Move before
|
2727 |
|
|
gcc_cv_as_cfi_directive.
|
2728 |
|
|
(gcc_cv_as_cfi_directive) [*-*-solaris*]: Check if linker supports
|
2729 |
|
|
merging read-only and read-write sections or assembler emits
|
2730 |
|
|
read-write .eh_frame sections.
|
2731 |
|
|
* configure: Regenerate.
|
2732 |
|
|
|
2733 |
|
|
2008-11-03 Nathan Froyd
|
2734 |
|
|
|
2735 |
|
|
Revert:
|
2736 |
|
|
2008-10-31 Nathan Froyd
|
2737 |
|
|
|
2738 |
|
|
* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
|
2739 |
|
|
problem.
|
2740 |
|
|
(rs6000_emit_prologue): Invert logic.
|
2741 |
|
|
* config/rs6000/rs6000.md (*save_gpregs_): Use explicit
|
2742 |
|
|
(reg:P 11) instead of match_operand.
|
2743 |
|
|
(*save_fpregs_): Likewise.
|
2744 |
|
|
(*restore_gpregs_): Likewise.
|
2745 |
|
|
(*return_and_restore_gpregs_): Likewise.
|
2746 |
|
|
(*return_and_restore_fpregs_): Likewise.
|
2747 |
|
|
* config/rs6000/spe.md (*save_gpregs_spe): Use explicit
|
2748 |
|
|
(reg:P 11) insted of match_operand.
|
2749 |
|
|
(*restore_gpregs_spe): Likewise.
|
2750 |
|
|
(*return_and_restore_gpregs_spe): Likewise.
|
2751 |
|
|
|
2752 |
|
|
2008-11-03 Harsha Jagasia
|
2753 |
|
|
|
2754 |
|
|
PR tree-optimization/37684
|
2755 |
|
|
* gcc.dg/graphite/pr37684.c: New.
|
2756 |
|
|
* graphite.c (exclude_component_ref): New.
|
2757 |
|
|
(is_simple_operand): Call exclude_component_ref.
|
2758 |
|
|
|
2759 |
|
|
2008-11-03 Sebastian Pop
|
2760 |
|
|
|
2761 |
|
|
PR tree-optimization/36908
|
2762 |
|
|
* testsuite/gcc.dg/tree-ssa/pr36908.c: New.
|
2763 |
|
|
* tree-loop-distribution.c (number_of_rw_in_rdg): New.
|
2764 |
|
|
(number_of_rw_in_partition): New.
|
2765 |
|
|
(partition_contains_all_rw): New.
|
2766 |
|
|
(ldist_gen): Do not distribute when one of the partitions
|
2767 |
|
|
contains all the memory operations.
|
2768 |
|
|
|
2769 |
|
|
2008-11-03 Sebastian Pop
|
2770 |
|
|
|
2771 |
|
|
* cfghooks.c (split_block): Set BB_IRREDUCIBLE_LOOP and
|
2772 |
|
|
EDGE_IRREDUCIBLE_LOOP.
|
2773 |
|
|
|
2774 |
|
|
2008-11-03 Bernd Schmidt
|
2775 |
|
|
|
2776 |
|
|
* config/bfin/bfin.c (bfin_optimize_loop): Properly handle case
|
2777 |
|
|
where we have one entry point in the loop which isn't the head.
|
2778 |
|
|
|
2779 |
|
|
2008-11-03 Richard Guenther
|
2780 |
|
|
|
2781 |
|
|
PR middle-end/37573
|
2782 |
|
|
* tree-data-ref.c (split_constant_offset_1): Fix tuplification.
|
2783 |
|
|
|
2784 |
|
|
2008-11-03 Jakub Jelinek
|
2785 |
|
|
|
2786 |
|
|
PR middle-end/37858
|
2787 |
|
|
* passes.c (execute_one_pass): Don't look at cfun->curr_properties
|
2788 |
|
|
for ipa and simple ipa passes.
|
2789 |
|
|
|
2790 |
|
|
2008-11-02 Richard Guenther
|
2791 |
|
|
|
2792 |
|
|
PR tree-optimization/37542
|
2793 |
|
|
* tree-ssa-pre.c (fully_constant_expression): Handle more cases.
|
2794 |
|
|
* tree-ssa-sccvn.c (vn_get_expr_for): Fix typo.
|
2795 |
|
|
(vn_nary_op_lookup_stmt): Adjust for unary reference trees.
|
2796 |
|
|
(vn_nary_op_insert_stmt): Likewise.
|
2797 |
|
|
(visit_use): Likewise.
|
2798 |
|
|
|
2799 |
|
|
2008-11-02 Anatoly Sokolov
|
2800 |
|
|
|
2801 |
|
|
* config/avr/avr.md (UNSPEC_SWAP): Remove constants.
|
2802 |
|
|
(*swap): Remove.
|
2803 |
|
|
(rotlqi3, *rotlqi3_4, rotlhi3, *rotlhi3_8,
|
2804 |
|
|
rotlsi3, *rotlsi3_8, *rotlsi3_16, *rotlsi3_24): New patterns.
|
2805 |
|
|
(ashlqi3_const4, ashlqi3_const5, ashlqi3_const6, ashlqi3_l_const4,
|
2806 |
|
|
ashlqi3_l_const5, ashlqi3_l_const6, lshrqi3_const4, lshrqi3_const5,
|
2807 |
|
|
lshrqi3_const6, lshrqi3_l_const4, lshrqi3_l_const4, lshrqi3_l_const6
|
2808 |
|
|
peephole2's): Replace unspec with rotate.
|
2809 |
|
|
* config/avr/avr.c (avr_rtx_costs): Add ROTATE.
|
2810 |
|
|
|
2811 |
|
|
2008-11-02 Richard Guenther
|
2812 |
|
|
|
2813 |
|
|
PR tree-optimization/37991
|
2814 |
|
|
* tree-ssa-sccvn.h (copy_vuses_from_stmt): Remove.
|
2815 |
|
|
* tree-ssa-sccvn.c (copy_vuses_from_stmt): Make static.
|
2816 |
|
|
(set_ssa_val_to): Print if the value changed.
|
2817 |
|
|
(simplify_binary_expression): Strip useless conversions.
|
2818 |
|
|
|
2819 |
|
|
2008-11-01 Hans-Peter Nilsson
|
2820 |
|
|
|
2821 |
|
|
PR target/37939
|
2822 |
|
|
* config/cris/cris.c (cris_rtx_costs) : Return 0 for an ADDI
|
2823 |
|
|
operand.
|
2824 |
|
|
|
2825 |
|
|
2008-11-01 Richard Guenther
|
2826 |
|
|
|
2827 |
|
|
PR middle-end/37976
|
2828 |
|
|
* builtins.c (fold_builtin_strspn): Return a size_t.
|
2829 |
|
|
(fold_builtin_strcspn): Likewise.
|
2830 |
|
|
|
2831 |
|
|
2008-10-31 Nathan Froyd
|
2832 |
|
|
|
2833 |
|
|
* config/rs6000/rs6000.c (rs6000_file_start): Output gnu
|
2834 |
|
|
attribute for struct return convention.
|
2835 |
|
|
|
2836 |
|
|
2008-10-31 Nathan Froyd
|
2837 |
|
|
|
2838 |
|
|
* config/rs6000/crtsavres.asm: Really, really delete.
|
2839 |
|
|
|
2840 |
|
|
2008-10-31 Nathan Froyd
|
2841 |
|
|
|
2842 |
|
|
* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
|
2843 |
|
|
problem.
|
2844 |
|
|
(rs6000_emit_prologue): Invert logic.
|
2845 |
|
|
* config/rs6000/rs6000.md (*save_gpregs_): Use explicit
|
2846 |
|
|
(reg:P 11) instead of match_operand.
|
2847 |
|
|
(*save_fpregs_): Likewise.
|
2848 |
|
|
(*restore_gpregs_): Likewise.
|
2849 |
|
|
(*return_and_restore_gpregs_): Likewise.
|
2850 |
|
|
(*return_and_restore_fpregs_): Likewise.
|
2851 |
|
|
* config/rs6000/spe.md (*save_gpregs_spe): Use explicit
|
2852 |
|
|
(reg:P 11) insted of match_operand.
|
2853 |
|
|
(*restore_gpregs_spe): Likewise.
|
2854 |
|
|
(*return_and_restore_gpregs_spe): Likewise.
|
2855 |
|
|
|
2856 |
|
|
2008-10-28 Luis Machado
|
2857 |
|
|
|
2858 |
|
|
* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add "dumpbase" to the
|
2859 |
|
|
list of word switches that take args.
|
2860 |
|
|
|
2861 |
|
|
2008-10-30 Jakub Jelinek
|
2862 |
|
|
|
2863 |
|
|
* config/s390/s390.c (s390_mark_symbol_ref_as_used): New function.
|
2864 |
|
|
(s390_output_pool_entry): Call it through for_each_rtx.
|
2865 |
|
|
|
2866 |
|
|
PR middle-end/37730
|
2867 |
|
|
* expr.c (store_constructor): For vectors, if target is a MEM, use
|
2868 |
|
|
target's MEM_ALIAS_SET instead of elttype alias set.
|
2869 |
|
|
|
2870 |
|
|
2008-10-29 Kaz Kojima
|
2871 |
|
|
|
2872 |
|
|
PR target/37909
|
2873 |
|
|
* config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has
|
2874 |
|
|
no address.
|
2875 |
|
|
|
2876 |
|
|
2008-10-29 David Edelsohn
|
2877 |
|
|
|
2878 |
|
|
PR target/37878
|
2879 |
|
|
* config/rs6000/predicates.md (word_offset_memref_operand):
|
2880 |
|
|
Restructure code and look inside auto-inc/dec addresses.
|
2881 |
|
|
|
2882 |
|
|
2008-10-29 Steve Ellcey
|
2883 |
|
|
|
2884 |
|
|
PR target/32277
|
2885 |
|
|
* libgcov.c (__gcov_indirect_call_profiler): Check
|
2886 |
|
|
TARGET_VTABLE_USES_DESCRIPTORS.
|
2887 |
|
|
|
2888 |
|
|
2008-10-29 Stefan Schulze Frielinghaus
|
2889 |
|
|
|
2890 |
|
|
* config/spu/spu.h (FRAME_GROWS_DOWNWARD): Define.
|
2891 |
|
|
(INITIAL_FRAME_POINTER_OFFSET): Remove.
|
2892 |
|
|
* config/spu/spu.c (spu_initial_elimination_offset): Calculate new
|
2893 |
|
|
offset if eliminating soft frame pointer.
|
2894 |
|
|
* config/spu/spu.md (stack_protect_set, stack_protect_test)
|
2895 |
|
|
(stack_protect_test_si): Add initial machine description
|
2896 |
|
|
for Stack Smashing Protector
|
2897 |
|
|
|
2898 |
|
|
2008-10-29 Manuel Lopez-Ibanez
|
2899 |
|
|
|
2900 |
|
|
PR 11492
|
2901 |
|
|
* c-common.c (min_precision): Move to...
|
2902 |
|
|
* tree.c (tree_int_cst_min_precision): ... to here. Renamed.
|
2903 |
|
|
* tree.h (tree_int_cst_min_precision): Declare.
|
2904 |
|
|
* c-common.h (min_precision): Delete declaration.
|
2905 |
|
|
* fold-const.c (tree_binary_nonnegative_warnv_p): Handle
|
2906 |
|
|
multiplication of non-negative integer constants.
|
2907 |
|
|
* c-decl.c (check_bitfield_type_and_width): Rename min_precision to
|
2908 |
|
|
tree_int_cst_min_precision.
|
2909 |
|
|
(finish_enum): Likewise.
|
2910 |
|
|
|
2911 |
|
|
2008-10-29 Joseph Myers
|
2912 |
|
|
|
2913 |
|
|
PR middle-end/36578
|
2914 |
|
|
* convert.c (convert_to_real): Do not optimize conversions of
|
2915 |
|
|
binary arithmetic operations between binary and decimal
|
2916 |
|
|
floating-point types. Consider mode of target type in determining
|
2917 |
|
|
decimal type for arithmetic. Unless
|
2918 |
|
|
flag_unsafe_math_optimizations, do not optimize binary conversions
|
2919 |
|
|
where this may change rounding behavior.
|
2920 |
|
|
* real.c (real_can_shorten_arithmetic): New.
|
2921 |
|
|
* real.h (real_can_shorten_arithmetic): Declare.
|
2922 |
|
|
|
2923 |
|
|
2008-10-29 Bernd Schmidt
|
2924 |
|
|
|
2925 |
|
|
* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315,
|
2926 |
|
|
ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New.
|
2927 |
|
|
* config/bfin/bfin.c (bfin_cpus): Add these workaround bits as
|
2928 |
|
|
appropriate.
|
2929 |
|
|
(must_save_p): For some workarounds, interrupts need to clobber a
|
2930 |
|
|
P register.
|
2931 |
|
|
(expand_prologue_reg_save, expand_epilogue_reg_restore): Save LC0
|
2932 |
|
|
and LC1 for WA_05000257.
|
2933 |
|
|
(expand_interrupt_handler_prologue): Add dummy read of CHIPID for
|
2934 |
|
|
WA_05000283 and WA_05000315.
|
2935 |
|
|
* config/bfin/bfin.md (UNSPEC_VOLATILE_DUMMY): New constant.
|
2936 |
|
|
(movbi): Add alternative to set CC to 1; improve code for setting
|
2937 |
|
|
CC to 0.
|
2938 |
|
|
(dummy_load): New pattern.
|
2939 |
|
|
|
2940 |
|
|
2008-10-29 Jakub Jelinek
|
2941 |
|
|
|
2942 |
|
|
PR middle-end/37870
|
2943 |
|
|
* expmed.c (extract_bit_field_1): If int_mode_for_mode returns
|
2944 |
|
|
BLKmode for non-memory, convert using a wider MODE_INT mode
|
2945 |
|
|
or through memory.
|
2946 |
|
|
|
2947 |
|
|
PR middle-end/37913
|
2948 |
|
|
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Only split bbs
|
2949 |
|
|
that haven't been removed yet.
|
2950 |
|
|
|
2951 |
|
|
2008-10-29 Bernd Schmidt
|
2952 |
|
|
|
2953 |
|
|
* config/bfin/bfin.c (struct machine_function): New member
|
2954 |
|
|
has_loopreg_clobber.
|
2955 |
|
|
(bfin_expand_movmem): Set it when generating memcpy insns.
|
2956 |
|
|
(n_regs_saved_by_prologue, expand_prologue_reg_save,
|
2957 |
|
|
expand_epilogue_reg_restore): If we have hardware loops,
|
2958 |
|
|
memcpy insns (indicated by has_loopreg_clobber) or function
|
2959 |
|
|
calls, we need to save the loop registers.
|
2960 |
|
|
|
2961 |
|
|
2008-10-28 H.J. Lu
|
2962 |
|
|
|
2963 |
|
|
* config/i386/i386.c (core2_cost): Fix typos in comments.
|
2964 |
|
|
|
2965 |
|
|
2008-10-28 Jakub Jelinek
|
2966 |
|
|
|
2967 |
|
|
PR c/37924
|
2968 |
|
|
* combine.c (make_compound_operation): Don't call make_extraction with
|
2969 |
|
|
non-positive length.
|
2970 |
|
|
(simplify_shift_const_1): Canonicalize count even if complement_p.
|
2971 |
|
|
|
2972 |
|
|
2008-10-28 Joseph Myers
|
2973 |
|
|
|
2974 |
|
|
* convert.c (strip_float_extensions): Do not remove or introduce
|
2975 |
|
|
conversions between binary and decimal floating-point types.
|
2976 |
|
|
|
2977 |
|
|
2008-10-28 Jakub Jelinek
|
2978 |
|
|
|
2979 |
|
|
PR middle-end/37931
|
2980 |
|
|
* fold-const.c (distribute_bit_expr): Convert common, left and
|
2981 |
|
|
right arguments to type.
|
2982 |
|
|
|
2983 |
|
|
2008-10-28 Nick Clifton
|
2984 |
|
|
|
2985 |
|
|
* config/mn10300/mn10300.h (CALL_REALLY_USED_REGISTERS): Define.
|
2986 |
|
|
* config/mn10300/mn10300.c (fp_regs_to_save): Test the
|
2987 |
|
|
call_really_used_regs array rather than the call_used_regs array.
|
2988 |
|
|
(mn10300_get_live_callee_saved_regs, expand_prologue,
|
2989 |
|
|
expand_epilogue, output_tst): Likewise.
|
2990 |
|
|
|
2991 |
|
|
2008-10-27 Jakub Jelinek
|
2992 |
|
|
|
2993 |
|
|
PR target/37378
|
2994 |
|
|
* df-scan.c (df_bb_refs_collect): Don't handle EH_USES here.
|
2995 |
|
|
(df_get_entry_block_def_set): Neither here.
|
2996 |
|
|
(df_get_regular_block_artificial_uses): Add EH_USES registers.
|
2997 |
|
|
|
2998 |
|
|
PR tree-optimization/37879
|
2999 |
|
|
* predict.c (tree_estimate_probability): Check if last_stmt is
|
3000 |
|
|
non-NULL before dereferencing it.
|
3001 |
|
|
|
3002 |
|
|
2008-10-27 Vladimir Makarov
|
3003 |
|
|
|
3004 |
|
|
* ira-int.h (ira_allocno): Add member updated_cover_class_cost.
|
3005 |
|
|
(ALLOCNO_UPDATED_COVER_CLASS_COST): New.
|
3006 |
|
|
(ira_fast_allocation): Remove the prototype.
|
3007 |
|
|
|
3008 |
|
|
* ira-color.c (update_copy_costs, allocno_cost_compare_func,
|
3009 |
|
|
assign_hard_reg, calculate_allocno_spill_cost): Use updated costs.
|
3010 |
|
|
(color_pass): Modify the updated costs.
|
3011 |
|
|
(ira_color): Rename to color. Make it static.
|
3012 |
|
|
(ira_fast_allocation): Rename to fast_allocation. Make it static.
|
3013 |
|
|
(ira_color): New function.
|
3014 |
|
|
|
3015 |
|
|
* ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost
|
3016 |
|
|
change.
|
3017 |
|
|
|
3018 |
|
|
* ira-lives.c (last_call_num, allocno_saved_at_call): New
|
3019 |
|
|
variables.
|
3020 |
|
|
(set_allocno_live, clear_allocno_live, mark_ref_live,
|
3021 |
|
|
mark_ref_dead): Invalidate corresponding element of
|
3022 |
|
|
allocno_saved_at_call.
|
3023 |
|
|
(process_bb_node_lives): Increment last_call_num. Setup
|
3024 |
|
|
allocno_saved_at_call. Don't increase ALLOCNO_CALL_FREQ if the
|
3025 |
|
|
allocno was already saved.
|
3026 |
|
|
(ira_create_allocno_live_ranges): Initiate last_call_num and
|
3027 |
|
|
allocno_saved_at_call.
|
3028 |
|
|
|
3029 |
|
|
* ira-build.c (ira_create_allocno): Initiate
|
3030 |
|
|
ALLOCNO_UPDATED_COVER_CLASS_COST.
|
3031 |
|
|
(create_cap_allocno, propagate_allocno_info,
|
3032 |
|
|
remove_unnecessary_allocnos): Remove setting updated costs.
|
3033 |
|
|
(ira_flattening): Set up ALLOCNO_UPDATED_COVER_CLASS_COST.
|
3034 |
|
|
|
3035 |
|
|
* ira.c (ira): Don't call ira_fast_allocation.
|
3036 |
|
|
|
3037 |
|
|
* ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up
|
3038 |
|
|
updated costs.
|
3039 |
|
|
|
3040 |
|
|
2008-10-27 Vladimir Makarov
|
3041 |
|
|
|
3042 |
|
|
PR middle-end/37813
|
3043 |
|
|
* ira-conflicts.c (process_regs_for_copy): Remove class subset check.
|
3044 |
|
|
|
3045 |
|
|
* ira-int.h (ira_hard_regno_cover_class): New.
|
3046 |
|
|
|
3047 |
|
|
* ira-lives.c (mark_reg_live, mark_reg_dead,
|
3048 |
|
|
process_bb_node_lives): Use ira_hard_regno_cover_class.
|
3049 |
|
|
|
3050 |
|
|
* ira.c (reg_class ira_hard_regno_cover_class): New global variable.
|
3051 |
|
|
(setup_hard_regno_cover_class): New function.
|
3052 |
|
|
(ira_init): Call setup_hard_regno_cover_class.
|
3053 |
|
|
|
3054 |
|
|
* ira-costs.c (cost_class_nums): Add comment.
|
3055 |
|
|
(find_allocno_class_costs): Initiate cost_class_nums.
|
3056 |
|
|
(setup_allocno_cover_class_and_costs): Check cost_class_nums.
|
3057 |
|
|
|
3058 |
|
|
2008-10-27 Vladimir Makarov
|
3059 |
|
|
|
3060 |
|
|
PR middle-end/37884
|
3061 |
|
|
* ira-build.c (copy_live_ranges_to_removed_store_destinations):
|
3062 |
|
|
Rename to copy_info_to_removed_store_destinations. Propagate
|
3063 |
|
|
conflict hard regs and register stack attribute.
|
3064 |
|
|
|
3065 |
|
|
2008-10-26 John David Anglin
|
3066 |
|
|
|
3067 |
|
|
PR middle-end/37316
|
3068 |
|
|
* pa.c (function_arg_padding): Pad complex and vector types
|
3069 |
|
|
upward in 64-bit runtime.
|
3070 |
|
|
(function_arg): Use BLKmode for PARALLEL in 64-bit runtime.
|
3071 |
|
|
|
3072 |
|
|
2008-10-26 Matthias Klose
|
3073 |
|
|
|
3074 |
|
|
* doc/install.texi: Document requirements on antlr.
|
3075 |
|
|
|
3076 |
|
|
2008-10-25 Richard Sandiford
|
3077 |
|
|
|
3078 |
|
|
* config/mips/mips.h (REG_ALLOC_ORDER): Put call-clobbered registers
|
3079 |
|
|
first.
|
3080 |
|
|
|
3081 |
|
|
2008-10-24 Michael Meissner
|
3082 |
|
|
|
3083 |
|
|
PR target/37841
|
3084 |
|
|
* function.c (locate_and_pad_parm): If FUNCTION_ARG_ADJUST_OFFSET
|
3085 |
|
|
is defined, use it to modify the constant offset.
|
3086 |
|
|
|
3087 |
|
|
* doc/tm.texi (FUNCTION_ARG_OFFSET): Document new macro.
|
3088 |
|
|
|
3089 |
|
|
* config/spu/spu.h (FUNCTION_ARG_OFFSET): New macro to move char
|
3090 |
|
|
and short arguments to the correct location as mandated by the ABI.
|
3091 |
|
|
|
3092 |
|
|
2008-10-24 Kaz Kojima
|
3093 |
|
|
|
3094 |
|
|
PR rtl-optimization/37769
|
3095 |
|
|
* regmove.c (optimize_reg_copy_2): Update REG_INC note if needed.
|
3096 |
|
|
|
3097 |
|
|
2008-10-24 Kaz Kojima
|
3098 |
|
|
|
3099 |
|
|
* config/sh/t-sh: Use $(MULTILIB_CFLAGS) when compiling to
|
3100 |
|
|
unwind-dw2-Os-4-200.o.
|
3101 |
|
|
|
3102 |
|
|
2008-10-24 Joseph Myers
|
3103 |
|
|
|
3104 |
|
|
* c-typeck.c (enum impl_conv): Remove ic_argpass_nonproto.
|
3105 |
|
|
(convert_for_assignment): Remove ic_argpass_nonproto cases.
|
3106 |
|
|
|
3107 |
|
|
2008-10-24 Jakub Jelinek
|
3108 |
|
|
|
3109 |
|
|
PR tree-optimization/36038
|
3110 |
|
|
* tree-ssa-loop-ivopts.c (add_old_iv_candidates): For pointer bases
|
3111 |
|
|
add sizetype IV with initial value zero instead of pointer type.
|
3112 |
|
|
|
3113 |
|
|
2008-10-24 Manuel López-Ibáñez
|
3114 |
|
|
|
3115 |
|
|
PR c/7543
|
3116 |
|
|
* value-prof.c (gimple_stringop_fixed_value): Use parentheses
|
3117 |
|
|
around bit operation.
|
3118 |
|
|
* profile.c (is_edge_inconsistent): Likewise.
|
3119 |
|
|
* fold-const.c (truth_value_p): Move from here...
|
3120 |
|
|
* tree.h (truth_value_p): ... to here.
|
3121 |
|
|
* c-tree.h (c_expr): Update description of original_code.
|
3122 |
|
|
* c-typeck.c (parser_build_unary_op): Set original_code.
|
3123 |
|
|
(parser_build_binary_op): Update call to warn_about_parentheses.
|
3124 |
|
|
* c-common.c (warn_about_parentheses): Take two additional
|
3125 |
|
|
arguments of the operands. Use a switch. Quote operators
|
3126 |
|
|
appropriately. Define macro APPEARS_TO_BE_BOOLEAN_EXPR_P.
|
3127 |
|
|
Add warning about !x | y and !x & y.
|
3128 |
|
|
* c-common.h (warn_about_parentheses): Update declaration.
|
3129 |
|
|
|
3130 |
|
|
2008-10-24 Jakub Jelinek
|
3131 |
|
|
|
3132 |
|
|
* Makefile.in (lang_checks_parallelized, check_gcc_parallelize,
|
3133 |
|
|
check_p_tool, check_p_vars, check_p_subno, check_p_comma,
|
3134 |
|
|
check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs):
|
3135 |
|
|
New variables.
|
3136 |
|
|
(check-subtargets, check-%-subtargets, check-parallel-%): New targets.
|
3137 |
|
|
(check-%): For test targets listed in lang_checks_parallelized
|
3138 |
|
|
if -j is used and RUNTESTFLAGS doesn't specify tests to execute,
|
3139 |
|
|
run the testing in multiple make goals, possibly parallel, and
|
3140 |
|
|
afterwards run dg-extract-results.sh to merge the sum and log files.
|
3141 |
|
|
|
3142 |
|
|
2008-10-24 Richard Sandiford
|
3143 |
|
|
|
3144 |
|
|
* config/mips/mips.c (mips_canonicalize_move_class): New function.
|
3145 |
|
|
(mips_move_to_gpr_cost): Likewise.
|
3146 |
|
|
(mips_move_from_gpr_cost): Likewise.
|
3147 |
|
|
(mips_register_move_cost): Make more fine-grained.
|
3148 |
|
|
|
3149 |
|
|
2008-10-23 Tobias Grosser
|
3150 |
|
|
|
3151 |
|
|
* graphite.c (graphite_apply_transformations): Check for
|
3152 |
|
|
-fgraphite-identity.
|
3153 |
|
|
* toplev.c (process_options): Add graphite_identity.
|
3154 |
|
|
* tree-ssa-loop.c (gate_graphite_transforms): Add graphite_identity.
|
3155 |
|
|
|
3156 |
|
|
2008-10-23 Bernd Schmidt
|
3157 |
|
|
|
3158 |
|
|
* config/bfin/bfin.c (bdesc_2arg): Add mulhisill, mulhisilh,
|
3159 |
|
|
mulhisihl and mulhisihh builtins.
|
3160 |
|
|
|
3161 |
|
|
From Jie Zhang
|
3162 |
|
|
* config/bfin/bfin.md (composev2hi): Put operands into vector
|
3163 |
|
|
with correct order.
|
3164 |
|
|
|
3165 |
|
|
2008-10-22 Chao-ying Fu
|
3166 |
|
|
|
3167 |
|
|
* config/mips/mips.opt (msmartmips): Accept -mno-smartmips.
|
3168 |
|
|
|
3169 |
|
|
2008-10-22 Bernd Schmidt
|
3170 |
|
|
|
3171 |
|
|
From Mike Frysinger
|
3172 |
|
|
* config/bfin/bfin-protos.h (bfin_cpu_type): Add BFIN_CPU_BF512,
|
3173 |
|
|
BFIN_CPU_BF514, BFIN_CPU_BF516, and BFIN_CPU_BF518.
|
3174 |
|
|
* config/bfin/bfin.c (bfin_cpus[]): Add 0.0 for bf512, bf514, bf516,
|
3175 |
|
|
and bf518. Add 0.2 for bf522, bf523, bf524, bf526, and bf527.
|
3176 |
|
|
Add 0.6 for bf533, bf532, and bf531. Add 0.5 for bf538 and bf539.
|
3177 |
|
|
Add 0.2 for bf542, bf544, bf547, bf548, and bf549.
|
3178 |
|
|
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF512__
|
3179 |
|
|
for BFIN_CPU_BF512, __ADSPBF514__ for BFIN_CPU_BF514, __ADSPBF516__
|
3180 |
|
|
for BFIN_CPU_BF516, and __ADSPBF518__ for BFIN_CPU_BF518. Define
|
3181 |
|
|
__ADSPBF51x__ for all of them.
|
3182 |
|
|
* config/bfin/elf.h (LIB_SPEC): Select proper linker scripts for
|
3183 |
|
|
-mcpu bf512, bf514, bf516, and bf518.
|
3184 |
|
|
* config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
|
3185 |
|
|
bf512-none, bf514-none, bf516-none, and bf518-none.
|
3186 |
|
|
* config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
|
3187 |
|
|
* config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
|
3188 |
|
|
* doc/invoke.texi (Blackfin Options): Document that
|
3189 |
|
|
-mcpu now accepts bf512, bf514, bf516, and bf518.
|
3190 |
|
|
|
3191 |
|
|
2008-10-22 Jakub Jelinek
|
3192 |
|
|
|
3193 |
|
|
PR middle-end/37882
|
3194 |
|
|
* fold-const.c (build_range_type): For 1 .. signed_max
|
3195 |
|
|
range call build_nonstandard_inter_type if signed_type_for
|
3196 |
|
|
returned a type with bigger precision.
|
3197 |
|
|
|
3198 |
|
|
2008-10-22 Richard Guenther
|
3199 |
|
|
|
3200 |
|
|
* tree.def (COMPLEX_TYPE): Constrain element type.
|
3201 |
|
|
* tree.c (build_complex_type): Assert that.
|
3202 |
|
|
* tree-ssa-structalias.c (could_have_pointers): Complex types
|
3203 |
|
|
cannot have pointers.
|
3204 |
|
|
|
3205 |
|
|
2008-10-22 Manuel López-Ibáñez
|
3206 |
|
|
|
3207 |
|
|
PR c/30949
|
3208 |
|
|
* c-typeck.c (convert_for_assignment): Do not give declaration's
|
3209 |
|
|
location for builtins. Spell out which type was expected and which
|
3210 |
|
|
was given.
|
3211 |
|
|
|
3212 |
|
|
2008-10-22 Nick Clifton
|
3213 |
|
|
|
3214 |
|
|
* config/frv/frv.h (HARD_REGNO_RENAME_OK): Define. Do not allow
|
3215 |
|
|
the fdpic register to be a target when running in fdpic mode.
|
3216 |
|
|
|
3217 |
|
|
2008-10-22 Rafael Espindola
|
3218 |
|
|
|
3219 |
|
|
* ipa-struct-reorg.c (create_new_alloc_sites): Properly insert the
|
3220 |
|
|
newly created statements.
|
3221 |
|
|
|
3222 |
|
|
2008-10-22 Kaz Kojima
|
3223 |
|
|
|
3224 |
|
|
PR target/37633
|
3225 |
|
|
* config/sh/sh.c (sh_hard_regno_mode_ok): New function.
|
3226 |
|
|
* config/sh/sh.h (HARD_REGNO_MODE_OK): Use it.
|
3227 |
|
|
* config/sh/sh-protos.h (sh_hard_regno_mode_ok): Declare.
|
3228 |
|
|
|
3229 |
|
|
2008-10-22 Jakub Jelinek
|
3230 |
|
|
|
3231 |
|
|
PR target/37880
|
3232 |
|
|
* doc/invoke.texi: Fix spelling of -mlarge-data-threshold option.
|
3233 |
|
|
Adjust -mcmodel=medium description for 2005-07-31 changes.
|
3234 |
|
|
|
3235 |
|
|
2008-10-22 Jan Hubicka
|
3236 |
|
|
Jakub Jelinek
|
3237 |
|
|
|
3238 |
|
|
PR middle-end/35853
|
3239 |
|
|
* doc/invoke.texi: Remove references to obsoleted -d dumps.
|
3240 |
|
|
|
3241 |
|
|
2008-10-21 Richard Henderson
|
3242 |
|
|
|
3243 |
|
|
PR 37815
|
3244 |
|
|
* emit-rtl.c (get_spill_slot_decl): Export.
|
3245 |
|
|
* emit-rtl.h (get_spill_slot_decl): Declare.
|
3246 |
|
|
* var-tracking.c (vt_add_function_parameters): Relax assertion
|
3247 |
|
|
on the contents of MEM_EXPR in a PARM_DECL to include a spill slot.
|
3248 |
|
|
|
3249 |
|
|
2008-10-21 Bob Wilson
|
3250 |
|
|
|
3251 |
|
|
* var-tracking.c (insn_stack_adjust_offset_pre_post): If insn has a
|
3252 |
|
|
REG_FRAME_RELATED_EXPR note, examine the pattern from the note instead
|
3253 |
|
|
of from insn.
|
3254 |
|
|
|
3255 |
|
|
2008-10-21 Adam Nemet
|
3256 |
|
|
|
3257 |
|
|
PR middle-end/37669
|
3258 |
|
|
* tree-ssa-ccp.c (ccp_fold_builtin): Only allow one argument to be
|
3259 |
|
|
processed by get_maxval_strlen.
|
3260 |
|
|
|
3261 |
|
|
2008-10-21 David Edelsohn
|
3262 |
|
|
|
3263 |
|
|
PR target/35485
|
3264 |
|
|
* tree.c (get_file_function_name): Copy first_global_object_name.
|
3265 |
|
|
Centralize call to clean_symbol_name.
|
3266 |
|
|
|
3267 |
|
|
2008-10-21 Sandra Loosemore
|
3268 |
|
|
|
3269 |
|
|
* config.gcc (powerpc-*): Make t-ppcgas imply usegas.h.
|
3270 |
|
|
* config/svr4.h (SVR4_ASM_SPEC): New.
|
3271 |
|
|
(ASM_SPEC): Inherit from SVR4_ASM_SPEC.
|
3272 |
|
|
* config/rs6000/sysv4.h (ASM_SPEC): Inherit from SVR4_ASM_SPEC.
|
3273 |
|
|
|
3274 |
|
|
* doc/invoke.texi (Option Summary): Add -T to linker options.
|
3275 |
|
|
(Link Options): Document -T.
|
3276 |
|
|
|
3277 |
|
|
2008-10-21 Jakub Jelinek
|
3278 |
|
|
|
3279 |
|
|
* tree-inline.c (tree_inlinable_function_p): Remove tuples
|
3280 |
|
|
debugging hack.
|
3281 |
|
|
|
3282 |
|
|
* gimplify.c (gimplify_expr): Drop TREE_OVERFLOW from INTEGER_CSTs.
|
3283 |
|
|
|
3284 |
|
|
PR debug/37020
|
3285 |
|
|
* c-decl.c (merge_decls): Don't call outlining_inline_function hook.
|
3286 |
|
|
|
3287 |
|
|
2008-10-20 Daniel Berlin
|
3288 |
|
|
|
3289 |
|
|
* tree-ssa-pre.c (insert_into_preds_of_block): Don't rewrite constant
|
3290 |
|
|
part of expression.
|
3291 |
|
|
|
3292 |
|
|
2008-10-20 Tobias Schlüter
|
3293 |
|
|
|
3294 |
|
|
* doc/install.texi: Fix typos in previous patch.
|
3295 |
|
|
|
3296 |
|
|
2008-10-19 Tobias Schlüter
|
3297 |
|
|
|
3298 |
|
|
* doc/install.texi: Document in-tree building of gcc and mpfr.
|
3299 |
|
|
|
3300 |
|
|
2008-10-19 Richard Guenther
|
3301 |
|
|
|
3302 |
|
|
* tree-ssa-alias.c (may_alias_p): Remove bogus shortcut.
|
3303 |
|
|
|
3304 |
|
|
2008-10-19 Manuel López-Ibáñez
|
3305 |
|
|
|
3306 |
|
|
PR c/30260
|
3307 |
|
|
* c-decl.c (finish_enum): Convert non-integer enumerators to enum type.
|
3308 |
|
|
(build_enumerator): Convert enumerators that fit in integer to
|
3309 |
|
|
integer type.
|
3310 |
|
|
|
3311 |
|
|
2008-10-18 Uros Bizjak
|
3312 |
|
|
|
3313 |
|
|
* config/i386/i386.md (unnamed peephole2): Do not force memory
|
3314 |
|
|
operands of arith or logical instructions into registers for
|
3315 |
|
|
non-TARGET_READ_MODIFY targets.
|
3316 |
|
|
|
3317 |
|
|
(ffs_cmove): Change operand 0 predicate to register_operand.
|
3318 |
|
|
Change operand 1 predicate to nonimmediate_operand.
|
3319 |
|
|
(ffsdi2): Ditto.
|
3320 |
|
|
(*ffs_no_cmove): Change operand 0 predicate to register_operand.
|
3321 |
|
|
|
3322 |
|
|
2008-10-18 Richard Guenther
|
3323 |
|
|
|
3324 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Guard
|
3325 |
|
|
VIEW_CONVERT_EXPR case against invalid gimple.
|
3326 |
|
|
|
3327 |
|
|
2008-10-17 Andreas Krebbel
|
3328 |
|
|
|
3329 |
|
|
* c-parser.c (c_parser_binary_expression): Silence the
|
3330 |
|
|
uninitialized variable warning emitted for binary_loc.
|
3331 |
|
|
|
3332 |
|
|
2008-10-16 Daniel Berlin
|
3333 |
|
|
|
3334 |
|
|
* tree-ssa-pre.c (phi_translate_set): Add constants to phi
|
3335 |
|
|
translation cache.
|
3336 |
|
|
|
3337 |
|
|
2008-10-16 Joseph Myers
|
3338 |
|
|
|
3339 |
|
|
PR c/33192
|
3340 |
|
|
* c-typeck.c (build_unary_op): Use omit_one_operand for
|
3341 |
|
|
IMAGPART_EXPR of real argument.
|
3342 |
|
|
|
3343 |
|
|
2008-10-16 Jakub Jelinek
|
3344 |
|
|
|
3345 |
|
|
PR tree-optimization/37664
|
3346 |
|
|
* fold-const.c (fold_binary): When optimizing comparison with
|
3347 |
|
|
highest or lowest type's value, don't consider TREE_OVERFLOW.
|
3348 |
|
|
|
3349 |
|
|
2008-10-16 David Edelsohn
|
3350 |
|
|
|
3351 |
|
|
PR target/35483
|
3352 |
|
|
* Makefile.in (coverage.o): Depend on $(TM_P_H).
|
3353 |
|
|
* coverage.c: Include tm_p.h.
|
3354 |
|
|
* config/rs6000/x-aix (jc1): Override LDFLAGS.
|
3355 |
|
|
* config/rs6000/xcoff.h (ASM_GENERATE_INTERNAL_LABEL): Strip
|
3356 |
|
|
dollar signs from PREFIX.
|
3357 |
|
|
* config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
|
3358 |
|
|
instead of manual strip_name_encoding.
|
3359 |
|
|
|
3360 |
|
|
2008-10-16 Richard Guenther
|
3361 |
|
|
|
3362 |
|
|
PR middle-end/37418
|
3363 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): Do not treat
|
3364 |
|
|
volatile qualified functions or methods as relevant.
|
3365 |
|
|
|
3366 |
|
|
2008-10-16 Jakub Jelinek
|
3367 |
|
|
|
3368 |
|
|
PR tree-optimization/37525
|
3369 |
|
|
* tree.c (int_fits_type_p): Rewrite using double_int. Zero extend
|
3370 |
|
|
sizetype unsigned constants, both in the case of C and bounds.
|
3371 |
|
|
|
3372 |
|
|
2008-10-15 Jan Hubicka
|
3373 |
|
|
|
3374 |
|
|
* ira-emit.c (change_regs): Return false when replacing reg by itself.
|
3375 |
|
|
|
3376 |
|
|
2008-10-14 Vladimir Makarov
|
3377 |
|
|
|
3378 |
|
|
PR target/37633
|
3379 |
|
|
* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Check
|
3380 |
|
|
HARD_REGNO_CALL_PART_CLOBBERED.
|
3381 |
|
|
|
3382 |
|
|
2008-10-15 Vladimir Makarov
|
3383 |
|
|
|
3384 |
|
|
PR middle-end/37535
|
3385 |
|
|
* ira-lives.c (mark_early_clobbers): Remove.
|
3386 |
|
|
(make_pseudo_conflict, check_and_make_def_use_conflicts,
|
3387 |
|
|
check_and_make_def_conflicts,
|
3388 |
|
|
make_early_clobber_and_input_conflicts,
|
3389 |
|
|
mark_hard_reg_early_clobbers): New functions.
|
3390 |
|
|
(process_bb_node_lives): Call
|
3391 |
|
|
make_early_clobber_and_input_conflicts and
|
3392 |
|
|
mark_hard_reg_early_clobbers. Make hard register inputs live again.
|
3393 |
|
|
|
3394 |
|
|
* doc/rtl.texi (clobber): Change descriotion of RA behaviour for
|
3395 |
|
|
early clobbers of pseudo-registers.
|
3396 |
|
|
|
3397 |
|
|
2008-10-15 Vladimir Makarov
|
3398 |
|
|
|
3399 |
|
|
PR middle-end/37674
|
3400 |
|
|
* ira-build.c (ira_flattening): Recalculate
|
3401 |
|
|
ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS
|
3402 |
|
|
from the scratch instead of the propagation.
|
3403 |
|
|
|
3404 |
|
|
2008-10-15 Richard Sandiford
|
3405 |
|
|
|
3406 |
|
|
* doc/rtl.texi (const_double): Remove the "addr" operand.
|
3407 |
|
|
Describe CONST_DOUBLE_* macros under const_double rather
|
3408 |
|
|
than const_vector.
|
3409 |
|
|
(const_fixed): Fix the operand description.
|
3410 |
|
|
(const): Add an @findex directive.
|
3411 |
|
|
(CONST0_RTX, CONST1_RTX, CONST2_RTX): Move description
|
3412 |
|
|
after the constant rtl table.
|
3413 |
|
|
(fix): Combine floating-point and fixed-point descriptions.
|
3414 |
|
|
Fix hyphenation.
|
3415 |
|
|
* sched-deps.c (sched_analyze_2): Remove reference to
|
3416 |
|
|
CONST_DOUBLE_CHAIN.
|
3417 |
|
|
|
3418 |
|
|
2008-10-15 Richard Sandiford
|
3419 |
|
|
|
3420 |
|
|
* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Handle
|
3421 |
|
|
UNSPEC_GOTSYM_OFFs.
|
3422 |
|
|
* config/mn10300/mn10300.c (legitimate_pic_operand_p): Return true
|
3423 |
|
|
for UNSPEC_GOTSYM_OFFs.
|
3424 |
|
|
* config/mn10300/mn10300.md (UNSPEC_GOTSYM_OFF): New unspec.
|
3425 |
|
|
(add_GOT_to_pic_reg): Use it.
|
3426 |
|
|
* config/mn10300/constraints.md (S): Allow UNSPEC_GOTSYM_OFF.
|
3427 |
|
|
|
3428 |
|
|
2008-10-15 Jan Sjodin
|
3429 |
|
|
Harsha Jagasia
|
3430 |
|
|
|
3431 |
|
|
PR tree-optimization/37485
|
3432 |
|
|
* graphite.c (gmp_cst_to_tree): Moved.
|
3433 |
|
|
(iv_stack_entry_is_constant): New.
|
3434 |
|
|
(iv_stack_entry_is_iv): New.
|
3435 |
|
|
(loop_iv_stack_push): Renamed to loop_iv_stack_push_iv.
|
3436 |
|
|
(loop_iv_stack_insert_constant): New.
|
3437 |
|
|
(loop_iv_stack_pop): Use new datatpype.
|
3438 |
|
|
(loop_iv_stack_get_iv): Same.
|
3439 |
|
|
(loop_iv_stack_get_iv_from_name): Same.
|
3440 |
|
|
(loop_iv_stack_debug): Renamed to debug_loop_iv_stack.
|
3441 |
|
|
(loop_iv_stack_patch_for_consts): New.
|
3442 |
|
|
(loop_iv_stack_remove_constants): New.
|
3443 |
|
|
(graphite_create_new_loop): Use loop_iv_stack_push_iv.
|
3444 |
|
|
(translate_clast): Call loop_iv_stack_patch_for_consts and
|
3445 |
|
|
loop_iv_stack_remove_constants.
|
3446 |
|
|
(gloog): Use new datatype. Redirect construction edge to end
|
3447 |
|
|
block to avoid accidental deletion.
|
3448 |
|
|
* graphite.h (enum iv_stack_entry_kind): New. Tag for data in
|
3449 |
|
|
iv stack entry.
|
3450 |
|
|
(union iv_stack_entry_data): New. Data in iv stack entry.
|
3451 |
|
|
(struct iv_stack_entry): New. Datatype for iv stack entries.
|
3452 |
|
|
|
3453 |
|
|
2008-10-15 Sebastian Pop
|
3454 |
|
|
|
3455 |
|
|
* tree-data-ref.c (stmt_simple_memref_p): Fix memleak.
|
3456 |
|
|
* graphite.c (free_scop): Same.
|
3457 |
|
|
(build_scops): Same.
|
3458 |
|
|
(free_scattering): New.
|
3459 |
|
|
(build_cloog_prog): Call free_scattering.
|
3460 |
|
|
(patch_phis_for_virtual_defs): Fix memleak.
|
3461 |
|
|
(graphite_trans_bb_strip_mine): Same.
|
3462 |
|
|
(limit_scops): Same.
|
3463 |
|
|
|
3464 |
|
|
2008-10-15 Sebastian Pop
|
3465 |
|
|
Harsha Jagasia
|
3466 |
|
|
|
3467 |
|
|
PR tree-optimization/37828
|
3468 |
|
|
* graphite.c (graphite_trans_loop_block): Do not loop block
|
3469 |
|
|
single nested loops.
|
3470 |
|
|
|
3471 |
|
|
2008-10-15 Sebastian Pop
|
3472 |
|
|
|
3473 |
|
|
PR tree-optimization/37686
|
3474 |
|
|
* tree-loop-linear.c (linear_transform_loops): Build a
|
3475 |
|
|
loop nest vector. Pass it to lambda_compute_access_matrices.
|
3476 |
|
|
* tree-data-ref.h (struct access_matrix): Store the loop nest
|
3477 |
|
|
relative to which it encodes the information.
|
3478 |
|
|
(AM_LOOP_NEST_NUM): Renamed AM_LOOP_NEST.
|
3479 |
|
|
(am_vector_index_for_loop): Reimplemented: iterate over the
|
3480 |
|
|
loop nest for finding the loop index in the access matrix.
|
3481 |
|
|
(lambda_compute_access_matrices): Update declaration.
|
3482 |
|
|
* lambda-code.c (build_access_matrix): Pass the loop nest and
|
3483 |
|
|
record it.
|
3484 |
|
|
(lambda_compute_access_matrices): Same.
|
3485 |
|
|
|
3486 |
|
|
2008-10-15 Andreas Krebbel
|
3487 |
|
|
|
3488 |
|
|
* config/s390/s390.h (TARGET_DFP): This requires TARGET_HARD_FLOAT.
|
3489 |
|
|
* config/s390/s390.md: Replace "TARGET_HARD_FLOAT &&
|
3490 |
|
|
TARGET_(HARD_)DFP" with only TARGET_(HARD_)DFP since this
|
3491 |
|
|
already implies hard float. Also fix several insn condition
|
3492 |
|
|
with TARGET_DFP which shall require TARGET_HARD_DFP instead.
|
3493 |
|
|
|
3494 |
|
|
2008-10-15 David Edelsohn
|
3495 |
|
|
|
3496 |
|
|
PR target/35483
|
3497 |
|
|
Based on patches by Laurent Vivier.
|
3498 |
|
|
* xcoffout.h (DBX_FINISH_STABS): Translate dollar sign to underscore.
|
3499 |
|
|
* config/rs6000/rs6000-protos.h (rs6000_xcoff_strip_dollar): Declare.
|
3500 |
|
|
* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Translate
|
3501 |
|
|
dollar sign to underscore.
|
3502 |
|
|
(ASM_OUTPUT_EXTERNAL): Same.
|
3503 |
|
|
(ASM_OUTPUT_LABELREF): New.
|
3504 |
|
|
* config/rs6000/rs6000.c (rs6000_xcoff_strip_dollar): New.
|
3505 |
|
|
|
3506 |
|
|
* config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Define.
|
3507 |
|
|
* config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Define.
|
3508 |
|
|
* config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Define.
|
3509 |
|
|
* config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Define.
|
3510 |
|
|
|
3511 |
|
|
2008-10-15 Jakub Jelinek
|
3512 |
|
|
|
3513 |
|
|
PR tree-optimization/36881
|
3514 |
|
|
* tree-switch-conversion.c (check_final_bb): For flag_pic, check
|
3515 |
|
|
that each value doesn't need runtime relocations, for !flag_pic
|
3516 |
|
|
check that each value is just a valid initializer constant.
|
3517 |
|
|
|
3518 |
|
|
2008-10-14 Richard Sandiford
|
3519 |
|
|
|
3520 |
|
|
* config/mips/mips.h (reg_class): Remove HI_AND_GR_REGS,
|
3521 |
|
|
LO_AND_GR_REGS, HI_AND_FP_REGS, COP0_AND_GR_REGS, COP2_AND_GR_REGS,
|
3522 |
|
|
COP3_AND_GR_REGS, ALL_COP_REGS and ALL_COP_AND_GR_REGS.
|
3523 |
|
|
Add GR_AND_MD0_REGS, GR_AND_MD1_REGS, GR_AND_MD_REGS and
|
3524 |
|
|
GR_AND_ACC_REGS.
|
3525 |
|
|
(REG_CLASS_NAMES): Update accordingly.
|
3526 |
|
|
(REG_CLASS_CONTENTS): Likewise. Use the class name in the comments,
|
3527 |
|
|
rather than an unpredictable descriptive string.
|
3528 |
|
|
* config/mips/mips.c (mips_register_move_cost): Remove comment.
|
3529 |
|
|
(mips_register_move_cost): Check for specific COP*_REGS classes,
|
3530 |
|
|
instead of ALL_COP_AND_GR_REGS.
|
3531 |
|
|
(mips_ira_cover_classes): New function.
|
3532 |
|
|
(mips_secondary_reload_class): Remove MTLO and MTHI workarounds.
|
3533 |
|
|
(TARGET_IRA_COVER_CLASSES): Define.
|
3534 |
|
|
|
3535 |
|
|
2008-10-14 Douglas Gregor
|
3536 |
|
|
|
3537 |
|
|
PR c++/37553
|
3538 |
|
|
* tree.c (build_type_attribute_qual_variant): Hash on the
|
3539 |
|
|
unqualified type, and don't overwrite an existing
|
3540 |
|
|
(type_hash_eq): Make the TYPE_NAME of the types significant, to
|
3541 |
|
|
allow distinguishing between wchar_t and its underlying type. This
|
3542 |
|
|
also means that we'll retain a little more typedef information.
|
3543 |
|
|
|
3544 |
|
|
2008-10-14 Andrey Belevantsev
|
3545 |
|
|
Dmitry Melnik
|
3546 |
|
|
Dmitry Zhurikhin
|
3547 |
|
|
Alexander Monakov
|
3548 |
|
|
Maxim Kuvyrkov
|
3549 |
|
|
|
3550 |
|
|
* target.h (struct gcc_target): Update prototypes of needs_block_p
|
3551 |
|
|
and gen_spec_check.
|
3552 |
|
|
* haifa-sched.c (create_check_block_twin): Update calls to the above.
|
3553 |
|
|
* sel-sched.c (create_speculation_check): Likewise.
|
3554 |
|
|
* doc/tm.texi: Provide documentation for new target hooks.
|
3555 |
|
|
|
3556 |
|
|
* config/ia64/ia64.c: Include sel-sched.h. Rewrite speculation hooks.
|
3557 |
|
|
(ia64_gen_spec_insn): Removed.
|
3558 |
|
|
(get_spec_check_gen_function, insn_can_be_in_speculative_p,
|
3559 |
|
|
ia64_gen_spec_check): New static functions.
|
3560 |
|
|
(ia64_alloc_sched_context, ia64_init_sched_context,
|
3561 |
|
|
ia64_set_sched_context, ia64_clear_sched_context,
|
3562 |
|
|
ia64_free_sched_context, ia64_get_insn_spec_ds,
|
3563 |
|
|
ia64_get_insn_checked_ds, ia64_skip_rtx_p): Declare functions.
|
3564 |
|
|
(ia64_needs_block_p): Change prototype.
|
3565 |
|
|
(ia64_gen_check): Rename to ia64_gen_spec_check.
|
3566 |
|
|
(ia64_adjust_cost): Rename to ia64_adjust_cost_2. Add new parameter
|
3567 |
|
|
into declaration, add special memory dependencies handling.
|
3568 |
|
|
(TARGET_SCHED_ALLOC_SCHED_CONTEXT, TARGET_SCHED_INIT_SCHED_CONTEXT,
|
3569 |
|
|
TARGET_SCHED_SET_SCHED_CONTEXT, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
|
3570 |
|
|
TARGET_SCHED_FREE_SCHED_CONTEXT, TARGET_SCHED_GET_INSN_SPEC_DS,
|
3571 |
|
|
TARGET_SCHED_GET_INSN_CHECKED_DS, TARGET_SCHED_SKIP_RTX_P):
|
3572 |
|
|
Define new target hooks.
|
3573 |
|
|
(TARGET_SCHED_GEN_CHECK): Rename to TARGET_SCHED_GEN_SPEC_CHECK.
|
3574 |
|
|
(ia64_optimization_options): Turn on selective scheduling with -O3,
|
3575 |
|
|
disable -fauto-inc-dec. Set mflag_sched_control_spec to true by
|
3576 |
|
|
default with selective scheduling.
|
3577 |
|
|
(ia64_override_options): Initialize align_loops and align_functions
|
3578 |
|
|
to 32 and 64, respectively. Set global selective scheduling flags
|
3579 |
|
|
according to target-dependent flags.
|
3580 |
|
|
(rtx_needs_barrier): Support UNSPEC_LDS_A.
|
3581 |
|
|
(group_barrier_needed): Use new mstop-bit-before-check flag.
|
3582 |
|
|
Add heuristic.
|
3583 |
|
|
(dfa_state_size): Make global.
|
3584 |
|
|
(spec_check_no, max_uid): Remove.
|
3585 |
|
|
(mem_ops_in_group, current_cycle): New variables.
|
3586 |
|
|
(ia64_sched_init): Disable checks for !SCHED_GROUP_P after reload.
|
3587 |
|
|
Initialize new variables.
|
3588 |
|
|
(is_load_p, record_memory_reference): New functions.
|
3589 |
|
|
(ia64_dfa_sched_reorder): Lower priority of loads when limit is
|
3590 |
|
|
reached.
|
3591 |
|
|
(ia64_variable_issue): Change use of current_sched_info to
|
3592 |
|
|
sched_deps_info. Update comment. Note if a load or a store is issued.
|
3593 |
|
|
(ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Require a cycle
|
3594 |
|
|
advance if maximal number of loads or stores was issued on current
|
3595 |
|
|
cycle.
|
3596 |
|
|
(scheduled_good_insn): New static helper function.
|
3597 |
|
|
(ia64_dfa_new_cycle): Assert that last_scheduled_insn is set when
|
3598 |
|
|
a group barrier is needed. Fix vertical spacing. Guard the code
|
3599 |
|
|
doing state transition with last_scheduled_insn check.
|
3600 |
|
|
Mark that a stop bit should be before current insn if there was a
|
3601 |
|
|
cycle advance. Update current_cycle and mem_ops_in_group.
|
3602 |
|
|
(ia64_h_i_d_extended): Change use of current_sched_info to
|
3603 |
|
|
sched_deps_info. Reallocate stops_p by larger chunks.
|
3604 |
|
|
(struct _ia64_sched_context): New structure.
|
3605 |
|
|
(ia64_sched_context_t): New typedef.
|
3606 |
|
|
(ia64_alloc_sched_context, ia64_init_sched_context,
|
3607 |
|
|
ia64_set_sched_context, ia64_clear_sched_context,
|
3608 |
|
|
ia64_free_sched_context): New static functions.
|
3609 |
|
|
(gen_func_t): New typedef.
|
3610 |
|
|
(get_spec_load_gen_function): New function.
|
3611 |
|
|
(SPEC_GEN_EXTEND_OFFSET): Declare.
|
3612 |
|
|
(ia64_set_sched_flags): Check common_sched_info instead of *flags.
|
3613 |
|
|
(get_mode_no_for_insn): Change the condition that prevents use of
|
3614 |
|
|
special hardware registers so it can now handle pseudos.
|
3615 |
|
|
(get_spec_unspec_code): New function.
|
3616 |
|
|
(ia64_skip_rtx_p, get_insn_spec_code, ia64_get_insn_spec_ds,
|
3617 |
|
|
ia64_get_insn_checked_ds, ia64_gen_spec_load): New static functions.
|
3618 |
|
|
(ia64_speculate_insn, ia64_needs_block_p): Support branchy checks
|
3619 |
|
|
during selective scheduling.
|
3620 |
|
|
(ia64_speculate_insn): Use ds_get_speculation_types when
|
3621 |
|
|
determining whether we need to change the pattern.
|
3622 |
|
|
(SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): Declare.
|
3623 |
|
|
(ia64_spec_check_src_p): Support new speculation/check codes.
|
3624 |
|
|
(struct bundle_state): New field.
|
3625 |
|
|
(issue_nops_and_insn): Initialize it.
|
3626 |
|
|
(insert_bundle_state): Minimize mid-bundle stop bits.
|
3627 |
|
|
(important_for_bundling_p): New function.
|
3628 |
|
|
(get_next_important_insn): Use important_for_bundling_p.
|
3629 |
|
|
(bundling): When shifting TImode from unimportant insns, ignore
|
3630 |
|
|
also group barriers. Assert that best state is found before
|
3631 |
|
|
the backward bundling pass. Print number of mid-bundle stop bits.
|
3632 |
|
|
Minimize mid-bundle stop bits. Check correct calculation of
|
3633 |
|
|
mid-bundle stop bits.
|
3634 |
|
|
(ia64_sched_finish, final_emit_insn_group_barriers): Fix formatting.
|
3635 |
|
|
(final_emit_insn_group_barriers): Emit stop bits before insns starting
|
3636 |
|
|
a new cycle.
|
3637 |
|
|
(sel2_run): New variable.
|
3638 |
|
|
(ia64_reorg): When flag_selective_scheduling2 is set, run the
|
3639 |
|
|
selective scheduling pass instead of schedule_ebbs.
|
3640 |
|
|
|
3641 |
|
|
* config/ia64/ia64.md (speculable1, speculable2): New attributes.
|
3642 |
|
|
(UNSPEC_LDS_A): New UNSPEC.
|
3643 |
|
|
(movqi_internal, movhi_internal, movsi_internal, movdi_internal,
|
3644 |
|
|
movti_internal, movsf_internal, movdf_internal,
|
3645 |
|
|
movxf_internal): Make visible. Add speculable* attributes.
|
3646 |
|
|
(output_c_nc): New mode attribute.
|
3647 |
|
|
(mov_speculative_a, zero_extenddi2_speculative_a,
|
3648 |
|
|
mov_nc, zero_extenddi2_nc,
|
3649 |
|
|
advanced_load_check_nc_): New insns.
|
3650 |
|
|
(zero_extend*): Add speculable* attributes.
|
3651 |
|
|
|
3652 |
|
|
* config/ia64/ia64.opt (msched_fp_mem_deps_zero_cost): New option.
|
3653 |
|
|
(msched-stop-bits-after-every-cycle): Likewise.
|
3654 |
|
|
(msched-max-memory-insns, msched-max-memory-insns-hard-limit):
|
3655 |
|
|
Likewise.
|
3656 |
|
|
(msched-spec-verbose): Remove.
|
3657 |
|
|
(msched-prefer-non-data-spec-insns,
|
3658 |
|
|
msched-prefer-non-control-spec-insns,
|
3659 |
|
|
msched-count-spec-in-critical-path,
|
3660 |
|
|
msel-sched-dont-check-control-spec): Use Target Report Var
|
3661 |
|
|
instead of Common Report Var.
|
3662 |
|
|
|
3663 |
|
|
* config/ia64/itanium2.md: Remove incorrect bypass.
|
3664 |
|
|
|
3665 |
|
|
* config/ia64/t-ia64 (ia64.o): Add dependency on sel-sched.h.
|
3666 |
|
|
|
3667 |
|
|
2008-10-14 Jakub Jelinek
|
3668 |
|
|
|
3669 |
|
|
PR middle-end/37805
|
3670 |
|
|
* opts.c (common_handle_option): Don't ICE on -fhelp=joined
|
3671 |
|
|
and -fhelp=separate.
|
3672 |
|
|
|
3673 |
|
|
2008-10-14 Ben Elliston
|
3674 |
|
|
|
3675 |
|
|
* config/rs6000/rs6000.md (cell_micro): Fix formatting.
|
3676 |
|
|
|
3677 |
|
|
2008-10-13 Joseph Myers
|
3678 |
|
|
|
3679 |
|
|
* combine.c (simplify_set): Avoid calling LOAD_EXTEND_OP on
|
3680 |
|
|
non-integer modes.
|
3681 |
|
|
|
3682 |
|
|
2008-10-13 Matthias Klose
|
3683 |
|
|
|
3684 |
|
|
* config/pa/linux-atomic.c: Work around missing header file
|
3685 |
|
|
for hppa64-linux-gnu targets.
|
3686 |
|
|
|
3687 |
|
|
2008-10-13 Andrew Pinski
|
3688 |
|
|
Kaushal Kantawala
|
3689 |
|
|
Trevor Smigiel
|
3690 |
|
|
Grace Cao
|
3691 |
|
|
|
3692 |
|
|
* doc/invoke.texi (-mgen-cell-microcode): Document.
|
3693 |
|
|
(-mwarn-cell-microcode): Document.
|
3694 |
|
|
* cfglayout.c (locator_location): Export.
|
3695 |
|
|
* rtl.h (locator_location): Define prototype.
|
3696 |
|
|
* config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand):
|
3697 |
|
|
New predicate.
|
3698 |
|
|
* rs6000/rs6000-protos.h (rs6000_final_prescan_insn): Define prototype.
|
3699 |
|
|
* config/rs6000/rs6000.opt (mgen-cell-microcode): New option.
|
3700 |
|
|
(mwarn-cell-microcode): New option.
|
3701 |
|
|
* rs6000/rs6000.c (rs6000_cell_dont_microcode): Delete unused variable.
|
3702 |
|
|
(rs6000_override_options): Set rs6000_gen_cell_microcode if tuning for
|
3703 |
|
|
cell and not already set.
|
3704 |
|
|
Turn off string instructions if not generating cell microcode.
|
3705 |
|
|
(rs6000_final_prescan_insn): New function that warns about microcoded
|
3706 |
|
|
instructions.
|
3707 |
|
|
* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Define.
|
3708 |
|
|
* config/rs6000/rs6000.md
|
3709 |
|
|
Replace cc_reg_not_cr0_operand with cc_reg_not_micro_cr0_operand if
|
3710 |
|
|
the instruction would have been microcoded on the Cell. Set
|
3711 |
|
|
cell_micro to always on unnamed patterns for the string instructions.
|
3712 |
|
|
(cell_micro): Update definition, remove load/store conditional
|
3713 |
|
|
microcoded.
|
3714 |
|
|
(sign_extend:DI): Define new pattern for non microcoded version.
|
3715 |
|
|
(sign_extend:SI): Likewise.
|
3716 |
|
|
(compare (div:P)): Set cell_micro to not.
|
3717 |
|
|
(andsi3): Define as an expand.
|
3718 |
|
|
(andsi3_mc): New pattern.
|
3719 |
|
|
(andsi3_nomc): New pattern.
|
3720 |
|
|
(andsi3_internal0_nomc): New pattern.
|
3721 |
|
|
(andsi3_internal2): Rename to ...
|
3722 |
|
|
(andsi3_internal2_mc): this and enable iff generating microcode.
|
3723 |
|
|
(andsi3_internal3): Rename to ...
|
3724 |
|
|
(andsi3_internal3_mc): this and enable iff generating microcode.
|
3725 |
|
|
(andsi3_internal4): Enable iif generating microcode.
|
3726 |
|
|
(andsi3_internal5): Rename to ..
|
3727 |
|
|
(andsi3_internal5_mc): this and enable iff generating microcode.
|
3728 |
|
|
(andsi3_internal5_nomc): New pattern.
|
3729 |
|
|
(extzvdi_internal1): Enable iff generating microcode.
|
3730 |
|
|
(extzvdi_internal2): Likewise.
|
3731 |
|
|
(rotlsi3_internal7): Set cell_micro to always if non immediate form.
|
3732 |
|
|
(anddi3): Change to expand.
|
3733 |
|
|
(anddi3_mc): Rename from anddi3.
|
3734 |
|
|
(anddi3_no_mc): New pattern.
|
3735 |
|
|
(anddi3_internal2): Rename to ..
|
3736 |
|
|
(anddi3_internal2_mc): this and enable iff generating microcode.
|
3737 |
|
|
(anddi3_internal2_nomc): New pattern.
|
3738 |
|
|
(anddi3_internal3): Rename to ..
|
3739 |
|
|
(anddi3_internal3_mc): this and enable iff generating microcode.
|
3740 |
|
|
(anddi3_internal3_nomc): New pattern.
|
3741 |
|
|
(movti_string): Set cell_micro to always if TARGET_STRING.
|
3742 |
|
|
(stmsi8): Set cell_micro to always.
|
3743 |
|
|
(stmsi7): Likewise.
|
3744 |
|
|
(stmsi6): Likewise.
|
3745 |
|
|
(stmsi5): Likewise.
|
3746 |
|
|
(stmsi4): Likewise.
|
3747 |
|
|
(stmsi3): Likewise.
|
3748 |
|
|
(stmsi8_power): Likewise.
|
3749 |
|
|
(stmsi7_power): Likewise.
|
3750 |
|
|
(stmsi6_power): Likewise.
|
3751 |
|
|
(stmsi5_power): Likewise.
|
3752 |
|
|
(stmsi4_power): Likewise.
|
3753 |
|
|
(stmsi3_power): Likewise.
|
3754 |
|
|
(movsi_update2): Enable iff generating microcode.
|
3755 |
|
|
(movhi_update3): Likewise.
|
3756 |
|
|
(lmw): Set cell_micro to always.
|
3757 |
|
|
|
3758 |
|
|
2008-10-13 Richard Sandiford
|
3759 |
|
|
|
3760 |
|
|
* config/s390/s390.md (UNSPEC_POOL_OFFSET): New constant.
|
3761 |
|
|
* config/s390/s390.c (machine_function): Remove
|
3762 |
|
|
decomposed_literal_pool_addresses_ok_p.
|
3763 |
|
|
(s390_decompose_address): Check for UNSPEC_POOL_OFFSET instead of
|
3764 |
|
|
the difference of two labels.
|
3765 |
|
|
(s390_output_addr_const_extra): Handle UNSPEC_POOL_OFFSET.
|
3766 |
|
|
(s390_pool_offset): New function.
|
3767 |
|
|
(s390_find_constant, s390_find_execute, s390_dump_pool): Use it.
|
3768 |
|
|
(s390_reorg): Don't set decomposed_literal_pool_addresses_ok_p.
|
3769 |
|
|
|
3770 |
|
|
2008-10-13 Nathan Froyd
|
3771 |
|
|
|
3772 |
|
|
* doc/install.texi (powerpc-*-*): Require binutils 2.15.
|
3773 |
|
|
(powerpc*-*-linux-gnu*): Describe.
|
3774 |
|
|
* config/rs6000/ppc-asm.h (HIDDEN_FUNC): New macro.
|
3775 |
|
|
* config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
|
3776 |
|
|
config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
|
3777 |
|
|
config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
|
3778 |
|
|
config/rs6000/e500crtres32gpr.asm,
|
3779 |
|
|
config/rs6000/e500crtres64gpr.asm,
|
3780 |
|
|
config/rs6000/e500crtres64gprctr.asm,
|
3781 |
|
|
config/rs6000/e500crtrest32gpr.asm,
|
3782 |
|
|
config/rs6000/e500crtrest64gpr.asm,
|
3783 |
|
|
config/rs6000/e500crtresx32gpr.asm,
|
3784 |
|
|
config/rs6000/e500crtresx64gpr.asm,
|
3785 |
|
|
config/rs6000/e500crtsav32gpr.asm,
|
3786 |
|
|
config/rs6000/e500crtsav64gpr.asm,
|
3787 |
|
|
config/rs6000/e500crtsav64gprctr.asm,
|
3788 |
|
|
config/rs6000/e500crtsavg32gpr.asm,
|
3789 |
|
|
config/rs6000/e500crtsavg64gpr.asm,
|
3790 |
|
|
config/rs6000/e500crtsavg64gprctr.asm: Use it.
|
3791 |
|
|
* config/rs6000/crtsavres.asm: Really remove.
|
3792 |
|
|
|
3793 |
|
|
2008-10-13 Kai Tietz
|
3794 |
|
|
|
3795 |
|
|
Fix PR/25502
|
3796 |
|
|
* c-format.c (convert_format_name_to_system_name): Use
|
3797 |
|
|
TARGET_OVERRIDES_FORMAT_INIT.
|
3798 |
|
|
* config.gcc (extra_options): Add for mingw targets mingw.opt.
|
3799 |
|
|
* config/i386/mingw.opt: New.
|
3800 |
|
|
* config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_INIT): New.
|
3801 |
|
|
* config/i386/msformat-c.c (TARGET_OVERRIDES_FORMAT_INIT): New.
|
3802 |
|
|
(ms_printf_length_specs): Removed const specifier.
|
3803 |
|
|
* doc/tm.texi (TARGET_OVERRIDES_FORMAT_INIT): New.
|
3804 |
|
|
* doc/invoke.texi (Wno-pedantic-ms-format): New.
|
3805 |
|
|
|
3806 |
|
|
2008-10-13 Kaveh R. Ghazi
|
3807 |
|
|
|
3808 |
|
|
* builtins.c: Remove MPFR_VERSION_NUM(2,3,0) conditionals.
|
3809 |
|
|
* doc/install.texi: Bump recommended MPFR to 2.3.2.
|
3810 |
|
|
|
3811 |
|
|
2008-10-12 Kenneth Zadeck
|
3812 |
|
|
|
3813 |
|
|
PR middle-end/37808
|
3814 |
|
|
* df-scan.c (df_ref_change_reg_with_loc_1): Added test to make
|
3815 |
|
|
sure that ref has valid bb.
|
3816 |
|
|
|
3817 |
|
|
2008-10-12 Richard Henderson
|
3818 |
|
|
|
3819 |
|
|
PR middle-end/37447
|
3820 |
|
|
* Makefile.in (reload1.o): Depend on EMIT_RTL_H.
|
3821 |
|
|
* alias.c (value_addr_p, stack_addr_p): Remove.
|
3822 |
|
|
(nonoverlapping_memrefs_p): Remove IRA special case.
|
3823 |
|
|
* emit-rtl.c (get_spill_slot_decl, set_mem_attrs_for_spill): New.
|
3824 |
|
|
* emit-rtl.h (set_mem_attrs_for_spill): Declare.
|
3825 |
|
|
* reload1.c (alter_reg): Use it.
|
3826 |
|
|
|
3827 |
|
|
2008-10-12 Uros Bizjak
|
3828 |
|
|
|
3829 |
|
|
* config/i386/driver-i386.c (detect_caches_cpuid2): Use array
|
3830 |
|
|
of registers instead of eax, ebx, ecx and edx. Use for loop
|
3831 |
|
|
and check register for non-zero value before the call
|
3832 |
|
|
to decode_caches_intel.
|
3833 |
|
|
|
3834 |
|
|
2008-10-11 Kenneth Zadeck
|
3835 |
|
|
|
3836 |
|
|
PR rtl-optimization/37448
|
3837 |
|
|
* df.h (df_ref_class): New enum.
|
3838 |
|
|
(DF_REF_TYPE_NAMES, df_ref_extract): Removed.
|
3839 |
|
|
(struct df_ref): Replaced with union df_ref_d.
|
3840 |
|
|
(df_base_ref, df_artificial_ref, df_regular_ref, df_extract_ref):
|
3841 |
|
|
New members of df_ref_d union.
|
3842 |
|
|
(DF_REF_REAL_REG, DF_REF_REGNO, DF_REF_REAL_LOC, DF_REF_REG,
|
3843 |
|
|
DF_REF_LOC, DF_REF_BB, DF_REF_INSN_INFO, DF_REF_INSN,
|
3844 |
|
|
DF_REF_CLASS, DF_REF_TYPE, DF_REF_CHAIN, DF_REF_ID, DF_REF_FLAGS,
|
3845 |
|
|
DF_REF_ORDER, DF_REF_IS_ARTIFICIAL, DF_REF_NEXT_REG,
|
3846 |
|
|
DF_REF_PREV_REG, DF_REF_EXTRACT_WIDTH, DF_REF_EXTRACT_OFFSET,
|
3847 |
|
|
DF_REF_EXTRACT_MODE): Replaced definition to access union df_ref_d.
|
3848 |
|
|
(DF_MWS_REG_DEF_P, DF_MWS_REG_USE_P, DF_MWS_TYPE): New macros.
|
3849 |
|
|
(df_scan_bb_info, df_bb_regno_first_def_find,
|
3850 |
|
|
df_bb_regno_last_def_find, df_find_def, df_find_use,
|
3851 |
|
|
df_refs_chain_dump, df_regs_chain_dump, df_ref_debug,
|
3852 |
|
|
debug_df_ref, df_chain_create, df_chain_unlink, df_chain_copy,
|
3853 |
|
|
df_ref_create, df_ref_remove, df_compute_accessed_bytes,
|
3854 |
|
|
df_get_artificial_defs, df_get_artificial_uses, union_defs)
|
3855 |
|
|
Replaced struct df_ref * with df_ref.
|
3856 |
|
|
* df-scan.c (df_collection_rec, df_null_ref_rec,
|
3857 |
|
|
df_ref_chain_delete_du_chain, df_ref_chain_delete, df_install_ref,
|
3858 |
|
|
df_grow_ref_info, df_ref_create, df_reg_chain_unlink,
|
3859 |
|
|
df_ref_compress_rec, df_ref_remove, df_ref_chain_delete_du_chain,
|
3860 |
|
|
df_ref_chain_delete, df_free_collection_rec, df_insn_rescan,
|
3861 |
|
|
df_reorganize_refs_by_reg_by_reg,
|
3862 |
|
|
df_reorganize_refs_by_reg_by_insn, df_reorganize_refs_by_reg,
|
3863 |
|
|
df_ref_change_reg_with_loc_1, df_notes_rescan, df_swap_refs,
|
3864 |
|
|
df_sort_and_compress_refs, df_install_ref, df_install_refs,
|
3865 |
|
|
df_ref_record, df_get_conditional_uses, df_get_call_refs,
|
3866 |
|
|
df_bb_refs_record, df_exit_block_uses_collect,
|
3867 |
|
|
df_record_exit_block_uses, df_reg_chain_mark,
|
3868 |
|
|
df_reg_chain_verify_unmarked, df_refs_verify): Replaced struct
|
3869 |
|
|
df_ref * with df_ref.
|
3870 |
|
|
(df_ref_record, df_uses_record, df_ref_create_structure): Added
|
3871 |
|
|
df_ref_class parameter.
|
3872 |
|
|
(df_scan_problem_data): Added new pools for different types of refs.
|
3873 |
|
|
(df_scan_free_internal, df_scan_alloc, df_free_ref,
|
3874 |
|
|
df_ref_create_structure): Processed new ref pools.
|
3875 |
|
|
(df_scan_start_dump): Added counts of refs and insns.
|
3876 |
|
|
(df_ref_create, df_notes_rescan, df_def_record_1, df_uses_record,
|
3877 |
|
|
df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
|
3878 |
|
|
df_entry_block_defs_collect, df_exit_block_uses_collect): Added
|
3879 |
|
|
code to pass df_ref_class down to ref creation functions.
|
3880 |
|
|
(df_reg_chain_unlink, df_ref_remove, df_ref_change_reg_with_loc_1,
|
3881 |
|
|
df_reg_chain_mark): Use macros to hide references to df_refs.
|
3882 |
|
|
(df_ref_chain_change_bb): Removed.
|
3883 |
|
|
(df_insn_change_bb): Remove calls to df_ref_insn_change_bb.
|
3884 |
|
|
(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
|
3885 |
|
|
Enhanced to understand df_ref union structure.
|
3886 |
|
|
* fwprop.c (local_ref_killed_between_p, use_killed_between,
|
3887 |
|
|
all_uses_available_at, update_df, try_fwprop_subst,
|
3888 |
|
|
forward_propagate_subreg, forward_propagate_and_simplify,
|
3889 |
|
|
forward_propagate_into, fwprop, fwprop_addr): Replaced struct
|
3890 |
|
|
df_ref * with df_ref.
|
3891 |
|
|
(use_killed_between, all_uses_available_at): Use macros to hide
|
3892 |
|
|
references to df_refs.
|
3893 |
|
|
* regstat.c (regstat_bb_compute_ri,
|
3894 |
|
|
regstat_bb_compute_calls_crossed): Replaced struct df_ref * with
|
3895 |
|
|
df_ref.
|
3896 |
|
|
* see.c (see_handle_relevant_defs, see_handle_relevant_uses,
|
3897 |
|
|
see_handle_relevant_refs, see_analyze_one_def,
|
3898 |
|
|
see_update_relevancy, see_propagate_extensions_to_uses): Replaced
|
3899 |
|
|
struct df_ref * with df_ref.
|
3900 |
|
|
* ra-conflict.c (record_one_conflict, clear_reg_in_live,
|
3901 |
|
|
global_conflicts): Replaced struct df_ref * with df_ref.
|
3902 |
|
|
* ddg.c (create_ddg_dep_from_intra_loop_link,
|
3903 |
|
|
add_cross_iteration_register_deps, build_inter_loop_deps):
|
3904 |
|
|
Replaced struct df_ref * with df_ref.
|
3905 |
|
|
(create_ddg_dep_from_intra_loop_link,
|
3906 |
|
|
add_cross_iteration_register_deps): Use macros to hide references
|
3907 |
|
|
to df_refs.
|
3908 |
|
|
* auto-inc-dec.c (find_inc, merge_in_block): Replaced struct
|
3909 |
|
|
df_ref * with df_ref.
|
3910 |
|
|
* df-core.c (df_bb_regno_first_def_find,
|
3911 |
|
|
df_bb_regno_last_def_find, df_find_def, df_find_use,
|
3912 |
|
|
df_refs_chain_dump, df_regs_chain_dump, df_ref_debug,
|
3913 |
|
|
debug_df_ref): Replaced struct df_ref * with df_ref.
|
3914 |
|
|
(df_mws_dump, df_ref_debug): Use macros to hide references to df_refs.
|
3915 |
|
|
* cse.c (cse_extended_basic_block): Replaced struct df_ref * with
|
3916 |
|
|
df_ref.
|
3917 |
|
|
* web.c (union_defs, entry_register, replace_ref, web_main):
|
3918 |
|
|
Replaced struct df_ref * with df_ref.
|
3919 |
|
|
(union_defs, replace_ref): Use macros to hide references to df_refs.
|
3920 |
|
|
* global.c (compute_regs_asm_clobbered, build_insn_chain):
|
3921 |
|
|
Replaced struct df_ref * with df_ref.
|
3922 |
|
|
* ifcvt.c (dead_or_predicable): Replaced struct df_ref * with df_ref.
|
3923 |
|
|
* sel-sched-ir.c (maybe_downgrade_id_to_use, setup_id_reg_sets):
|
3924 |
|
|
Replaced struct df_ref * with df_ref.
|
3925 |
|
|
* ira-lives.c (mark_ref_live, def_conflicts_with_inputs_p,
|
3926 |
|
|
mark_ref_dead, process_bb_node_lives): Replaced struct df_ref *
|
3927 |
|
|
with df_ref.
|
3928 |
|
|
* local-alloc.c (block_alloc): Replaced struct df_ref * with df_ref.
|
3929 |
|
|
* df-byte-scan.c (df_compute_accessed_bytes_extract,
|
3930 |
|
|
df_compute_accessed_bytes_strict_low_part,
|
3931 |
|
|
df_compute_accessed_bytes_subreg, df_compute_accessed_bytes):
|
3932 |
|
|
Replaced struct df_ref * with df_ref.
|
3933 |
|
|
(df_compute_accessed_bytes): Use macros to hide references to df_refs.
|
3934 |
|
|
* init-regs.c (initialize_uninitialized_regs): Replaced struct
|
3935 |
|
|
df_ref * with df_ref.
|
3936 |
|
|
* loop-invariant.c (invariant_for_use, hash_invariant_expr_1,
|
3937 |
|
|
check_dependency, check_dependencies, record_uses): Replaced
|
3938 |
|
|
struct df_ref * with df_ref.
|
3939 |
|
|
(invariant_for_use, check_dependency): Use macros to hide
|
3940 |
|
|
references to df_refs.
|
3941 |
|
|
* loop-iv.c (iv_analysis_loop_init, iv_get_reaching_def,
|
3942 |
|
|
get_biv_step_1, get_biv_step, record_iv, iv_analyze_def,
|
3943 |
|
|
iv_analyze, biv_p): Replaced struct df_ref * with df_ref.
|
3944 |
|
|
(iv_analysis_loop_init, iv_get_reaching_def): Use macros to hide
|
3945 |
|
|
references to df_refs.
|
3946 |
|
|
* ira.c (compute_regs_asm_clobbered): Replaced struct df_ref *
|
3947 |
|
|
with df_ref.
|
3948 |
|
|
* combine.c (create_log_links): Replaced struct df_ref * with df_ref.
|
3949 |
|
|
* df-problems.c (df_rd_bb_local_compute_process_def,
|
3950 |
|
|
df_lr_bb_local_compute, df_live_bb_local_compute, df_chain_create,
|
3951 |
|
|
df_chain_unlink_1, df_chain_unlink, df_chain_copy,
|
3952 |
|
|
df_chain_remove_problem, df_chain_create_bb_process_use,
|
3953 |
|
|
df_chain_create_bb, df_chain_top_dump, df_chain_bottom_dump,
|
3954 |
|
|
df_byte_lr_check_regs, df_byte_lr_bb_local_compute,
|
3955 |
|
|
df_byte_lr_simulate_defs, df_byte_lr_simulate_uses,
|
3956 |
|
|
df_byte_lr_simulate_artificial_refs_at_top,
|
3957 |
|
|
df_byte_lr_simulate_artificial_refs_at_end, df_create_unused_note,
|
3958 |
|
|
df_note_bb_compute, df_note_add_problem, df_simulate_defs,
|
3959 |
|
|
df_simulate_uses, df_simulate_artificial_refs_at_end,
|
3960 |
|
|
df_simulate_artificial_refs_at_top): Replaced struct df_ref * with
|
3961 |
|
|
df_ref.
|
3962 |
|
|
(df_chain_dump): Use macros to hide references to df_refs.
|
3963 |
|
|
* config/mips/mips.c (r10k_simplify_address): Replaced struct
|
3964 |
|
|
df_ref * with df_ref.
|
3965 |
|
|
* dce.c (mark_nonreg_stores, delete_corresponding_reg_eq_notes,
|
3966 |
|
|
mark_artificial_uses, mark_reg_dependencies,
|
3967 |
|
|
byte_dce_process_block): Replaced struct df_ref * with df_ref.
|
3968 |
|
|
|
3969 |
|
|
2008-10-11 Eric Botcazou
|
3970 |
|
|
|
3971 |
|
|
* tree.h (contains_packed_reference): Mention ARRAY_RANGE_REF in
|
3972 |
|
|
head comment.
|
3973 |
|
|
(array_ref_element_size): Likewise.
|
3974 |
|
|
(array_ref_low_bound): Likewise.
|
3975 |
|
|
(array_ref_up_bound): Likewise.
|
3976 |
|
|
* expr.c (contains_packed_reference): Likewise.
|
3977 |
|
|
(array_ref_element_size): Likewise.
|
3978 |
|
|
(array_ref_low_bound): Likewise.
|
3979 |
|
|
(array_ref_up_bound): Likewise.
|
3980 |
|
|
* tree-ssa-loop-ivopts.c (idx_contains_abnormal_ssa_name_p): Deal
|
3981 |
|
|
with ARRAY_RANGE_REF.
|
3982 |
|
|
(idx_find_step): Likewise.
|
3983 |
|
|
(idx_record_use): Likewise.
|
3984 |
|
|
(strip_offset_1): Likewise.
|
3985 |
|
|
(idx_remove_ssa_names): Likewise.
|
3986 |
|
|
|
3987 |
|
|
2008-10-11 Uros Bizjak
|
3988 |
|
|
Andi Kleen
|
3989 |
|
|
|
3990 |
|
|
* config/i386/cpuid.h (__cpuid_count): New defines.
|
3991 |
|
|
* config/i386/driver-i386.c (struct cache_desc): New structure.
|
3992 |
|
|
(describe_cache): Use struct cache_desc to pass cache descriptions.
|
3993 |
|
|
(detect_l2_cache): Ditto. Rename from decode_l2_cache.
|
3994 |
|
|
(detect_caches_amd): Use struct cache_desc to describe caches.
|
3995 |
|
|
(decode_caches_intel): Use struct cache_desc to pass cache
|
3996 |
|
|
descriptions. Update descriptions to match latest (rev -032,
|
3997 |
|
|
December 2007) CPUID documentation. Do not check valid bit here.
|
3998 |
|
|
Check for Xeon MP value 0x49 problems.
|
3999 |
|
|
(detect_caches_cpuid2): New function, split from detect_caches_intel.
|
4000 |
|
|
Check valid bit before calling decode_caches_intel. Detect number
|
4001 |
|
|
of times to repeat CPUID instruction.
|
4002 |
|
|
(detect_caches_cpuid4): New function.
|
4003 |
|
|
(detect_caches_intel): Depending on max_level, call
|
4004 |
|
|
detect_caches_cpuid2 or detect_caches_cpuid4. Call detect_l2_cache
|
4005 |
|
|
only when other methods fail to provide valid L2 cache description.
|
4006 |
|
|
|
4007 |
|
|
2008-10-11 John David Anglin
|
4008 |
|
|
|
4009 |
|
|
PR middle-end/37608
|
4010 |
|
|
* pa.md (call, call_value): Generate an rtx for register r4 and pass
|
4011 |
|
|
it to PIC call patterns.
|
4012 |
|
|
(call_symref_pic): Revise pattern to expose PIC register save. Remove
|
4013 |
|
|
code generation and attributes from pattern. Change peephole2 to
|
4014 |
|
|
split for noreturn case. Revise split pattern for non noreturn case.
|
4015 |
|
|
(call_symref_64bit, call_reg_pic, call_reg_64bit, call_val_symref_pic,
|
4016 |
|
|
call_val_symref_64bit, call_val_reg_pic, call_val_reg_64bit): Likewise.
|
4017 |
|
|
* pa.c (attr_length_call): Simplify extraction of call rtx. Add some
|
4018 |
|
|
asserts.
|
4019 |
|
|
|
4020 |
|
|
2008-10-11 David Edelsohn
|
4021 |
|
|
|
4022 |
|
|
* config/rs6000/rs6000.md (aux_truncdfsf2): Remove TARGET_SINGLE_FLOAT.
|
4023 |
|
|
(addsf3, subsf3, mulsf3 ! TARGET_POWERPC): Remove TARGET_SINGLE_FLOAT
|
4024 |
|
|
and fp_type.
|
4025 |
|
|
(divdf3): Reformat long line.
|
4026 |
|
|
|
4027 |
|
|
2008-10-11 Michael J. Eager
|
4028 |
|
|
|
4029 |
|
|
* config/rs6000/rs6000.c (rs6000_parse_fpu_option): Interpret
|
4030 |
|
|
-mfpu options.
|
4031 |
|
|
(rs6000_handle_option): Process -mfpu options.
|
4032 |
|
|
* config/rs6000/rs6000.h (TARGET_XILINX_FPU): New.
|
4033 |
|
|
(enum fpu_type_t): New.
|
4034 |
|
|
* config/rs6000/rs6000.md (attr fp_type): New. Include xfpu.md.
|
4035 |
|
|
(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3, trunctfdf2): Set
|
4036 |
|
|
fp_type.
|
4037 |
|
|
(floatsisf2): Remove TARGET_SINGLE_FPU condition.
|
4038 |
|
|
(floatdidf2): Add TARGET_SINGLE_FPU condition.
|
4039 |
|
|
* config/rs6000/rs6000.opt (-mfpu): New.
|
4040 |
|
|
(-mxilinx-fpu): New.
|
4041 |
|
|
* config/rs6000/sysv4.h (DRIVER_SELF_SPECS): New.
|
4042 |
|
|
* config/rs6000/xfpu.h: New. Define TARGET_XILINX_FPU.
|
4043 |
|
|
* config/rs6000/xfpu.md: New. Define Xilinx pipeline.
|
4044 |
|
|
* gcc/config.gcc: powerpc-xilinx-eabi target: New.
|
4045 |
|
|
* gcc/doc/invoke.texi (RS/6000 and PowerPC Options): Add -mfpu option.
|
4046 |
|
|
|
4047 |
|
|
2008-10-11 Jakub Jelinek
|
4048 |
|
|
|
4049 |
|
|
PR target/35760
|
4050 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_address): Only create
|
4051 |
|
|
LO_SUM on Darwin if mode has just one unit.
|
4052 |
|
|
|
4053 |
|
|
2008-10-10 H.J. Lu
|
4054 |
|
|
|
4055 |
|
|
PR debug/37002
|
4056 |
|
|
* dwarf2out.c (mem_loc_descriptor): Use DRAP for vDRAP which
|
4057 |
|
|
has been optimized out.
|
4058 |
|
|
|
4059 |
|
|
2008-10-10 Richard Sandiford
|
4060 |
|
|
|
4061 |
|
|
* config/sh/sh.h (PREFERRED_RELOAD_CLASS): Test PIC_ADDR_P
|
4062 |
|
|
instead of PIC_DIRECT_ADDR_P.
|
4063 |
|
|
(SECONDARY_INPUT_RELOAD_CLASS): Likewise.
|
4064 |
|
|
(IS_LITERAL_OR_SYMBOLIC_S16_P, IS_LITERAL_OR_SYMBOLIC_U16_P): Delete.
|
4065 |
|
|
(IS_NON_EXPLICIT_CONSTANT_P): Don't test PIC_OFFSET_P.
|
4066 |
|
|
(PIC_OFFSET_P): Rename to...
|
4067 |
|
|
(PCREL_SYMOFF_P): ...this.
|
4068 |
|
|
(PIC_DIRECT_ADDR_P): Delete.
|
4069 |
|
|
(MOVI_SHORI_BASE_OPERAND_P): Check PCREL_SYMOFF_P instead of
|
4070 |
|
|
PIC_OFFSET_P.
|
4071 |
|
|
(OUTPUT_ADDR_CONST_EXTRA): Don't require unspecs to have a
|
4072 |
|
|
single argument. Handle UNSPEC_EXTRACT_S16, UNSPEC_EXTRACT_U16,
|
4073 |
|
|
UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF.
|
4074 |
|
|
* config/sh/sh.c (print_operand): Remove CONST handling.
|
4075 |
|
|
(unspec_caller_rtx_p): Rewrite to use split_const and check
|
4076 |
|
|
the operands of UNSPEC bases.
|
4077 |
|
|
(fixup_mova): Replace (unspec [(minus A B)] UNSPEC_PIC)
|
4078 |
|
|
with (unspec [A B] UNSPEC_SYMOFF).
|
4079 |
|
|
(nonpic_symbol_mentioned_p): Check for UNSPEC_SYMOFF and
|
4080 |
|
|
UNSPEC_PCREL_SYMOFF.
|
4081 |
|
|
(sh_secondary_reload): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P.
|
4082 |
|
|
* config/sh/sh.md (UNSPEC_EXTRACT_S16): New unspec.
|
4083 |
|
|
(UNSPEC_EXTRACT_U16): Likewise.
|
4084 |
|
|
(UNSPEC_SYMOFF): Likewise.
|
4085 |
|
|
(UNSPEC_PCREL_SYMOFF): Likewise.
|
4086 |
|
|
(movsi_const): Use UNSPEC_EXTRACT_*16s to extract 16-bit portions
|
4087 |
|
|
of constants.
|
4088 |
|
|
(movsi_const_16bit): Likewise.
|
4089 |
|
|
(movdi_const, movdi_const_32bit, movdi_const_16bit): Likewise.
|
4090 |
|
|
(GOTaddr2picreg): Replace (unspec [(minus A (minus B pc))] UNSPEC_PIC)
|
4091 |
|
|
with (unspec [A B] UNSPEC_PCREL_SYMOFF).
|
4092 |
|
|
(sym_label2reg): Replace (minus (const (unspec [A] UNSPEC_PIC)) B)
|
4093 |
|
|
with (unspec [A B] UNSPEC_SYMOFF).
|
4094 |
|
|
(symPLT_label2reg): Replace (minus A (minus B pc)) with
|
4095 |
|
|
(unspec [A B] PCREL_UNSPEC_SYMOFF).
|
4096 |
|
|
* config/sh/constraints.md (Css): Check for an UNSPEC_EXTRACT_S16.
|
4097 |
|
|
(Csu): Likewise UNSPEC_EXTRACT_U16.
|
4098 |
|
|
(Csy): Test PIC_ADDR_P instead of PIC_DIRECT_ADDR_P.
|
4099 |
|
|
(Cpg): Update after changes to IS_NON_EXPLICIT_CONSTANT_P.
|
4100 |
|
|
|
4101 |
|
|
2008-10-10 Stepan Kasal
|
4102 |
|
|
|
4103 |
|
|
* gcc/doc/invoke.texi (Optimize Options): Fix typo in examples
|
4104 |
|
|
for loop strip mining and loop blocking.
|
4105 |
|
|
|
4106 |
|
|
2008-10-10 Alexandre Oliva
|
4107 |
|
|
|
4108 |
|
|
* fortran/trans-types.c (gfc_get_nodesc_array_type): Don't
|
4109 |
|
|
vary types depending on debug info.
|
4110 |
|
|
|
4111 |
|
|
2008-10-10 Alexandre Oliva
|
4112 |
|
|
|
4113 |
|
|
* c-gimplify.c (c_genericize): Don't refer to DECL_ASSEMBLER_NAME
|
4114 |
|
|
before ensuring it's already computed.
|
4115 |
|
|
|
4116 |
|
|
2008-10-09 Jakub Jelinek
|
4117 |
|
|
|
4118 |
|
|
* rtl.h (locator_eq): New decl.
|
4119 |
|
|
* cfglayout.c (locator_scope): New function.
|
4120 |
|
|
(insn_scope): Use it.
|
4121 |
|
|
(locator_eq): New function.
|
4122 |
|
|
(fixup_reorder_chain): Search for last insn in src bb
|
4123 |
|
|
that has locator set or first insn in dest bb. Use
|
4124 |
|
|
locator_eq instead of == to compare locators.
|
4125 |
|
|
* cfgrtl.c (cfg_layout_merge_blocks): Likewise.
|
4126 |
|
|
* cfgcleanup.c (try_forward_edges): Use locator_eq instead of
|
4127 |
|
|
== to compare locators.
|
4128 |
|
|
|
4129 |
|
|
* tree-ssa-live.c (remove_unused_locals): Mark all edge's goto_block
|
4130 |
|
|
as used.
|
4131 |
|
|
* gimple-low.c (lower_function_body, lower_gimple_return,
|
4132 |
|
|
lower_builtin_setjmp): Set gimple_block on the newly created stmts.
|
4133 |
|
|
* tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Only set
|
4134 |
|
|
goto_block on edges if goto_locus is known.
|
4135 |
|
|
|
4136 |
|
|
PR middle-end/37774
|
4137 |
|
|
* tree.h (get_object_alignment): Declare.
|
4138 |
|
|
* emit-rtl.c (set_mem_attributes_minus_bitpos): Call
|
4139 |
|
|
get_object_alignment if needed.
|
4140 |
|
|
* builtins.c (get_pointer_alignment): Move ADDR_EXPR operand
|
4141 |
|
|
handling to ...
|
4142 |
|
|
(get_object_alignment): ... here. New function. Try harder to
|
4143 |
|
|
determine alignment from get_inner_reference returned offset.
|
4144 |
|
|
|
4145 |
|
|
2008-10-08 Jakub Jelinek
|
4146 |
|
|
|
4147 |
|
|
* graphite.c (gloog): Don't call find_unreachable_blocks
|
4148 |
|
|
before delte_unreachable_blocks.
|
4149 |
|
|
|
4150 |
|
|
* cfgexpand.c (expand_gimple_cond): Convert also goto_block and
|
4151 |
|
|
goto_locus of true_edge into RTL locator.
|
4152 |
|
|
|
4153 |
|
|
2008-10-08 Uros Bizjak
|
4154 |
|
|
|
4155 |
|
|
* config/i386/i386.md (*jcc_btdi_rex64): Clobber FLAGS_REG.
|
4156 |
|
|
(*jcc_btdi_mask_rex64): Ditto.
|
4157 |
|
|
(*jcc_btsi): Ditto.
|
4158 |
|
|
(*jcc_btsi_mask): Ditto.
|
4159 |
|
|
(*jcc_btsi_1): Ditto.
|
4160 |
|
|
(*jcc_btsi_mask_1): Ditto.
|
4161 |
|
|
|
4162 |
|
|
2008-10-08 Paul Brook
|
4163 |
|
|
|
4164 |
|
|
* config/arm/bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI
|
4165 |
|
|
compatible profiler (__gnu_mcount_nc).
|
4166 |
|
|
(SUBTARGET_FRAME_POINTER_REQUIRED): Define.
|
4167 |
|
|
|
4168 |
|
|
2008-10-08 H.J. Lu
|
4169 |
|
|
|
4170 |
|
|
* config/i386/i386.c (initial_ix86_tune_features): Add
|
4171 |
|
|
X86_TUNE_USE_VECTOR_FP_CONVERTS.
|
4172 |
|
|
* config/i386/i386.h (ix86_tune_indices): Likewise.
|
4173 |
|
|
(TARGET_USE_VECTOR_FP_CONVERTS): New.
|
4174 |
|
|
|
4175 |
|
|
* config/i386/i386.md: Check TARGET_USE_VECTOR_FP_CONVERTS
|
4176 |
|
|
instead of (TARGET_USE_VECTOR_CONVERTS || TARGET_GENERIC)
|
4177 |
|
|
for FP to FP splitters.
|
4178 |
|
|
|
4179 |
|
|
2008-10-08 H.J. Lu
|
4180 |
|
|
|
4181 |
|
|
* config/i386/i386.md: Add missing gen_sse2_cvtdq2p to convert
|
4182 |
|
|
splitter.
|
4183 |
|
|
|
4184 |
|
|
2008-10-08 Jakub Jelinek
|
4185 |
|
|
|
4186 |
|
|
PR target/36635
|
4187 |
|
|
PR target/37290
|
4188 |
|
|
PR rtl-optimization/37341
|
4189 |
|
|
* cse.c (cse_cc_succs): Add ORIG_BB argument, don't follow edges
|
4190 |
|
|
to ORIG_BB, pass through ORIG_BB recursively.
|
4191 |
|
|
(cse_condition_code_reg): Adjust caller.
|
4192 |
|
|
|
4193 |
|
|
2008-10-08 Kai Tietz
|
4194 |
|
|
|
4195 |
|
|
* sdbout.c (sdbout_one_type): Treat the value type
|
4196 |
|
|
CONST_DECL for enumerals.
|
4197 |
|
|
|
4198 |
|
|
2008-10-07 H.J. Lu
|
4199 |
|
|
|
4200 |
|
|
* config/i386/i386.md: Remove trailing white spaces.
|
4201 |
|
|
|
4202 |
|
|
2008-10-07 Kenneth Zadeck
|
4203 |
|
|
|
4204 |
|
|
PR rtl-optimization/37448
|
4205 |
|
|
* alloc-pool.c (struct alloc_pool_descriptor) [elt_size]: New field.
|
4206 |
|
|
(stuct alloc_pool_descriptor) [created, allocated, current, peak]:
|
4207 |
|
|
Make unsigned long.
|
4208 |
|
|
(struct output_info) [count]: Renamed total_created and made
|
4209 |
|
|
unsigned long.
|
4210 |
|
|
(struct output_info) [size]: Renamed total_allocated and made
|
4211 |
|
|
unsigned long.
|
4212 |
|
|
(create_alloc_pool, empty_alloc_pool, pool_alloc, pool_free):
|
4213 |
|
|
Properly keep track of desc->size.
|
4214 |
|
|
(print_statistics, dump_alloc_pool_statistics): Enhance the
|
4215 |
|
|
printing of statistics to print the number of elements and to use
|
4216 |
|
|
unsigned longs.
|
4217 |
|
|
|
4218 |
|
|
2008-10-07 Jakub Jelinek
|
4219 |
|
|
|
4220 |
|
|
PR middle-end/37576
|
4221 |
|
|
* opts.h (CL_SAVE): Move up to flags range.
|
4222 |
|
|
(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET,
|
4223 |
|
|
CL_COMMON): Renumber.
|
4224 |
|
|
(CL_MIN_OPTION_CLASS): Set to CL_PARAMS.
|
4225 |
|
|
* opts.c (common_handle_option): Revert last change.
|
4226 |
|
|
|
4227 |
|
|
2008-10-07 H.J. Lu
|
4228 |
|
|
|
4229 |
|
|
* config/i386/i386-protos.h (ix86_schedule): New.
|
4230 |
|
|
|
4231 |
|
|
* config/i386/i386.c (ix86_schedule): New.
|
4232 |
|
|
(override_options): Add schedule to processor_alias_table. Set
|
4233 |
|
|
ix86_schedule from the schedule field in processor_alias_table.
|
4234 |
|
|
(ix86_function_specific_save): Save ix86_schedule.
|
4235 |
|
|
(ix86_function_specific_restore): Restore ix86_schedule.
|
4236 |
|
|
|
4237 |
|
|
* config/i386/i386.md (cpu): Map to ix86_schedule instead of
|
4238 |
|
|
ix86_tune. Add none and remove i386, i486, pentium4, nocona
|
4239 |
|
|
and generic32.
|
4240 |
|
|
|
4241 |
|
|
* config/i386/i386.opt: Add schedule.
|
4242 |
|
|
|
4243 |
|
|
* config/i386/ppro.md: Remove generic32.
|
4244 |
|
|
|
4245 |
|
|
2008-10-07 Simon Martin
|
4246 |
|
|
|
4247 |
|
|
PR c/35437
|
4248 |
|
|
* expr.c (count_type_elements): Handle ERROR_MARK.
|
4249 |
|
|
|
4250 |
|
|
2008-10-07 Jakub Jelinek
|
4251 |
|
|
|
4252 |
|
|
PR debug/29609
|
4253 |
|
|
PR debug/36690
|
4254 |
|
|
PR debug/37616
|
4255 |
|
|
* basic-block.h (struct edge_def): Add goto_block field.
|
4256 |
|
|
* cfglayout.c (fixup_reorder_chain): Ensure that there is at least
|
4257 |
|
|
one insn with locus corresponding to edge's goto_locus if !optimize.
|
4258 |
|
|
* profile.c (branch_prob): Copy edge's goto_block.
|
4259 |
|
|
* cfgrtl.c (force_nonfallthru_and_redirect): Use goto_locus for
|
4260 |
|
|
emitted jumps.
|
4261 |
|
|
(cfg_layout_merge_blocks): Emit a nop with edge's goto_locus
|
4262 |
|
|
locator in between the merged basic blocks if !optimize and needed.
|
4263 |
|
|
* cfgexpand.c (expand_gimple_cond): Convert goto_block and
|
4264 |
|
|
goto_locus into RTL locator. For unconditional jump use that
|
4265 |
|
|
locator for the jump insn.
|
4266 |
|
|
(expand_gimple_cond): Convert goto_block and goto_locus into
|
4267 |
|
|
RTL locator for all remaining edges. For unconditional jump
|
4268 |
|
|
use that locator for the jump insn.
|
4269 |
|
|
* cfgcleanup.c (try_forward_edges): Avoid the optimization if
|
4270 |
|
|
there is more than one edge or insn locator along the forwarding
|
4271 |
|
|
edges and !optimize. If there is just one, set e->goto_locus.
|
4272 |
|
|
* tree-cfg.c (make_cond_expr_edges, make_goto_expr_edges): Set also
|
4273 |
|
|
edge's goto_block.
|
4274 |
|
|
(move_block_to_fn): Adjust edge's goto_block.
|
4275 |
|
|
|
4276 |
|
|
2008-10-07 H.J. Lu
|
4277 |
|
|
|
4278 |
|
|
PR middle-end/37731
|
4279 |
|
|
* expmed.c (expand_mult): Properly check DImode constant in
|
4280 |
|
|
CONST_DOUBLE.
|
4281 |
|
|
|
4282 |
|
|
2008-10-07 Jakub Jelinek
|
4283 |
|
|
|
4284 |
|
|
PR debug/37738
|
4285 |
|
|
* dwarf2out.c (common_block_die_table): New variable.
|
4286 |
|
|
(common_block_die_table_hash, common_block_die_table_eq): New
|
4287 |
|
|
functions.
|
4288 |
|
|
(gen_variable_die): Look up a DW_TAG_common_block die for a particular
|
4289 |
|
|
COMMON block in the current scope rather than globally. Optimize
|
4290 |
|
|
DW_OP_addr SYMBOL_REF DW_OP_plus_uconst off into
|
4291 |
|
|
DW_OP_addr SYMBOL_REF+off.
|
4292 |
|
|
|
4293 |
|
|
2008-10-07 Eric Botcazou
|
4294 |
|
|
|
4295 |
|
|
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) :
|
4296 |
|
|
Return true for non-addressable GIMPLE operands.
|
4297 |
|
|
|
4298 |
|
|
2008-10-07 H.J. Lu
|
4299 |
|
|
|
4300 |
|
|
PR target/24765
|
4301 |
|
|
* config/i386/i386.c (initial_ix86_tune_features): Remove
|
4302 |
|
|
X86_TUNE_USE_BIT_TEST.
|
4303 |
|
|
* config/i386/i386.h (ix86_tune_indices): Likewise.
|
4304 |
|
|
(TARGET_USE_BIT_TEST): Removed.
|
4305 |
|
|
|
4306 |
|
|
2008-10-07 Bernhard Reutner-Fischer
|
4307 |
|
|
|
4308 |
|
|
* config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs.
|
4309 |
|
|
|
4310 |
|
|
2008-10-06 Adam Nemet
|
4311 |
|
|
|
4312 |
|
|
* config/mips/mips.md (mulsi3_mul3, muldi3_mul3): Merge these ...
|
4313 |
|
|
(mul3_mul3): ... into this new template.
|
4314 |
|
|
|
4315 |
|
|
2008-10-06 Aldy Hernandez
|
4316 |
|
|
|
4317 |
|
|
* gimplify.c (gimplify_arg): Add location argument. Use it.
|
4318 |
|
|
(gimplify_call_expr): Pass location to gimplify_arg.
|
4319 |
|
|
(gimplify_modify_expr_to_memcpy): Same.
|
4320 |
|
|
(gimplify_modify_expr_to_memset): Same.
|
4321 |
|
|
|
4322 |
|
|
2008-10-06 Andrew Pinski
|
4323 |
|
|
|
4324 |
|
|
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
|
4325 |
|
|
Update calls to build_unary_op and build_indirect_ref for location
|
4326 |
|
|
changes.
|
4327 |
|
|
|
4328 |
|
|
2008-10-06 Aldy Hernandez
|
4329 |
|
|
|
4330 |
|
|
build_modify_expr.
|
4331 |
|
|
* c-decl.c (finish_decl): Pass input_location to build_unary_op.
|
4332 |
|
|
* c-typeck.c (array_to_pointer_conversion): Pass location to
|
4333 |
|
|
build_unary_op.
|
4334 |
|
|
(function_to_pointer_conversion): Use error_at and warning_at.
|
4335 |
|
|
(build_indirect_ref): Same.
|
4336 |
|
|
(build_array_ref): Pass location to build_binary_op.
|
4337 |
|
|
(parser_build_unary_op): Do not set location after calling
|
4338 |
|
|
build_unary_op.
|
4339 |
|
|
(build_unary_op): Add location argument. Use it throughout. Set
|
4340 |
|
|
EXPR_LOCATION before returning new tree.
|
4341 |
|
|
(build_modify_expr): Same.
|
4342 |
|
|
(build_binary_op): Use location throughout. Set EXPR_LOCATION before
|
4343 |
|
|
returning node.
|
4344 |
|
|
* c-omp.c (c_finish_omp_atomic): Pass location to build_unary_op,
|
4345 |
|
|
build_indirect_ref, build_modify_expr.
|
4346 |
|
|
(c_finish_omp_for): Same. Use error_at instead of error.
|
4347 |
|
|
* c-common.c (c_common_truthvalue_conversion): Pass location to
|
4348 |
|
|
build_unary_op.
|
4349 |
|
|
(warn_for_div_by_zero): Add location argument.
|
4350 |
|
|
* c-common.h: Add argument to build_modify_expr, build_indirect_ref,
|
4351 |
|
|
build_unary_op, warn_for_div_by_zero.
|
4352 |
|
|
* c-parser.c (c_parser_typeof_specifier): Use
|
4353 |
|
|
protected_set_expr_location.
|
4354 |
|
|
(c_parser_statement_after_labels): Same.
|
4355 |
|
|
(c_parser_condition): Same.
|
4356 |
|
|
(c_parser_expr_no_commas): Pass correct location to build_modify_expr.
|
4357 |
|
|
(c_parser_conditional_expression): Use protected_set_expr_location.
|
4358 |
|
|
(c_parser_unary_expression): Pass location to build_indirect_ref.
|
4359 |
|
|
(c_parser_postfix_expression_after_primary): Pass location to
|
4360 |
|
|
build_indirect_ref, build_unary_op.
|
4361 |
|
|
(c_parser_omp_for_loop): Set the increment expression's EXPR_LOCATION.
|
4362 |
|
|
|
4363 |
|
|
2008-10-06 Joshua Kinard
|
4364 |
|
|
|
4365 |
|
|
* doc/invoke.texi: List r1x000 family under the -march MIPS option.
|
4366 |
|
|
* config/mips/mips.h (PROCESSOR_R10000): New processor_type.
|
4367 |
|
|
* config/mips/mips.c (mips_cpu_info_table): Add r10000, r12000,
|
4368 |
|
|
r14000 and r16000.
|
4369 |
|
|
(mips_rtx_cost_data): Add a PROCESSOR_R10000 entry.
|
4370 |
|
|
(mips_issue_rate): Handle PROCESSOR_R10000.
|
4371 |
|
|
* config/mips/mips.md (cpu): Add r10000.
|
4372 |
|
|
Include r10000.md.
|
4373 |
|
|
* config/mips/10000.md: New file.
|
4374 |
|
|
|
4375 |
|
|
2008-10-06 Richard Sandiford
|
4376 |
|
|
|
4377 |
|
|
* config/rs6000/rs6000-protos.h (rs6000_find_base_term): Declare.
|
4378 |
|
|
* config/rs6000/rs6000.h (FIND_BASE_TERM): New macro.
|
4379 |
|
|
* config/rs6000/rs6000.c (rs6000_find_base_term): New function.
|
4380 |
|
|
|
4381 |
|
|
2008-10-06 Richard Sandiford
|
4382 |
|
|
|
4383 |
|
|
* config/darwin-protos.h (machopic_function_base_name): Delete.
|
4384 |
|
|
(machopic_function_base_sym): Likewise.
|
4385 |
|
|
(machopic_gen_offset): Declare.
|
4386 |
|
|
* config/darwin.h (MACHOPIC_FUNCTION_BASE_NAME): New macro.
|
4387 |
|
|
(ASM_OUTPUT_LABELREF): Use it instead of a hard-coded string constant.
|
4388 |
|
|
* config/darwin.c (machopic_function_base_name): Delete.
|
4389 |
|
|
(machopic_function_base_sym): Likewise.
|
4390 |
|
|
(gen_pic_offset): Rename to...
|
4391 |
|
|
(machopic_gen_offset): ...this and remove the pic_base argument.
|
4392 |
|
|
Instead use MACHO_DYNAMIC_NO_PIC_P to decide whether a PIC offset
|
4393 |
|
|
is needed. Create an UNSPEC_MACHOPIC_OFFSET if so, and set
|
4394 |
|
|
crtl->uses_pic_offset_table.
|
4395 |
|
|
(machopic_indirect_data_reference): Use new machopic_gen_offset
|
4396 |
|
|
interface.
|
4397 |
|
|
(machopic_legitimize_pic_address): Likewise.
|
4398 |
|
|
(machopic_operand_p): Check for UNSPEC_MACHOPIC_OFFSET.
|
4399 |
|
|
|
4400 |
|
|
* config/i386/darwin.h (GOT_SYMBOL_NAME): Use
|
4401 |
|
|
MACHOPIC_FUNCTION_BASE_NAME instead of machopic_function_base_name.
|
4402 |
|
|
* config/i386/i386.c (output_set_got): Likewise.
|
4403 |
|
|
(darwin_local_data_pic): Check for an UNSPEC_MACHOPIC_OFFSET
|
4404 |
|
|
instead of a MINUS.
|
4405 |
|
|
(legitimate_pic_operand_p): Handle UNSPEC_MACHOPIC_OFFSET.
|
4406 |
|
|
(legitimate_address_p): Likewise.
|
4407 |
|
|
(output_pic_addr_const): Likewise.
|
4408 |
|
|
(output_addr_const_extra): Likewise.
|
4409 |
|
|
(ix86_delegitimize_address): Expect darwin_local_data_pic to
|
4410 |
|
|
match an UNSPEC rather than a MINUS.
|
4411 |
|
|
* config/i386/i386.md (UNSPEC_MACHOPIC_OFFSET): Define.
|
4412 |
|
|
(builtin_setjmp_receiver): Use machopic_gen_offset.
|
4413 |
|
|
* config/i386/predicates.md (pic_symbolic_operand): Handle
|
4414 |
|
|
UNSPEC_MACHOPIC_OFFSET.
|
4415 |
|
|
|
4416 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
|
4417 |
|
|
Use machopic_gen_offset and machopic_operand_p.
|
4418 |
|
|
(rs6000_output_addr_const_extra): Handle UNSPEC_MACHOPIC_OFFSET.
|
4419 |
|
|
(rs6000_emit_prologue): Use MACHOPIC_FUNCTION_BASE_NAME.
|
4420 |
|
|
* config/rs6000/rs6000.md (UNSPEC_MACHOPIC_OFFSET): Define.
|
4421 |
|
|
(builtin_setjmp_receiver): Use MACHOPIC_FUNCTION_BASE_NAME.
|
4422 |
|
|
Set crtl->uses_pic_offset_table.
|
4423 |
|
|
|
4424 |
|
|
2008-10-06 Richard Sandiford
|
4425 |
|
|
|
4426 |
|
|
* config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
|
4427 |
|
|
Declare.
|
4428 |
|
|
* config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): New macro.
|
4429 |
|
|
* config/rs6000/rs6000.md (UNSPEC_TOCREL): New constant.
|
4430 |
|
|
* config/rs6000/rs6000.c (constant_pool_expr_1): Delete.
|
4431 |
|
|
(constant_pool_expr_p): Use split_const and check the base.
|
4432 |
|
|
(toc_relative_expr_p): Likewise, checking for an UNSPEC_TOCREL
|
4433 |
|
|
instead of a MINUS.
|
4434 |
|
|
(legitimate_constant_pool_address_p): Check toc_relative_p
|
4435 |
|
|
instead of constant_pool_expr_p.
|
4436 |
|
|
(print_operand_address): Always use output_addr_const for
|
4437 |
|
|
constant pool addresses.
|
4438 |
|
|
(rs6000_output_addr_const_extra): New function.
|
4439 |
|
|
(create_TOC_reference): Create an UNSPEC_TOCREL instead of a MINUS.
|
4440 |
|
|
|
4441 |
|
|
2008-10-06 Vladimir Makarov
|
4442 |
|
|
|
4443 |
|
|
PR middle-end/37535
|
4444 |
|
|
|
4445 |
|
|
* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
|
4446 |
|
|
(mark_ref_live, mark_ref_dead): Use them.
|
4447 |
|
|
(def_conflicts_with_inputs_p): Remove.
|
4448 |
|
|
(mark_early_clobbers): New function.
|
4449 |
|
|
(process_bb_node_lives): Call preprocess_constraints and
|
4450 |
|
|
mark_early_clobbers.
|
4451 |
|
|
|
4452 |
|
|
* doc/rtx.texi (clobber): Change how RA deals with clobbers.
|
4453 |
|
|
|
4454 |
|
|
2008-10-06 Danny Smith
|
4455 |
|
|
|
4456 |
|
|
* config/i386/mingw32.h (REAL_LIBGCC_SPEC): Add thread cleanup
|
4457 |
|
|
lib with -mthread switch.
|
4458 |
|
|
|
4459 |
|
|
2008-10-05 Dodji Seketeli
|
4460 |
|
|
|
4461 |
|
|
PR c++/37410
|
4462 |
|
|
* dwarf2out.c (dwarf2out_imported_module_or_decl): Split this
|
4463 |
|
|
function in two, making it call a new and reusable
|
4464 |
|
|
dwarf2out_imported_module_or_decl() that takes the containing
|
4465 |
|
|
BLOCK of the declaration in argument.
|
4466 |
|
|
(dwarf2out_imported_module_or_decl_real): New function.
|
4467 |
|
|
(decls_for_scope, gen_decl_die, dwarf2out_decl): Take
|
4468 |
|
|
IMPORTED_DECL in account.
|
4469 |
|
|
* tree.def: Added IMPORTED_DECL node type.
|
4470 |
|
|
* tree.h: Added accessors for IMPORTED_DECL nodes.
|
4471 |
|
|
* tree.c (init_ttree): Initialise IMPORTED_DECL node type.
|
4472 |
|
|
|
4473 |
|
|
2008-10-05 Ralf Wildenhues
|
4474 |
|
|
|
4475 |
|
|
* doc/gimple.texi: Fix some typos, wrap some long lines,
|
4476 |
|
|
fix some broken wraps with continuations.
|
4477 |
|
|
* tree-ssa-reassoc.c: Fix comment typos.
|
4478 |
|
|
|
4479 |
|
|
2008-10-04 John David Anglin
|
4480 |
|
|
|
4481 |
|
|
PR target/37603
|
4482 |
|
|
* pa.c (legitimize_pic_address): Force function labels to memory in
|
4483 |
|
|
word mode.
|
4484 |
|
|
|
4485 |
|
|
2008-10-04 Anton Blanchard
|
4486 |
|
|
|
4487 |
|
|
* config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync().
|
4488 |
|
|
(rs6000_split_atomic_op): Same.
|
4489 |
|
|
(rs6000_split_compare_and_swap): Same.
|
4490 |
|
|
(rs6000_split_compare_and_swapqhi): Same.
|
4491 |
|
|
|
4492 |
|
|
2008-10-04 Richard Guenther
|
4493 |
|
|
|
4494 |
|
|
* tree-ssa-sccvn.c (vn_reference_op_eq): Use types_compatible_p
|
4495 |
|
|
instead of pointer equality.
|
4496 |
|
|
(vn_nary_op_eq): Likewise.
|
4497 |
|
|
|
4498 |
|
|
2008-10-03 Andrew Pinski
|
4499 |
|
|
|
4500 |
|
|
* config/rs6000/rs6000.md (fseldfsf4): Add TARGET_SINGLE_FLOAT
|
4501 |
|
|
condition.
|
4502 |
|
|
(fselsfdf4): Make condition on "TARGET_HARD_FLOAT && TARGET_FPRS &&
|
4503 |
|
|
TARGET_DOUBLE_FLOAT && TARGET_SINGLE_FLOAT".
|
4504 |
|
|
|
4505 |
|
|
2008-10-03 Danny Smith
|
4506 |
|
|
|
4507 |
|
|
* config/i386/winnt.c (i386_pe_strip_name_encoding_full):
|
4508 |
|
|
Revert previous change.
|
4509 |
|
|
|
4510 |
|
|
2008-10-03 Tom Tromey
|
4511 |
|
|
|
4512 |
|
|
* stringpool.c (ggc_alloc_string): Terminate string.
|
4513 |
|
|
|
4514 |
|
|
2008-10-03 Jakub Jelinek
|
4515 |
|
|
|
4516 |
|
|
* gimplify.c (gimplify_function_tree): For -finstrument-functions
|
4517 |
|
|
use gimple_bind_{,set_}block instead of gimple_{,set_}block.
|
4518 |
|
|
* gimple.h (gimple_bind_set_block): Allow second argument to be NULL.
|
4519 |
|
|
|
4520 |
|
|
PR debug/37726
|
4521 |
|
|
* gimplify.c (declare_vars): Use gimple_bind_block instead of
|
4522 |
|
|
gimple_block.
|
4523 |
|
|
|
4524 |
|
|
2008-10-03 Pascal Obry
|
4525 |
|
|
|
4526 |
|
|
* gcov.c (create_file_names): Properly handle UNIX and DOS
|
4527 |
|
|
directory separators.
|
4528 |
|
|
(make_gcov_file_name): Likewise + convert the ':' DOS drive
|
4529 |
|
|
separator to '~' to ensure clean filenames on Windows.
|
4530 |
|
|
|
4531 |
|
|
2008-10-02 Danny Smith
|
4532 |
|
|
|
4533 |
|
|
* config/i386/winnt.c (i386_pe_strip_name_encoding_full):
|
4534 |
|
|
Add a null terminator to the stripped name.
|
4535 |
|
|
|
4536 |
|
|
2008-10-02 David Edelsohn
|
4537 |
|
|
|
4538 |
|
|
* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Revert
|
4539 |
|
|
TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
|
4540 |
|
|
(function_arg_advance): Condition on TARGET_DOUBLE_FLOAT,
|
4541 |
|
|
TARGET_SINGLE_FLOAT. Revert SCALAR_FLOAT_MODE_P condition.
|
4542 |
|
|
(function_arg): Condition on TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
|
4543 |
|
|
(rs6000_function_value): Revert TARGET_DOUBLE_FLOAT,
|
4544 |
|
|
TARGET_SINGLE_FLOAT.
|
4545 |
|
|
|
4546 |
|
|
2008-10-02 Daniel Jacobowitz
|
4547 |
|
|
|
4548 |
|
|
* builtins.c (fold_builtin_pow): Check for 0 ** NEGATIVE.
|
4549 |
|
|
|
4550 |
|
|
2008-10-02 Richard Guenther
|
4551 |
|
|
|
4552 |
|
|
PR middle-end/37713
|
4553 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): For COMPLEX_TYPE
|
4554 |
|
|
and VECTOR_TYPE recurse with useless_type_conversion_p which
|
4555 |
|
|
properly handles void pointer conversion.
|
4556 |
|
|
|
4557 |
|
|
2008-10-02 Danny Smith
|
4558 |
|
|
|
4559 |
|
|
PR target/37528
|
4560 |
|
|
* config/i386/mingw32.h (LIBGCC_SPEC): Replace with ..
|
4561 |
|
|
(REAL_LIBGCC_SPEC): New. Always include -lgcc.
|
4562 |
|
|
|
4563 |
|
|
2008-10-01 Andrew Pinski
|
4564 |
|
|
|
4565 |
|
|
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
|
4566 |
|
|
Handle ALTIVEC_BUILTIN_VEC_SPLATS, ALTIVEC_BUILTIN_VEC_PROMOTE,
|
4567 |
|
|
ALTIVEC_BUILTIN_VEC_EXTRACT, and ALTIVEC_BUILTIN_VEC_INSERT specially,
|
4568 |
|
|
they translate to non builtins.
|
4569 |
|
|
* config/rs6000/rs6000.c (altivec_init_builtins): Add new variable
|
4570 |
|
|
opaque_ftype_opaque. Define builtins __builtin_vec_splats,
|
4571 |
|
|
__builtin_vec_promote, __builtin_vec_extract, and
|
4572 |
|
|
__builtin_vec_insert.
|
4573 |
|
|
* config/rs6000/rs6000.h (enum rs6000_builtins): Add
|
4574 |
|
|
ALTIVEC_BUILTIN_VEC_EXTRACT, ALTIVEC_BUILTIN_VEC_PROMOTE,
|
4575 |
|
|
ALTIVEC_BUILTIN_VEC_INSERT, and ALTIVEC_BUILTIN_VEC_SPLATS.
|
4576 |
|
|
* config/rs6000/altivec.h (vec_extract): Define
|
4577 |
|
|
(vec_insert): Define.
|
4578 |
|
|
(vec_splats): Define.
|
4579 |
|
|
(vec_promote): Define.
|
4580 |
|
|
|
4581 |
|
|
2008-10-01 Andrew Pinski
|
4582 |
|
|
Yukishige Shibata
|
4583 |
|
|
Trevor Smigiel
|
4584 |
|
|
|
4585 |
|
|
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add Cell
|
4586 |
|
|
Altivec intrinsics.
|
4587 |
|
|
* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Delete
|
4588 |
|
|
prototype. Add new parameter, blk.
|
4589 |
|
|
Use BLKmode for the MEM if blk is true.
|
4590 |
|
|
(altivec_expand_builtin): Handle ALTIVEC_BUILTIN_STVLX,
|
4591 |
|
|
ALTIVEC_BUILTIN_STVLXL, ALTIVEC_BUILTIN_STVRX, and
|
4592 |
|
|
ALTIVEC_BUILTIN_STVRXL.
|
4593 |
|
|
Update usage of altivec_expand_lv_builtin.
|
4594 |
|
|
Handle ALTIVEC_BUILTIN_LVLX, ALTIVEC_BUILTIN_LVLXL,
|
4595 |
|
|
ALTIVEC_BUILTIN_LVRX, and ALTIVEC_BUILTIN_LVRXL.
|
4596 |
|
|
(altivec_init_builtins): If compiling for the Cell, also define the
|
4597 |
|
|
cell VMX builtins.
|
4598 |
|
|
* config/rs6000/rs6000.h (rs6000_builtins): Define
|
4599 |
|
|
ALTIVEC_BUILTIN_LVLX, ALTIVEC_BUILTIN_LVLXL, ALTIVEC_BUILTIN_LVRX,
|
4600 |
|
|
ALTIVEC_BUILTIN_LVRXL, ALTIVEC_BUILTIN_STVLX, ALTIVEC_BUILTIN_STVLXL,
|
4601 |
|
|
ALTIVEC_BUILTIN_STVRX, ALTIVEC_BUILTIN_STVRXL,
|
4602 |
|
|
ALTIVEC_BUILTIN_VEC_LVLX, ALTIVEC_BUILTIN_VEC_LVLXL,
|
4603 |
|
|
ALTIVEC_BUILTIN_VEC_LVRX, ALTIVEC_BUILTIN_VEC_LVRXL,
|
4604 |
|
|
ALTIVEC_BUILTIN_VEC_STVLX, ALTIVEC_BUILTIN_VEC_STVLXL,
|
4605 |
|
|
ALTIVEC_BUILTIN_VEC_STVRX, and ALTIVEC_BUILTIN_VEC_STVRXL.
|
4606 |
|
|
* config/rs6000/altivec.md (define_constants): Define UNSPEC_LVLX,
|
4607 |
|
|
UNSPEC_LVLXL, UNSPEC_LVRX, UNSPEC_LVRXL, UNSPEC_STVLX, UNSPEC_STVLXL,
|
4608 |
|
|
UNSPEC_STVRX, and UNSPEC_STVRXL.
|
4609 |
|
|
(altivec_lvlx): New pattern.
|
4610 |
|
|
(altivec_lvlxl): New pattern.
|
4611 |
|
|
(altivec_lvrx): New pattern.
|
4612 |
|
|
(altivec_lvrxl): New pattern.
|
4613 |
|
|
(altivec_stvlx): New pattern.
|
4614 |
|
|
(altivec_stvlxl): New pattern.
|
4615 |
|
|
(altivec_stvrx): New pattern.
|
4616 |
|
|
(altivec_stvrxl): New pattern.
|
4617 |
|
|
* config/rs6000/altivec.h (vec_lvlx): Define if PPU is defined.
|
4618 |
|
|
(vec_lvlxl): Likewise.
|
4619 |
|
|
(vec_lvrx): Define if PPU is defined.
|
4620 |
|
|
(vec_lvrxl): Likewise.
|
4621 |
|
|
(vec_stvlx): Define if PPU is defined.
|
4622 |
|
|
(vec_stvlxl): Likewise.
|
4623 |
|
|
(vec_stvrx): Define if PPU is defined.
|
4624 |
|
|
(vec_stvrxl): Likewise.
|
4625 |
|
|
|
4626 |
|
|
2008-10-01 Geert Bosch
|
4627 |
|
|
|
4628 |
|
|
* tree.c (contains_placeholder_p): Return 0 for a SAVE_EXPR.
|
4629 |
|
|
|
4630 |
|
|
2008-10-01 Richard Guenther
|
4631 |
|
|
|
4632 |
|
|
PR tree-optimization/37617
|
4633 |
|
|
* tree-ssa-pre.c (create_expression_by_pieces): During FRE
|
4634 |
|
|
do not add to the NEW_SETS.
|
4635 |
|
|
|
4636 |
|
|
2008-10-01 Richard Guenther
|
4637 |
|
|
|
4638 |
|
|
PR middle-end/37285
|
4639 |
|
|
* tree-vrp.c (execute_vrp): If we optimized away the default
|
4640 |
|
|
case make sure to promote the label that got in place of it
|
4641 |
|
|
to a default case label.
|
4642 |
|
|
|
4643 |
|
|
2008-10-01 Richard Henderson
|
4644 |
|
|
|
4645 |
|
|
PR tree-opt/35737
|
4646 |
|
|
* tree-complex.c (set_component_ssa_name): Don't optimize
|
4647 |
|
|
is_gimple_min_invariant values with ssa_names in abnormal phis.
|
4648 |
|
|
|
4649 |
|
|
2008-09-30 Paolo Bonzini
|
4650 |
|
|
|
4651 |
|
|
PR tree-optimization/37662
|
4652 |
|
|
* tree-ssa-ccp.c (fold_gimple_assign): Invert the operands of a
|
4653 |
|
|
commutative binary operation if they are in the wrong order and
|
4654 |
|
|
fold_build2 produces non-GIMPLE.
|
4655 |
|
|
|
4656 |
|
|
2008-09-30 Jakub Jelinek
|
4657 |
|
|
|
4658 |
|
|
PR tree-optimization/37662
|
4659 |
|
|
PR tree-optimization/37663
|
4660 |
|
|
* tree-vrp.c (simplify_truth_ops_using_ranges): Don't call
|
4661 |
|
|
get_value_range with non-SSA_NAME. Don't assert operands have been
|
4662 |
|
|
folded, instead just bail out.
|
4663 |
|
|
|
4664 |
|
|
2008-09-30 Andrew Pinski
|
4665 |
|
|
|
4666 |
|
|
* config/rs6000/rs6000.md (fnmadds combiner): Revert typo.
|
4667 |
|
|
|
4668 |
|
|
2008-09-30 Richard Guenther
|
4669 |
|
|
|
4670 |
|
|
PR middle-end/37491
|
4671 |
|
|
* tree-vect-transform.c (vect_create_data_ref_ptr): Properly
|
4672 |
|
|
build restrict-qualified pointers.
|
4673 |
|
|
(vectorizable_store): Move alias check later.
|
4674 |
|
|
(vectorizable_load): Likewise.
|
4675 |
|
|
|
4676 |
|
|
2008-09-30 Paolo Bonzini
|
4677 |
|
|
|
4678 |
|
|
* c-common.c (empty_if_body_warning): Remove.
|
4679 |
|
|
* c-common.h (empty_if_body_warning): Remove.
|
4680 |
|
|
* c-parser.c (c_parser_if_body, c_parser_else_body): Implement
|
4681 |
|
|
here the -Wempty-body warning for `if' and `else' statements.
|
4682 |
|
|
* c-typeck.c (c_finish_if_stmt): Do not call empty_body_warning.
|
4683 |
|
|
|
4684 |
|
|
2008-09-29 H.J. Lu
|
4685 |
|
|
|
4686 |
|
|
* config/i386/i386.opt: Add msse2avx.
|
4687 |
|
|
|
4688 |
|
|
* config/i386/linux.h (ASM_SPEC): New. Support -msse2avx.
|
4689 |
|
|
* config/i386/linux64.h (ASM_SPEC): Likewise.
|
4690 |
|
|
|
4691 |
|
|
* doc/invoke.texi: Document -msse2avx.
|
4692 |
|
|
|
4693 |
|
|
2008-09-29 Eric Botcazou
|
4694 |
|
|
|
4695 |
|
|
* dwarf2out.c (constant_size): Use HOST_WIDE_INT in parameter type.
|
4696 |
|
|
|
4697 |
|
|
2008-09-29 Joseph Myers
|
4698 |
|
|
|
4699 |
|
|
* ifcvt.c (noce_emit_store_flag): If using condition from original
|
4700 |
|
|
jump, reverse it if if_info->cond was reversed.
|
4701 |
|
|
|
4702 |
|
|
2008-09-29 Eric Botcazou
|
4703 |
|
|
|
4704 |
|
|
* expr.c (expand_expr_real_1) : Force op0 to
|
4705 |
|
|
non-constant memory if it cannot be forced to constant memory.
|
4706 |
|
|
Overhaul surrounding code and factor out common condition.
|
4707 |
|
|
|
4708 |
|
|
2008-09-29 Jeff Law
|
4709 |
|
|
|
4710 |
|
|
* reload1.c (alter_reg): Add missing curly braces.
|
4711 |
|
|
|
4712 |
|
|
2008-09-29 Michael J. Eager
|
4713 |
|
|
|
4714 |
|
|
* config/rs6000/predicates.md (easy_fp_constant): Single FP consts
|
4715 |
|
|
are easy.
|
4716 |
|
|
* config/rs6000/rs6000.c (rs6000_override_options): Move
|
4717 |
|
|
rs6000_init_hard_regno_mode_ok after all options changed.
|
4718 |
|
|
Set rs6000_single_float, rs6000_double_float if TARGET_HARD_FLOAT.
|
4719 |
|
|
(rs6000_handle_option): Process -msingle-float, -mdouble-float,
|
4720 |
|
|
-msimple-fpu flags. Add warning messages if single FP not configured.
|
4721 |
|
|
(rs6000_file_start): Output gnu_attribute for single-float.
|
4722 |
|
|
(legitimate_lo_sum_address_p): Condition on TARGET_DOUBLE_FLOAT.
|
4723 |
|
|
(rs6000_legitimize_address): Likewise.
|
4724 |
|
|
(rs6000_legitimize_reload_address): Likewise.
|
4725 |
|
|
(rs6000_emit_move): Condition on TARGET_DOUBLE_FLOAT,
|
4726 |
|
|
TARGET_SINGLE_FLOAT.
|
4727 |
|
|
(function_arg_advance): Likewise (partial conversion).
|
4728 |
|
|
(setup_incoming_varargs): Condition on TARGET_DOUBLE_FLOAT.
|
4729 |
|
|
(rs6000_gimplify_va_arg): Condition on TARGET_DOUBLE_FLOAT,
|
4730 |
|
|
TARGET_SINGLE_FLOAT.
|
4731 |
|
|
(rs6000_split_multireg_move): Condition on TARGET_DOUBLE_FLOAT.
|
4732 |
|
|
(rs6000_emit_prologue): Likewise.
|
4733 |
|
|
(rs6000_function_value): Condition on TARGET_DOUBLE_FLOAT,
|
4734 |
|
|
TARGET_SINGLE_FLOAT.
|
4735 |
|
|
(rs6000_libcall_value): Likewise.
|
4736 |
|
|
* config/rs6000/rs6000.h (TARGET_SINGLE_FLOAT): New default to 1.
|
4737 |
|
|
(TARGET_DOUBLE_FLOAT): New default to 1
|
4738 |
|
|
(TARGET_SIMPLE_FPU): New default to 0
|
4739 |
|
|
(TARGET_SINGLE_FPU): New default to 0
|
4740 |
|
|
(TARGET_SINGLE_FLOAT_MODE): New.
|
4741 |
|
|
(TARGET_DOUBLE_FLOAT_MODE): New.
|
4742 |
|
|
* config/rs6000/singlefp.h: New; redefine TARGET_SINGLE_FLOAT,
|
4743 |
|
|
TARGET_DOUBLE_FLOAT, TARGET_SIMPLE_FPU, TARGET_SINGLE_FPU,
|
4744 |
|
|
UNITS_PER_FP_WORD
|
4745 |
|
|
* config/rs6000/rs6000.md (define_mode_iterator): Condition on
|
4746 |
|
|
TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
|
4747 |
|
|
(extendsfdf2, extendsfdf2_fpr, truncdfsf2, truncdfsf2_fpr,
|
4748 |
|
|
copysigndf3,fseldfsf4, negdf2, negdf2_fpr, absdf2, absdf2_fpr,
|
4749 |
|
|
nabsdf2_fpr, adddf3, adddf3_fpr, subdf3, subdf3_fpr, muldf3,
|
4750 |
|
|
muldf3_fpr, divdf3, divdf3_fpr, sqrtdf2, smaxdf3, smindf3,
|
4751 |
|
|
movdfcc, *fseldfdf4, floatsidf2, *floatsidf2_internal,
|
4752 |
|
|
floatunssidf2, *floatunssidf2_internal, fix_truncdfsi2,
|
4753 |
|
|
*fix_truncdfsi2_internal, fix_truncdfsi2_internal_gfxopt,
|
4754 |
|
|
fix_truncdfsi2_mfpgpr, fctiwz, btruncdf2, ceildf2, floordf2,
|
4755 |
|
|
rounddf2, floatdidf2, floatsidf_ppc64_mfpgpr, floatsidf_ppc64,
|
4756 |
|
|
floatunssidf_ppc64, fix_truncdfdi2, movdf_hardfloat32,
|
4757 |
|
|
movdf_hardfloat64_mfpgpr, movdf_hardfloat64, extenddftf2_fprs,
|
4758 |
|
|
extenddftf2_internal, trunctfdf2_internal2, fix_trunc_helper,
|
4759 |
|
|
abstf2_internal, movdf_update1, movdf_update2, cmpdf_internal1,
|
4760 |
|
|
cmptf_internal1, *cmptf_internal2): Condition on
|
4761 |
|
|
TARGET_DOUBLE_FLOAT.
|
4762 |
|
|
(aux_truncdfsf2, negsf2, *negsf2, abssf2, *abssf2, addsf3, subsf3,
|
4763 |
|
|
mulsf3, divsf3, sqrtsf2, copysignsf3, smaxsf3, sminsf3, movsfcc,
|
4764 |
|
|
*fselsfsf4, fixuns_truncsfsi2, fix_truncsfsi2, floatunssisf2,
|
4765 |
|
|
btruncsf2, ceilsf2, floorsf2, roundsf2, floatdisf2_internal1,
|
4766 |
|
|
floatdisf2_internal2, *movsf_hardfloat, trunctfsf2_fprs,
|
4767 |
|
|
*movsf_update1, *movsf_update2, *cmpsf_internal1): Condition on
|
4768 |
|
|
TARGET_SINGLE_FLOAT.
|
4769 |
|
|
(divsf3, sqrtsf2, divdf3, divdf3_fpr): Condition on TARGET_SIMPLE_FPU.
|
4770 |
|
|
* config/rs6000/rs6000.opt (-msingle-float): New.
|
4771 |
|
|
(-mdouble-float): New.
|
4772 |
|
|
(-msimple-fpu): New.
|
4773 |
|
|
* doc/invoke.texi (RS/6000 and PowerPC Options): Add
|
4774 |
|
|
-msingle-float, -mdouble-float, -msimple-fpu options.
|
4775 |
|
|
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Set
|
4776 |
|
|
_SOFT_DOUBLE for -msingle-float.
|
4777 |
|
|
* config.gcc: New config for target=powerpc-xilinx-eabi.
|
4778 |
|
|
|
4779 |
|
|
2008-09-29 Tobias Grosser
|
4780 |
|
|
|
4781 |
|
|
* graphite.c (dot_all_scops_1): Remove unused checks. SCoPs always
|
4782 |
|
|
have exit and entry.
|
4783 |
|
|
(new_scop): Take entry and exit edge to define new SCoP.
|
4784 |
|
|
(sd_region_p): New structure used during SCoP detection.
|
4785 |
|
|
(move_scops): Delete.
|
4786 |
|
|
(move_sd_regions): New.
|
4787 |
|
|
(scopdet_info): Change the definition from edges back to basic_blocks.
|
4788 |
|
|
(scopdet_edge_info): Work on basic_blocks and rename to
|
4789 |
|
|
scopdet_basic_block_info.
|
4790 |
|
|
(split_difficult_bb): At the moment removed. We should later
|
4791 |
|
|
add it at another place.
|
4792 |
|
|
(build_scops_1): Work on basic_blocks.
|
4793 |
|
|
(bb_in_sd_region): New.
|
4794 |
|
|
(find_single_entry_edge): New.
|
4795 |
|
|
(find_single_exit_edge): New.
|
4796 |
|
|
(create_single_entry_edge): New.
|
4797 |
|
|
(sd_region_without_exit): New.
|
4798 |
|
|
(create_single_exit_edge): New.
|
4799 |
|
|
(unmark_exit_edges): New.
|
4800 |
|
|
(mark_exit_edges): New.
|
4801 |
|
|
(create_sese_edges): New.
|
4802 |
|
|
(build_graphite_scops): New.
|
4803 |
|
|
(build_scops): Make SCoPs SESE.
|
4804 |
|
|
(limit_scops): Use the new functions.
|
4805 |
|
|
|
4806 |
|
|
2008-09-29 Hans-Peter Nilsson
|
4807 |
|
|
|
4808 |
|
|
* config/cris/cris.h (IRA_COVER_CLASSES): Define.
|
4809 |
|
|
|
4810 |
|
|
2008-09-28 Andrew Pinski
|
4811 |
|
|
|
4812 |
|
|
PR target/37640
|
4813 |
|
|
* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Force
|
4814 |
|
|
address to a register before taking the lower part.
|
4815 |
|
|
|
4816 |
|
|
2008-09-28 Kaz Kojima
|
4817 |
|
|
|
4818 |
|
|
* config/sh/sh.h (OVERRIDE_OPTIONS): Unset flag_dwarf2_cfi_asm
|
4819 |
|
|
for SHmedia.
|
4820 |
|
|
|
4821 |
|
|
2008-09-28 Andrew Pinski
|
4822 |
|
|
Kaushal Kantawala
|
4823 |
|
|
|
4824 |
|
|
PR tree-opt/36891
|
4825 |
|
|
* tree-ssa-loop-im.c (rewrite_reciprocal): Set DECL_GIMPLE_REG_P on
|
4826 |
|
|
the newly created variable.
|
4827 |
|
|
Create a VECTOR_CST of all 1s for vector types.
|
4828 |
|
|
|
4829 |
|
|
2008-09-28 Eric Botcazou
|
4830 |
|
|
|
4831 |
|
|
PR middle-end/36575
|
4832 |
|
|
* fold-const.c (div_and_round_double) : Fix typo.
|
4833 |
|
|
|
4834 |
|
|
2008-09-28 Eric Botcazou
|
4835 |
|
|
|
4836 |
|
|
* expmed.c (store_fixed_bit_field): Always use convert_to_mode in
|
4837 |
|
|
order to convert between modes.
|
4838 |
|
|
(extract_bit_field_1): Test TRULY_NOOP_TRUNCATION on the right mode.
|
4839 |
|
|
|
4840 |
|
|
2008-09-27 Kaz Kojima
|
4841 |
|
|
|
4842 |
|
|
* config/sh/sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR
|
4843 |
|
|
if needed.
|
4844 |
|
|
|
4845 |
|
|
2008-09-26 Vladimir Makarov
|
4846 |
|
|
|
4847 |
|
|
Revert:
|
4848 |
|
|
2008-09-25 Vladimir Makarov
|
4849 |
|
|
* ira-lives.c:...
|
4850 |
|
|
* doc/rtl.texi:...
|
4851 |
|
|
|
4852 |
|
|
2008-09-26 Adam Nemet
|
4853 |
|
|
|
4854 |
|
|
* config/mips/mips.h (ISA_HAS_DMUL3, ISA_HAS_BADDU, ISA_HAS_BBIT,
|
4855 |
|
|
ISA_HAS_CINS, ISA_HAS_EXTS, ISA_HAS_SEQ_SNE, ISA_HAS_POP): Change
|
4856 |
|
|
them to yield false with MIPS16.
|
4857 |
|
|
|
4858 |
|
|
2008-09-26 Jakub Jelinek
|
4859 |
|
|
|
4860 |
|
|
PR middle-end/37275
|
4861 |
|
|
* dwarf2out.c (tls_mem_loc_descriptor): New function.
|
4862 |
|
|
(mem_loc_descriptor): Use it for MEM. For PLUS fail if second
|
4863 |
|
|
mem_loc_descriptor failed. Accept UNSPEC.
|
4864 |
|
|
(loc_descriptor): Use tls_mem_loc_descriptor for MEM. For PARALLEL
|
4865 |
|
|
fail if one of the loc_descriptor calls for pieces failed.
|
4866 |
|
|
(loc_descriptor_from_tree_1): Handle even DECL_EXTERNAL __thread vars,
|
4867 |
|
|
as long as they bind locally. For COMPONENT_REF, ARRAY_REF etc. fail
|
4868 |
|
|
if loc_descriptor_from_tree_1 on offset failed.
|
4869 |
|
|
|
4870 |
|
|
PR middle-end/37576
|
4871 |
|
|
* opts.c (common_handle_option): Don't call print_specific_help with
|
4872 |
|
|
CL_SAVE as first argument.
|
4873 |
|
|
|
4874 |
|
|
2008-09-26 Peter O'Gorman
|
4875 |
|
|
Steve Ellcey
|
4876 |
|
|
|
4877 |
|
|
* configure: Regenerate for new libtool.
|
4878 |
|
|
* aclocal.m4: Ditto.
|
4879 |
|
|
|
4880 |
|
|
2008-09-26 Pat Haugen
|
4881 |
|
|
|
4882 |
|
|
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Use correct
|
4883 |
|
|
alias set on MEM when saving stack pointer.
|
4884 |
|
|
* config/rs6000/rs6000.md (allocate_stack): Likewise
|
4885 |
|
|
|
4886 |
|
|
2008-09-26 Dorit Nuzman
|
4887 |
|
|
|
4888 |
|
|
PR tree-optimization/37574
|
4889 |
|
|
* tree-vectorizer.c (vect_is_simple_use): Fix indentation.
|
4890 |
|
|
* tree-vect-transform.c (vect_get_constant_vectors): Use vectype
|
4891 |
|
|
instead of vector_type for constants. Take computation out of loop.
|
4892 |
|
|
(vect_get_vec_def_for_operand): Use only vectype for constant case,
|
4893 |
|
|
and use only vector_type for invariant case.
|
4894 |
|
|
(get_initial_def_for_reduction): Use vectype instead of vector_type.
|
4895 |
|
|
|
4896 |
|
|
2008-09-25 Jakub Jelinek
|
4897 |
|
|
|
4898 |
|
|
PR c/37645
|
4899 |
|
|
* c-common.c (handle_weakref_attribute): Ignore the attribute unless
|
4900 |
|
|
the decl is a VAR_DECL or FUNCTION_DECL.
|
4901 |
|
|
|
4902 |
|
|
2008-09-25 Vladimir Makarov
|
4903 |
|
|
|
4904 |
|
|
PR middle-end/37535
|
4905 |
|
|
* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
|
4906 |
|
|
(mark_ref_live, mark_ref_dead): Use them.
|
4907 |
|
|
(def_conflicts_with_inputs_p): Remove.
|
4908 |
|
|
(mark_early_clobbers): New function.
|
4909 |
|
|
(process_bb_node_lives): Call preprocess_constraints and
|
4910 |
|
|
mark_early_clobbers.
|
4911 |
|
|
|
4912 |
|
|
* doc/rtl.texi (clobber): Change how RA deals with clobbers.
|
4913 |
|
|
|
4914 |
|
|
2008-09-25 Vladimir Makarov
|
4915 |
|
|
|
4916 |
|
|
PR middle-end/37448
|
4917 |
|
|
* ira-int.h (IRA_ALLOCNO_TEMP): Rename to ALLOCNO_TEMP.
|
4918 |
|
|
(ira_compress_allocno_live_ranges): New prototype.
|
4919 |
|
|
|
4920 |
|
|
* ira-color.c: Rename IRA_ALLOCNO_TEMP to ALLOCNO_TEMP.
|
4921 |
|
|
(coalesced_allocnos_living_at_program_points): New.
|
4922 |
|
|
(coalesced_allocnos_live_at_points_p,
|
4923 |
|
|
set_coalesced_allocnos_live_points): New functions.
|
4924 |
|
|
(coalesce_spill_slots): Rewrite.
|
4925 |
|
|
|
4926 |
|
|
* ira-lives.c (remove_some_program_points_and_update_live_ranges,
|
4927 |
|
|
ira_compress_allocno_live_ranges): New functions.
|
4928 |
|
|
|
4929 |
|
|
* ira-build.c (ira_flattening): Call
|
4930 |
|
|
ira_compress_allocno_live_ranges.
|
4931 |
|
|
(ira_build): Ditto.
|
4932 |
|
|
|
4933 |
|
|
2008-09-25 H.J. Lu
|
4934 |
|
|
|
4935 |
|
|
* config/i386/i386.md: Check cmp/branch fuse for cmp peephole
|
4936 |
|
|
optimization.
|
4937 |
|
|
|
4938 |
|
|
2008-09-25 Richard Sandiford
|
4939 |
|
|
|
4940 |
|
|
* combine.c (make_compound_operation): Handle the 'E' format.
|
4941 |
|
|
(count_rtxs): Likewise.
|
4942 |
|
|
(update_table_tick): Likewise.
|
4943 |
|
|
(get_last_value_validate): Likewise.
|
4944 |
|
|
|
4945 |
|
|
2008-09-25 Eric Botcazou
|
4946 |
|
|
|
4947 |
|
|
* dbxout.c (dbxout_parms): Fetch the inner REG inside a PARALLEL.
|
4948 |
|
|
|
4949 |
|
|
2008-09-25 Sergei Dyshel
|
4950 |
|
|
|
4951 |
|
|
* matrix-reorg.c (transform_allocation_sites): Initializers
|
4952 |
|
|
added to avoid the warning.
|
4953 |
|
|
|
4954 |
|
|
2008-09-25 Martin Jambor
|
4955 |
|
|
|
4956 |
|
|
* cgraph.c (free_nodes): New variable.
|
4957 |
|
|
(NEXT_FREE_NODE): New macro.
|
4958 |
|
|
(cgraph_create_node): Reuse nodes from the free list. Do not
|
4959 |
|
|
update uid if doing so.
|
4960 |
|
|
(cgraph_remove_node): Add the node to the free list.
|
4961 |
|
|
|
4962 |
|
|
2008-09-25 Gerald Pfeifer
|
4963 |
|
|
|
4964 |
|
|
* config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
|
4965 |
|
|
|
4966 |
|
|
2008-09-24 Richard Henderson
|
4967 |
|
|
|
4968 |
|
|
* dwarf2.h (DW_OP_GNU_encoded_addr): New.
|
4969 |
|
|
* unwind-dw2.c (execute_stack_op): Handle it.
|
4970 |
|
|
|
4971 |
|
|
2008-09-24 David Edelsohn
|
4972 |
|
|
|
4973 |
|
|
Revert:
|
4974 |
|
|
2008-09-24 Michael J. Eager
|
4975 |
|
|
|
4976 |
|
|
2008-09-24 Aldy Hernandez
|
4977 |
|
|
|
4978 |
|
|
* c-common.c (fname_decl): New location argument.
|
4979 |
|
|
* c-common.h (fname_decl): Same.
|
4980 |
|
|
* c-parser.c (c_lex_one_token): Use {warning,error}_at instead of
|
4981 |
|
|
{warning,error}.
|
4982 |
|
|
(c_parser_typeof_specifier): Same.
|
4983 |
|
|
(c_parser_parms_list_declarator): Same.
|
4984 |
|
|
(c_parser_asm_string_literal): Same.
|
4985 |
|
|
(c_parser_compound_statement_nostart): Same.
|
4986 |
|
|
(c_parser_label): Same.
|
4987 |
|
|
(c_parser_do_statement): Same.
|
4988 |
|
|
(c_parser_asm_statement): Same.
|
4989 |
|
|
(c_parser_unary_expression): Same.
|
4990 |
|
|
(c_parser_sizeof_expression): Same.
|
4991 |
|
|
(c_parser_postfix_expression): Same.
|
4992 |
|
|
(c_parser_pragma): Same.
|
4993 |
|
|
(c_parser_omp_clause_collapse): Same.
|
4994 |
|
|
(c_parser_omp_clause_num_threads): Same.
|
4995 |
|
|
(c_parser_omp_clause_schedule): Same.
|
4996 |
|
|
(c_parser_omp_all_clauses): Same.
|
4997 |
|
|
(c_parser_omp_sections_scope): Same.
|
4998 |
|
|
(c_parser_omp_for_loop): Same. Pass condition's location to
|
4999 |
|
|
c_objc_common_truthvalue_conversion.
|
5000 |
|
|
(c_parser_enum_specifier): Remove comment.
|
5001 |
|
|
|
5002 |
|
|
2008-09-24 Michael J. Eager
|
5003 |
|
|
|
5004 |
|
|
* config/rs6000/predicates.md (easy_fp_constant): Single FP consts
|
5005 |
|
|
are easy.
|
5006 |
|
|
* config/rs6000/rs6000.c (rs6000_override_options): Move
|
5007 |
|
|
rs6000_init_hard_regno_mode_ok after all options changed.
|
5008 |
|
|
Set rs6000_single_float, rs6000_double_float if TARGET_HARD_FLOAT.
|
5009 |
|
|
(rs6000_handle_option): Process -msingle-float, -mdouble-float,
|
5010 |
|
|
-msimple-fpu flags. Add warning messages if single FP not configured.
|
5011 |
|
|
(rs6000_file_start): Output gnu_attribute for single-float.
|
5012 |
|
|
(legitimate_lo_sum_address_p): Condition on TARGET_DOUBLE_FLOAT.
|
5013 |
|
|
(rs6000_legitimize_address): Likewise.
|
5014 |
|
|
(rs6000_legitimize_reload_address): Likewise.
|
5015 |
|
|
(rs6000_emit_move): Condition on TARGET_DOUBLE_FLOAT,
|
5016 |
|
|
TARGET_SINGLE_FLOAT.
|
5017 |
|
|
(function_arg_advance): Likewise.
|
5018 |
|
|
(function_arg): Likewise.
|
5019 |
|
|
(setup_incoming_varargs): Condition on TARGET_DOUBLE_FLOAT.
|
5020 |
|
|
(rs6000_gimplify_va_arg): Condition on TARGET_DOUBLE_FLOAT,
|
5021 |
|
|
TARGET_SINGLE_FLOAT.
|
5022 |
|
|
(rs6000_split_multireg_move): Condition on TARGET_DOUBLE_FLOAT.
|
5023 |
|
|
(rs6000_emit_prologue): Likewise.
|
5024 |
|
|
(rs6000_function_value): Condition on TARGET_DOUBLE_FLOAT,
|
5025 |
|
|
TARGET_SINGLE_FLOAT.
|
5026 |
|
|
(rs6000_libcall_value): Likewise.
|
5027 |
|
|
* config/rs6000/rs6000.h (TARGET_SINGLE_FLOAT): New default to 1.
|
5028 |
|
|
(TARGET_DOUBLE_FLOAT): New default to 1
|
5029 |
|
|
(TARGET_SIMPLE_FPU): New default to 0
|
5030 |
|
|
(TARGET_SINGLE_FPU): New default to 0
|
5031 |
|
|
(TARGET_SINGLE_FLOAT_MODE): New.
|
5032 |
|
|
(TARGET_DOUBLE_FLOAT_MODE): New.
|
5033 |
|
|
* config/rs6000/singlefp.h: New; redefine TARGET_SINGLE_FLOAT,
|
5034 |
|
|
TARGET_DOUBLE_FLOAT, TARGET_SIMPLE_FPU, TARGET_SINGLE_FPU,
|
5035 |
|
|
UNITS_PER_FP_WORD
|
5036 |
|
|
* config/rs6000/rs6000.md (define_mode_iterator): Condition on
|
5037 |
|
|
TARGET_DOUBLE_FLOAT, TARGET_SINGLE_FLOAT.
|
5038 |
|
|
(extendsfdf2, extendsfdf2_fpr, truncdfsf2, truncdfsf2_fpr,
|
5039 |
|
|
copysigndf3,fseldfsf4, negdf2, negdf2_fpr, absdf2, absdf2_fpr,
|
5040 |
|
|
nabsdf2_fpr, adddf3, adddf3_fpr, subdf3, subdf3_fpr, muldf3,
|
5041 |
|
|
muldf3_fpr, divdf3, divdf3_fpr, sqrtdf2, smaxdf3, smindf3,
|
5042 |
|
|
movdfcc, *fseldfdf4, floatsidf2, *floatsidf2_internal,
|
5043 |
|
|
floatunssidf2, *floatunssidf2_internal, fix_truncdfsi2,
|
5044 |
|
|
*fix_truncdfsi2_internal, fix_truncdfsi2_internal_gfxopt,
|
5045 |
|
|
fix_truncdfsi2_mfpgpr, fctiwz, btruncdf2, ceildf2, floordf2,
|
5046 |
|
|
rounddf2, floatdidf2, floatsidf_ppc64_mfpgpr, floatsidf_ppc64,
|
5047 |
|
|
floatunssidf_ppc64, fix_truncdfdi2, movdf_hardfloat32,
|
5048 |
|
|
movdf_hardfloat64_mfpgpr, movdf_hardfloat64, extenddftf2_fprs,
|
5049 |
|
|
extenddftf2_internal, trunctfdf2_internal2, fix_trunc_helper,
|
5050 |
|
|
abstf2_internal, movdf_update1, movdf_update2, cmpdf_internal1,
|
5051 |
|
|
cmptf_internal1, *cmptf_internal2): Condition on
|
5052 |
|
|
TARGET_DOUBLE_FLOAT.
|
5053 |
|
|
(aux_truncdfsf2, negsf2, *negsf2, abssf2, *abssf2, addsf3, subsf3,
|
5054 |
|
|
mulsf3, divsf3, sqrtsf2, copysignsf3, smaxsf3, sminsf3, movsfcc,
|
5055 |
|
|
*fselsfsf4, fixuns_truncsfsi2, fix_truncsfsi2, floatunssisf2,
|
5056 |
|
|
btruncsf2, ceilsf2, floorsf2, roundsf2, floatdisf2_internal1,
|
5057 |
|
|
floatdisf2_internal2, *movsf_hardfloat, trunctfsf2_fprs,
|
5058 |
|
|
*movsf_update1, *movsf_update2, *cmpsf_internal1): Condition on
|
5059 |
|
|
TARGET_SINGLE_FLOAT.
|
5060 |
|
|
(divsf3, sqrtsf2, divdf3, divdf3_fpr): Condition on TARGET_SIMPLE_FPU.
|
5061 |
|
|
* config/rs6000/rs6000.opt (-msingle-float): New.
|
5062 |
|
|
(-mdouble-float): New.
|
5063 |
|
|
(-msimple-fpu): New.
|
5064 |
|
|
* doc/invoke.texi (RS/6000 and PowerPC Options): Add
|
5065 |
|
|
-msingle-float, -mdouble-float, -msimple-fpu options.
|
5066 |
|
|
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Set
|
5067 |
|
|
_SOFT_DOUBLE for -msingle-float.
|
5068 |
|
|
* config.gcc: New config for target=powerpc-xilinx-eabi.
|
5069 |
|
|
|
5070 |
|
|
2008-09-23 Eric Botcazou
|
5071 |
|
|
|
5072 |
|
|
* config/sparc/constraints.md: New file.
|
5073 |
|
|
* config/sparc/sparc.md: Include it.
|
5074 |
|
|
* config/sparc/sparc-protos.h (memory_ok_for_ldd): Declare.
|
5075 |
|
|
(sparc_extra_constraint_check): Delete.
|
5076 |
|
|
* config/sparc/sparc.c (register_ok_for_ldd): Minor tweaks.
|
5077 |
|
|
(memory_ok_for_ldd): New predicate.
|
5078 |
|
|
(sparc_extra_constraint_check): Delete.
|
5079 |
|
|
* config/sparc/sparc.h (REG_CLASS_FROM_LETTER): Likewise.
|
5080 |
|
|
(CONST_OK_FOR_LETTER_P): Likewise.
|
5081 |
|
|
(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
|
5082 |
|
|
(EXTRA_CONSTRAINT): Likewise.
|
5083 |
|
|
|
5084 |
|
|
2008-08-23 Steve Ellcey
|
5085 |
|
|
|
5086 |
|
|
* regrename.c (do_replace): Copy REG_POINTER value to new reg.
|
5087 |
|
|
|
5088 |
|
|
2008-09-23 Richard Sandiford
|
5089 |
|
|
|
5090 |
|
|
* alias.c (find_base_value): Use FIND_BASE_TERM.
|
5091 |
|
|
* doc/tm.texi (FIND_BASE_TERM): Update documentation.
|
5092 |
|
|
|
5093 |
|
|
2008-09-23 Richard Sandiford
|
5094 |
|
|
|
5095 |
|
|
* config/i386/i386.c: Include cselib.h.
|
5096 |
|
|
(ix86_pic_register_p): New function.
|
5097 |
|
|
(ix86_delegitimize_address): Use it to check for the PIC register.
|
5098 |
|
|
|
5099 |
|
|
2008-09-23 Richard Sandiford
|
5100 |
|
|
|
5101 |
|
|
* doc/tm.texi (FIND_BASE_TERM): Expand documentation.
|
5102 |
|
|
* config/i386/i386.c (ix86_find_base_term): Don't check for
|
5103 |
|
|
SYMBOL_REF and LABEL_REF.
|
5104 |
|
|
|
5105 |
|
|
2008-09-23 Richard Sandiford
|
5106 |
|
|
|
5107 |
|
|
* config/i386/i386.c (ix86_delegitimize_address): Wrap the
|
5108 |
|
|
constant PLUS in a CONST.
|
5109 |
|
|
|
5110 |
|
|
2008-09-23 Kai Tietz
|
5111 |
|
|
|
5112 |
|
|
* config/i386/i386.c (ix86_function_ok_for_sibcall): Correct
|
5113 |
|
|
check for sibcall support for w64.
|
5114 |
|
|
|
5115 |
|
|
2008-09-23 Eric Botcazou
|
5116 |
|
|
|
5117 |
|
|
* c-ppoutput.c (cb_used_define): Do nothing for a builtin node.
|
5118 |
|
|
|
5119 |
|
|
2008-09-23 Aldy Hernandez
|
5120 |
|
|
|
5121 |
|
|
* c-tree.h: Add argument to c_objc_common_truthvalue_conversion,
|
5122 |
|
|
parser_build_binary_op.
|
5123 |
|
|
* c-decl.c (build_enumerator): Pass location to build_binary_op.
|
5124 |
|
|
* c-typeck.c (build_array_ref): Same.
|
5125 |
|
|
(parser_build_unary_op): New location argument.
|
5126 |
|
|
(pointer_diff): Pass location to build_binary_op,
|
5127 |
|
|
c_objc_common_truthvalue_conversion.
|
5128 |
|
|
(build_modify_expr): Same.
|
5129 |
|
|
(build_unary_op): New location argument.
|
5130 |
|
|
(build_binary_op): New location argument.
|
5131 |
|
|
(c_objc_common_truthvalue_conversion): Pass location to
|
5132 |
|
|
c_*common_truthvalue_conversion.
|
5133 |
|
|
* c-convert.c (convert): Same.
|
5134 |
|
|
* c-common.c (binary_op_error): New location argument.
|
5135 |
|
|
(pointer_int_sum): Pass location to build_binary_op.
|
5136 |
|
|
(c_common_truthvalue_conversion): New location argument.
|
5137 |
|
|
(warn_for_sign_compare): Same.
|
5138 |
|
|
* c-common.h: Add location argument to c_common_truthvalue_conversion,
|
5139 |
|
|
binary_op_error, build_binary_op, warn_for_sign_compare.
|
5140 |
|
|
* c-parser.c (c_parser_condition): Pass location to
|
5141 |
|
|
c_*common_truthvalue_conversion.
|
5142 |
|
|
(c_parser_conditional_expression): Save condition's location and pass
|
5143 |
|
|
it on down.
|
5144 |
|
|
(c_parser_binary_expression): Same, but for the binary operator's
|
5145 |
|
|
location.
|
5146 |
|
|
(c_parser_omp_for_loop): Pass location to
|
5147 |
|
|
c_objc_common_truthvalue_conversion.
|
5148 |
|
|
|
5149 |
|
|
2008-09-23 Martin Jambor
|
5150 |
|
|
|
5151 |
|
|
* cgraph.c (cgraph_free_edge): Use sizeof(*e).
|
5152 |
|
|
(cgraph_node_remove_callees): New temporary f. Hold the next item
|
5153 |
|
|
in f when looping.
|
5154 |
|
|
(cgraph_node_remove_callers): Likewise.
|
5155 |
|
|
|
5156 |
|
|
* ipa-prop.c (ipa_edge_removal_hook): Use ATTRIBUTE_UNUSED.
|
5157 |
|
|
(ipa_node_removal_hook): Likewise.
|
5158 |
|
|
|
5159 |
|
|
* doc/gimple.texi (gimple_copy_call_skip_args): Changed to
|
5160 |
|
|
gimple_call_copy_skip_args and moved to the gimple_call section.
|
5161 |
|
|
* gimple.c (gimple_copy_call_skip_args): Renamed to
|
5162 |
|
|
gimple_call_copy_skip_args. Changed al users.
|
5163 |
|
|
|
5164 |
|
|
2008-09-22 Vladimir Makarov
|
5165 |
|
|
|
5166 |
|
|
* ira-color.c (start_allocno_priorities): Rename to
|
5167 |
|
|
setup_allocno_priorities. Use costs and
|
5168 |
|
|
ALLOCNO_EXCESS_PRESSURE_POINTS_NUM instead of frequencies and
|
5169 |
|
|
range lengths. Get rid off doubles.
|
5170 |
|
|
(ira_fast_allocations): Call start_allocno_priorities.
|
5171 |
|
|
|
5172 |
|
|
2008-09-22 David Daney
|
5173 |
|
|
|
5174 |
|
|
PR target/37593
|
5175 |
|
|
* config/mips/mips.h (FUNCTION_PROFILER): Call _mcount via a
|
5176 |
|
|
register if TARGET_LONG_CALLS.
|
5177 |
|
|
|
5178 |
|
|
2008-09-22 Richard Guenther
|
5179 |
|
|
|
5180 |
|
|
PR tree-optimization/37145
|
5181 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Re-enable
|
5182 |
|
|
value-numbering union accesses with their offset and size only.
|
5183 |
|
|
(visit_reference_op_load): Fix simplification of inserted conversions.
|
5184 |
|
|
* tree-ssa-pre.c (find_or_generate_expression): Do not
|
5185 |
|
|
recursively generate expressions if running FRE.
|
5186 |
|
|
|
5187 |
|
|
2008-09-22 Adam Nemet
|
5188 |
|
|
|
5189 |
|
|
* config/mips/mips.h (ISA_HAS_BADDU): New macro.
|
5190 |
|
|
* config/mips/mips.md (*baddu_si_eb, *baddu_si_el, *baddu_di):
|
5191 |
|
|
New patterns.
|
5192 |
|
|
|
5193 |
|
|
2008-09-22 Richard Guenther
|
5194 |
|
|
|
5195 |
|
|
PR tree-optimization/37145
|
5196 |
|
|
* tree-ssa-pre.c (fully_constant_expression): Simplify builtin calls.
|
5197 |
|
|
(phi_translate_1): Constant fold references.
|
5198 |
|
|
|
5199 |
|
|
2008-09-22 Ira Rosen
|
5200 |
|
|
|
5201 |
|
|
PR tree-optimization/37482
|
5202 |
|
|
* tree-vectorizer.h (struct _slp_instance): Add new field.
|
5203 |
|
|
(SLP_INSTANCE_FIRST_LOAD_STMT): New.
|
5204 |
|
|
(get_earlier_stmt): New function.
|
5205 |
|
|
* tree-vect-analyze.c (vect_find_first_load_in_slp_instance): New
|
5206 |
|
|
function.
|
5207 |
|
|
(vect_analyze_slp_instance): Set SLP_INSTANCE_FIRST_LOAD_STMT.
|
5208 |
|
|
* tree-vect-transform.c (vect_finish_stmt_generation): Remove the
|
5209 |
|
|
asserts that GSI points to the scalar statement being vectorized.
|
5210 |
|
|
Set new statement location according to GSI.
|
5211 |
|
|
(vect_schedule_slp_instance): Use GSI of
|
5212 |
|
|
SLP_INSTANCE_FIRST_LOAD_STMT when vectorizing loads.
|
5213 |
|
|
|
5214 |
|
|
2008-09-21 Jan Hubicka
|
5215 |
|
|
|
5216 |
|
|
* ipa-cp.c (ipcp_estimate_growth): Check recursive calls.
|
5217 |
|
|
(ipcp_insert_stage): Update dead_nodes bitmap.
|
5218 |
|
|
|
5219 |
|
|
2008-09-22 Danny Smith
|
5220 |
|
|
|
5221 |
|
|
PR target/37528
|
5222 |
|
|
* config/i386/t-cygming (SHLIB_LC): Remove.
|
5223 |
|
|
(SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB
|
5224 |
|
|
* config/i386/t-cygwin (SHLIB_LC): Specify all required libraries.
|
5225 |
|
|
|
5226 |
|
|
2008-09-22 Hans-Peter Nilsson
|
5227 |
|
|
|
5228 |
|
|
PR middle-end/37170
|
5229 |
|
|
PR middle-end/37280
|
5230 |
|
|
* final.c (mark_symbol_ref_as_used): New helper function.
|
5231 |
|
|
(output_operand): Instead of just looking inside MEMs for
|
5232 |
|
|
SYMBOL_REFs, use new helper function and for_each_rtx.
|
5233 |
|
|
* varasm.c (assemble_external): Move #ifndef ASM_OUTPUT_EXTERNAL
|
5234 |
|
|
to after weak-handling. Don't mark decls with TREE_STATIC as weak.
|
5235 |
|
|
Make head comment more general.
|
5236 |
|
|
* config/darwin.c (machopic_output_indirection): Handle weak
|
5237 |
|
|
references here, like in assemble_external.
|
5238 |
|
|
|
5239 |
|
|
2008-09-21 Eric Botcazou
|
5240 |
|
|
|
5241 |
|
|
* config/sparc/sparc-protos.h (gen_compare_operator): Declare.
|
5242 |
|
|
(sparc_emit_float_lib_cmp): Change return type.
|
5243 |
|
|
* config/sparc/sparc.c (gen_compare_reg): Add comment about TFmode.
|
5244 |
|
|
(gen_compare_operator): New function.
|
5245 |
|
|
(sparc_emit_float_lib_cmp): Return the new operator to be used in
|
5246 |
|
|
the comparison sequence. Minor tweaks.
|
5247 |
|
|
* config/sparc/sparc.md (seq, sne, sgt, slt, sge, sle): Assert
|
5248 |
|
|
that the final operator and the result of sparc_emit_float_lib_cmp
|
5249 |
|
|
match for software TFmode; use emit_insn in lieu of emit_jump_insn.
|
5250 |
|
|
(beq, bne, bgt, blt, bge, ble, bunordered, bordered, bungt, bunlt,
|
5251 |
|
|
buneq, bunge, bunle, bltgt): Assert that the final operator and the
|
5252 |
|
|
result of sparc_emit_float_lib_cmp match for software TFmode.
|
5253 |
|
|
(movqicc, movhicc, movsicc, movdicc): Merge into...
|
5254 |
|
|
(movcc): ...this.
|
5255 |
|
|
(movsfcc, movdfcc, movtfcc): Merge into...
|
5256 |
|
|
(movcc): ...this.
|
5257 |
|
|
(movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64): Merge
|
5258 |
|
|
into...
|
5259 |
|
|
(mov_cc_v9): ...this.
|
5260 |
|
|
(movdi_cc_sp64_trunc): Delete.
|
5261 |
|
|
(movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64,
|
5262 |
|
|
movdi_cc_reg_sp64): Merge into...
|
5263 |
|
|
(mov_cc_reg_sp64): ...this.
|
5264 |
|
|
(movsf_cc_sp64): Rename into...
|
5265 |
|
|
(movsf_cc_v9): ...this.
|
5266 |
|
|
(movdf_cc_sp64): Rename into...
|
5267 |
|
|
(movdf_cc_v9): ...this.
|
5268 |
|
|
(movtf_cc_hq_sp64): Rename into...
|
5269 |
|
|
(movtf_cc_hq_v9): ...this.
|
5270 |
|
|
(movtf_cc_sp64): Rename into...
|
5271 |
|
|
(movtf_cc_v9): ...this. Adjust for renaming of movdf_cc_sp64.
|
5272 |
|
|
|
5273 |
|
|
2008-09-21 Diego Novillo
|
5274 |
|
|
|
5275 |
|
|
* doc/gccint.texi: Include generic.texi and gimple.texi.
|
5276 |
|
|
Re-order index.
|
5277 |
|
|
* doc/tree-ssa.texi (GENERIC): Move to generic.texi.
|
5278 |
|
|
(GIMPLE): Move to gimple.texi.
|
5279 |
|
|
(Annotations): Remove references to to stmt_ann_t and
|
5280 |
|
|
ssa_name_ann_t.
|
5281 |
|
|
(SSA Operands): Rename from 'Statement Operands'.
|
5282 |
|
|
* doc/generic.texi: New.
|
5283 |
|
|
* doc/gimple.texi: New.
|
5284 |
|
|
* Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and gimple.texi.
|
5285 |
|
|
* Makefile.in (TEXI_GCCINT_FILES):
|
5286 |
|
|
* gimple.c (gimple_copy_call_skip_args): Rename from
|
5287 |
|
|
giple_copy_call_skip_args. Update all users.
|
5288 |
|
|
* doc/gimple.texi (gimple_copy_call_skip_args): Document.
|
5289 |
|
|
|
5290 |
|
|
2008-09-21 Ira Rosen
|
5291 |
|
|
|
5292 |
|
|
PR tree-optimization/37539
|
5293 |
|
|
* tree-vect-transform.c (vect_transform_strided_load): Save vector
|
5294 |
|
|
statement in related statement field only for the first load of the
|
5295 |
|
|
group of loads with the same data reference.
|
5296 |
|
|
|
5297 |
|
|
2008-09-20 Adam Nemet
|
5298 |
|
|
|
5299 |
|
|
* config/mips/mips.h (TUNE_OCTEON): New macro.
|
5300 |
|
|
* config/mips/mips.c (mips_issue_rate): Return 2 for Octeon.
|
5301 |
|
|
(mips_multipass_dfa_lookahead): Return 2 for Octeon.
|
5302 |
|
|
* config/mips/octeon.md: New file.
|
5303 |
|
|
* config/mips/mips.md: Include octeon.md. Restore
|
5304 |
|
|
semi-alphabetical order of include files.
|
5305 |
|
|
|
5306 |
|
|
2008-09-20 H.J. Lu
|
5307 |
|
|
|
5308 |
|
|
PR target/37571
|
5309 |
|
|
* config/i386/i386.md (*jcc_fused_1): Removed.
|
5310 |
|
|
(*jcc_fused_2): Likewise.
|
5311 |
|
|
(*jcc_fused_3): Likewise.
|
5312 |
|
|
(*jcc_fused_4): Likewise.
|
5313 |
|
|
|
5314 |
|
|
2008-09-20 Richard Sandiford
|
5315 |
|
|
|
5316 |
|
|
* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Define.
|
5317 |
|
|
(IRA_COVER_CLASSES): Refer to TARGET_IRA_COVER_CLASSES.
|
5318 |
|
|
* target.h (gcc_target): Add ira_cover_classes.
|
5319 |
|
|
* ira.c: Remove IRA_COVER_CLASSES guards.
|
5320 |
|
|
(setup_cover_and_important_classes): Use targetm.ira_cover_classes
|
5321 |
|
|
instead of IRA_COVER_CLASSES.
|
5322 |
|
|
(setup_cover_and_important_classes): Remove IRA_COVER_CLASSES guard.
|
5323 |
|
|
(setup_class_translate): Likewise.
|
5324 |
|
|
(setup_reg_class_intersect_union): Likewise.
|
5325 |
|
|
(find_reg_class_closure): Replace IRA_COVER_CLASSES guard with a
|
5326 |
|
|
test of targetm.ira_cover_classes.
|
5327 |
|
|
* opts.c (decode_options): Use targetm.ira_cover_classes instead
|
5328 |
|
|
of IRA_COVER_CLASSES.
|
5329 |
|
|
* target-def.h (TARGET_IRA_COVER_CLASSES): Define.
|
5330 |
|
|
(TARGET_INITIALIZER): Include it.
|
5331 |
|
|
* targhooks.h (default_ira_cover_classes): Declare.
|
5332 |
|
|
* targhooks.c (default_ira_cover_classes): New function.
|
5333 |
|
|
|
5334 |
|
|
2008-09-19 Bob Wilson
|
5335 |
|
|
|
5336 |
|
|
* config/xtensa/xtensa.md (reload_literal): Handle MEM operands.
|
5337 |
|
|
|
5338 |
|
|
2008-09-19 Ian Lance Taylor
|
5339 |
|
|
|
5340 |
|
|
* varasm.c (narrowing_initializer_constant_valid_p): Return
|
5341 |
|
|
NULL_TREE if ENDTYPE is not an integer.
|
5342 |
|
|
|
5343 |
|
|
2008-09-19 Andrew Pinski
|
5344 |
|
|
|
5345 |
|
|
PR tree-opt/30930
|
5346 |
|
|
* tree-ssa.c (execute_update_addresses_taken): Also update
|
5347 |
|
|
DECL_GIMPLE_REG_P for vector and complex types.
|
5348 |
|
|
|
5349 |
|
|
2008-09-19 Andrew MacLeod
|
5350 |
|
|
Jan Hubicka
|
5351 |
|
|
|
5352 |
|
|
PR middle-end/37567
|
5353 |
|
|
* tree-ssa-ter.c (free_temp_expr_table): Make sure fields are actually
|
5354 |
|
|
empty before freeing them.
|
5355 |
|
|
(find_replaceable_exprs): Move asserts to free_temp_expr_table.
|
5356 |
|
|
|
5357 |
|
|
2008-09-18 Bob Wilson
|
5358 |
|
|
|
5359 |
|
|
* configure.ac: Add HAVE_AS_TLS check for Xtensa.
|
5360 |
|
|
* config/xtensa/predicates.md (tls_symbol_operand): New.
|
5361 |
|
|
* config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define.
|
5362 |
|
|
(TARGET_CANNOT_FORCE_MEM): Define.
|
5363 |
|
|
(xtensa_tls_symbol_p): New.
|
5364 |
|
|
(xtensa_emit_move_sequence): Check for and legitimize TLS addresses.
|
5365 |
|
|
(xtensa_legitimate_address_p): Disallow constant pool TLS references.
|
5366 |
|
|
(xtensa_tls_module_base): New.
|
5367 |
|
|
(xtensa_call_tls_desc): New.
|
5368 |
|
|
(xtensa_legitimize_tls_address): New.
|
5369 |
|
|
(xtensa_legitimize_address): Handle TLS symbols.
|
5370 |
|
|
(xtensa_tls_referenced_p_1): New.
|
5371 |
|
|
(xtensa_tls_referenced_p): New.
|
5372 |
|
|
(xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and
|
5373 |
|
|
UNSPEC_DTPOFF.
|
5374 |
|
|
(XTENSA_BUILTIN_THREAD_POINTER): New.
|
5375 |
|
|
(XTENSA_BUILTIN_SET_THREAD_POINTER): New.
|
5376 |
|
|
(xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3
|
5377 |
|
|
builtin. Add declarations for __builtin_thread_pointer and
|
5378 |
|
|
__builtin_set_thread_pointer.
|
5379 |
|
|
(xtensa_fold_builtin): Recognize new builtins.
|
5380 |
|
|
(xtensa_expand_builtin): Expand new builtins.
|
5381 |
|
|
* config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value.
|
5382 |
|
|
(TARGET_THREADPTR): Define.
|
5383 |
|
|
(HAVE_AS_TLS): Define default value.
|
5384 |
|
|
(LEGITIMATE_CONSTANT_P): Disallow TLS references.
|
5385 |
|
|
* config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New.
|
5386 |
|
|
(UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New.
|
5387 |
|
|
(UNSPECV_SET_TP): New.
|
5388 |
|
|
(sym_TPOFF, sym_DTPOFF): New.
|
5389 |
|
|
(load_tp, set_tp, tls_func, tls_arg, tls_call): New.
|
5390 |
|
|
* config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
|
5391 |
|
|
* configure: Regenerated.
|
5392 |
|
|
|
5393 |
|
|
2008-09-18 H.J. Lu
|
5394 |
|
|
|
5395 |
|
|
PR target/37394
|
5396 |
|
|
* config/ia64/ia64.c (ia64_optimization_options): Move
|
5397 |
|
|
checking and setting flag_schedule_insns_after_reload and
|
5398 |
|
|
ia64_flag_schedule_insns2 back to ...
|
5399 |
|
|
(ia64_override_options): Here.
|
5400 |
|
|
|
5401 |
|
|
2008-09-18 Andrew Pinski
|
5402 |
|
|
|
5403 |
|
|
PR rtl-opt/37451
|
5404 |
|
|
* loop-doloop.c (doloop_modify): New argument zero_extend_p and
|
5405 |
|
|
zero extend count after the correction to it is done.
|
5406 |
|
|
(doloop_optimize): Update call to doloop_modify, don't zero extend
|
5407 |
|
|
count before call.
|
5408 |
|
|
|
5409 |
|
|
2008-09-18 Martin Jambor
|
5410 |
|
|
|
5411 |
|
|
* ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.
|
5412 |
|
|
|
5413 |
|
|
* ipa-prop.c: Correct comments.
|
5414 |
|
|
* ipa-prop.h: Likewise.
|
5415 |
|
|
|
5416 |
|
|
2008-09-18 Jan Hubicka
|
5417 |
|
|
|
5418 |
|
|
PR middle-end/37448
|
5419 |
|
|
* ipa-reference.c (ipa_reference_local_vars_info_d,
|
5420 |
|
|
ipa_reference_global_vars_info_d,
|
5421 |
|
|
ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
|
5422 |
|
|
ipa_reference_vars_info_t): Move here from ipa-reference.h
|
5423 |
|
|
(node_duplication_hook_holder, node_removal_hook_holder): New.
|
5424 |
|
|
(get_reference_vars_info_from_cgraph): Rename to ...
|
5425 |
|
|
(get_reference_vars_info): ... this one, use cgraph uids.
|
5426 |
|
|
(get_local_reference_vars_info, get_global_reference_vars_info):
|
5427 |
|
|
Use cgraph instead of decl.
|
5428 |
|
|
(ipa_reference_get_read_local, ipa_reference_get_written_local):
|
5429 |
|
|
Remove.
|
5430 |
|
|
(ipa_reference_get_read_global, ipa_reference_get_not_read_global
|
5431 |
|
|
ipa_reference_get_written_global,
|
5432 |
|
|
ipa_reference_get_not_written_global): Use cgraph argument.
|
5433 |
|
|
(check_call): Simplify avail check.
|
5434 |
|
|
(scan_stmt_for_static_refs): Update.
|
5435 |
|
|
(propagate_bits): Update.
|
5436 |
|
|
(merge_callee_local_info): Remove.
|
5437 |
|
|
(init_function_info): Use cgraph nodes.
|
5438 |
|
|
(clean_function_local_data): Break out from ...
|
5439 |
|
|
(clean_function): ... here.
|
5440 |
|
|
(copy_local_bitmap, copy_global_bitmap): New functions.
|
5441 |
|
|
(duplicate_node_data, remove_node_data): New functions.
|
5442 |
|
|
(generate_summary): Register hooks; use visibility instead of
|
5443 |
|
|
master clones.
|
5444 |
|
|
(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
|
5445 |
|
|
* ipa-reference.h (ipa_reference_local_vars_info_d,
|
5446 |
|
|
ipa_reference_global_vars_info_d,
|
5447 |
|
|
ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
|
5448 |
|
|
ipa_reference_vars_info_t): Move to ipa-reference.c
|
5449 |
|
|
(ipa_reference_get_read_local, ipa_reference_get_written_local):
|
5450 |
|
|
Remove.
|
5451 |
|
|
(ipa_reference_get_read_global, ipa_reference_get_written_global,
|
5452 |
|
|
ipa_reference_get_not_read_global,
|
5453 |
|
|
ipa_reference_get_not_written_global): Update prototype.
|
5454 |
|
|
* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
|
5455 |
|
|
(init_state): Remove.
|
5456 |
|
|
(node_duplication_hook_holder, node_removal_hook_holder): New.
|
5457 |
|
|
(get_function_state, set_function_state): Use VECtor.
|
5458 |
|
|
(analyze_function): Check body availability.
|
5459 |
|
|
(add_new_function): Likewise.
|
5460 |
|
|
(duplicate_node_data, remove_node_data): New.
|
5461 |
|
|
(generate_summary): Register hooks; do not care about clones.
|
5462 |
|
|
(propafate): Do not care about clones; recursive functions are
|
5463 |
|
|
not looping.
|
5464 |
|
|
* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
|
5465 |
|
|
* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
|
5466 |
|
|
* edge_duplication_hook_holder, node_duplication_hook_holder): Make
|
5467 |
|
|
static.
|
5468 |
|
|
* tree-flow.h (function_ann_d): Remove reference_vars_info.
|
5469 |
|
|
* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops):
|
5470 |
|
|
Update call of ipa-reference accesors.
|
5471 |
|
|
|
5472 |
|
|
2008-09-18 Simon Baldwin
|
5473 |
|
|
|
5474 |
|
|
* c-opts.c (c_common_handle_option): Add handling for
|
5475 |
|
|
-Wbuiltin-macro-redefined command line option.
|
5476 |
|
|
* c.opt: Added builtin-macro-redefined option.
|
5477 |
|
|
* doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
|
5478 |
|
|
documentation.
|
5479 |
|
|
|
5480 |
|
|
2008-09-18 Richard Guenther
|
5481 |
|
|
|
5482 |
|
|
PR tree-optimization/37258
|
5483 |
|
|
* tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision
|
5484 |
|
|
and signedness for integral types.
|
5485 |
|
|
(vn_phi_eq): Require compatible types.
|
5486 |
|
|
|
5487 |
|
|
2008-09-18 Jakub Jelinek
|
5488 |
|
|
|
5489 |
|
|
PR debug/34037
|
5490 |
|
|
* gimplify.c (gimplify_type_sizes): When not optimizing, ensure
|
5491 |
|
|
TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P
|
5492 |
|
|
VAR_DECL.
|
5493 |
|
|
* cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL
|
5494 |
|
|
!DECL_IGNORED_P vars in local_decls list for instantiate_decls,
|
5495 |
|
|
ggc_free other TREE_LIST nodes from that chain.
|
5496 |
|
|
* function.c (instantiate_decls): Instantiate also DECL_RTL
|
5497 |
|
|
of vars in cfun->local_decls, free that list afterwards.
|
5498 |
|
|
|
5499 |
|
|
2008-09-18 Eric Botcazou
|
5500 |
|
|
|
5501 |
|
|
* config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
|
5502 |
|
|
* config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here.
|
5503 |
|
|
|
5504 |
|
|
2008-09-18 Andrew MacLeod
|
5505 |
|
|
|
5506 |
|
|
* tree-outof-ssa.c (eliminate_useless_phis): Fix formatting.
|
5507 |
|
|
* tree-flow-.h (struct immediate_use_iterator_d): Fix comment.
|
5508 |
|
|
|
5509 |
|
|
2008-09-18 Andrew MacLeod
|
5510 |
|
|
|
5511 |
|
|
PR tree-optimization/37102
|
5512 |
|
|
* tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args
|
5513 |
|
|
from a node. Check to see if another PHI is dead.
|
5514 |
|
|
(eliminate_useless_phis): Rename from eliminate_virtual_phis and
|
5515 |
|
|
remove real PHIs which have no uses.
|
5516 |
|
|
(rewrite_out_of_ssa): Call eliminate_useless_phis.
|
5517 |
|
|
|
5518 |
|
|
2008-09-18 Richard Guenther
|
5519 |
|
|
|
5520 |
|
|
PR middle-end/37284
|
5521 |
|
|
* tree-cfg.c (remove_useless_stmts_1): Remove
|
5522 |
|
|
GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing.
|
5523 |
|
|
|
5524 |
|
|
2008-09-18 Nick Clifton
|
5525 |
|
|
|
5526 |
|
|
* config/frv/frv.h (IRA_COVER_CLASSES): Define.
|
5527 |
|
|
(SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call
|
5528 |
|
|
to frv_secondary_reload_class.
|
5529 |
|
|
(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
|
5530 |
|
|
* config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define.
|
5531 |
|
|
(frv_secondary_reload_class): Omit unused parameter.
|
5532 |
|
|
(frv_secondary_reload): New function. Handle the case when
|
5533 |
|
|
secondary_reload_class() is called before the reload_(in|out)
|
5534 |
|
|
_optabs have been initialised.
|
5535 |
|
|
* config/frv/frv-protos.h (frv_secondary_reload_class): Omit
|
5536 |
|
|
unused parameter.
|
5537 |
|
|
* config/frv/frv.md: Define an exclusion set between fr550_m0
|
5538 |
|
|
and fr550_f0.
|
5539 |
|
|
|
5540 |
|
|
2008-09-18 Richard Guenther
|
5541 |
|
|
|
5542 |
|
|
PR tree-optimization/37456
|
5543 |
|
|
* tree-ssa-reassoc.c (build_and_add_sum): If the stmt we
|
5544 |
|
|
want to insert after ends a BB insert on the single fallthru
|
5545 |
|
|
outgoing edge.
|
5546 |
|
|
|
5547 |
|
|
2008-09-18 Andreas Krebbel
|
5548 |
|
|
|
5549 |
|
|
* doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
|
5550 |
|
|
Mention -march=z9-109, z9-ec and z10.
|
5551 |
|
|
|
5552 |
|
|
2008-09-18 Uros Bizjak
|
5553 |
|
|
|
5554 |
|
|
PR rtl-optimization/37544
|
5555 |
|
|
* regrename.c (maybe_mode_change): Exit early when copy_mode
|
5556 |
|
|
is narrower than orig_mode and narrower than new_mode.
|
5557 |
|
|
|
5558 |
|
|
2008-09-18 Alexander Monakov
|
5559 |
|
|
|
5560 |
|
|
PR middle-end/37499
|
5561 |
|
|
* sched-int.h (struct _haifa_insn_data): Remove unused field ref_count.
|
5562 |
|
|
|
5563 |
|
|
* sched-rgn.c (ref_counts): Remove.
|
5564 |
|
|
(insn_referenced): New static variable.
|
5565 |
|
|
(INSN_REF_COUNT): Remove.
|
5566 |
|
|
(sched_run_compute_dependencies): Use insn_referenced instead of
|
5567 |
|
|
INSN_REF_COUNT.
|
5568 |
|
|
(add_branch_dependences): Likewise. Delete dead assignment.
|
5569 |
|
|
|
5570 |
|
|
2008-09-17 Adam Nemet
|
5571 |
|
|
|
5572 |
|
|
* haifa-sched.c (dep_cost_1): Recognize the producer even if the
|
5573 |
|
|
consumer is an asm. Add comment why this is important.
|
5574 |
|
|
(choose_ready): Add comment to the "INSN_CODE (insn) >= 0 ||
|
5575 |
|
|
recog_memoized (insn) < 0" assert. Put ENABLE_CHECKING around it.
|
5576 |
|
|
|
5577 |
|
|
2008-09-17 Joseph Myers
|
5578 |
|
|
|
5579 |
|
|
* expr.c (emit_group_store): Do not shift before moving via a
|
5580 |
|
|
stack slot.
|
5581 |
|
|
|
5582 |
|
|
2008-09-17 Eric Botcazou
|
5583 |
|
|
|
5584 |
|
|
* varasm.c (initializer_constant_valid_p): Forbid view-conversions
|
5585 |
|
|
from aggregate to non-aggregate type if the bit pattern is not fully
|
5586 |
|
|
preserved afterwards.
|
5587 |
|
|
|
5588 |
|
|
2008-09-17 Richard Guenther
|
5589 |
|
|
|
5590 |
|
|
* tree-cfg.c (verify_types_in_gimple_assign): Rename to ...
|
5591 |
|
|
(verify_gimple_assign): ... this. Split into ...
|
5592 |
|
|
(verify_gimple_assign_unary): ... this,
|
5593 |
|
|
(verify_gimple_assign_binary): ... that,
|
5594 |
|
|
(verify_gimple_assign_single): ... and this.
|
5595 |
|
|
(verify_types_in_gimple_stmt): Call verify_gimple_assign.
|
5596 |
|
|
Fix GIMPLE_CHANGE_DYNAMIC_TYPE handling.
|
5597 |
|
|
(verify_types_in_gimple_min_lval): Handle TARGET_MEM_REF.
|
5598 |
|
|
(verify_types_in_gimple_reference): Be forgiving with
|
5599 |
|
|
VIEW_CONVERT_EXPRs.
|
5600 |
|
|
(verify_gimple_phi): Deal with virtual operands.
|
5601 |
|
|
|
5602 |
|
|
* tree.def (PREDICT_EXPR): Change to tcc_expression.
|
5603 |
|
|
|
5604 |
|
|
2008-09-17 Andrew Pinski
|
5605 |
|
|
|
5606 |
|
|
* tree.c (get_callee_fndecl): Don't call the language hook.
|
5607 |
|
|
* langhooks.h (lang_hooks): Remove lang_get_callee_fndecl.
|
5608 |
|
|
* langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): Kill.
|
5609 |
|
|
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_GET_CALLEE_FNDECL.
|
5610 |
|
|
|
5611 |
|
|
2008-09-17 Jakub Jelinek
|
5612 |
|
|
|
5613 |
|
|
* tree.c (protected_set_expr_location): Don't unnecessarily
|
5614 |
|
|
check for error_mark_node.
|
5615 |
|
|
|
5616 |
|
|
2008-09-17 Art Haas
|
5617 |
|
|
|
5618 |
|
|
* ipa-reference.c (analyze_function): Declare step only if
|
5619 |
|
|
ENABLE_CHECKING is defined.
|
5620 |
|
|
|
5621 |
|
|
2008-09-17 Jan Hubicka
|
5622 |
|
|
|
5623 |
|
|
PR c++/18071
|
5624 |
|
|
* tree.h (DECL_INLINE): remove.
|
5625 |
|
|
(DECL_DECLARED_INLINE_P): Update docs.
|
5626 |
|
|
(DECL_NO_INLINE_WARNING_P): new.
|
5627 |
|
|
(tree_function_decl): Replace inline_flag by no_inline_warning_flag.
|
5628 |
|
|
* tree-inline.c (inlinable_function_p): Set DECL_NO_INLINE_WARNING_P.
|
5629 |
|
|
|
5630 |
|
|
2008-09-17 Jakub Jelinek
|
5631 |
|
|
Rainer Orth
|
5632 |
|
|
|
5633 |
|
|
PR bootstrap/37441
|
5634 |
|
|
* dwarf2out.c (dwarf2out_do_cfi_asm) [MIPS_DEBUGGING_INFO]: Return
|
5635 |
|
|
false.
|
5636 |
|
|
|
5637 |
|
|
2008-09-17 Jan Hubicka
|
5638 |
|
|
|
5639 |
|
|
* ipa-reference.c (ipa_obstack): Remove.
|
5640 |
|
|
(local_info_obstack, global_info_obstack): New.
|
5641 |
|
|
(add_static_var): We now handle variables only.
|
5642 |
|
|
(mark_address_taken, mark_load, mark_store): New functions based on ...
|
5643 |
|
|
(check_operand): ... remove.
|
5644 |
|
|
(get_asm_stmt_operands): Rename to ...
|
5645 |
|
|
(check_asm_memory_clobber): ... this. Look only for memory clobber.
|
5646 |
|
|
(scan_stmt_for_static_refs): Rewrite.
|
5647 |
|
|
(scan_op_for_static_refs): Rename to ...
|
5648 |
|
|
(scan_initializer_for_static_refs): do not look for VAR_DECL
|
5649 |
|
|
initializers; stop recursion on types and decls.
|
5650 |
|
|
(ipa_init): Use proper obstacks.
|
5651 |
|
|
(analyze_variable): Use scan_initializer_for_static_refs.
|
5652 |
|
|
(init_function_info): Use local obstack.
|
5653 |
|
|
(analyze_function): Simplify.
|
5654 |
|
|
(add_new_function): We don't need visited_nodes obstack.
|
5655 |
|
|
(generate_summary): Use proper obstacks; cleanup after propagation.
|
5656 |
|
|
|
5657 |
|
|
2008-09-17 Richard Guenther
|
5658 |
|
|
|
5659 |
|
|
PR middle-end/37385
|
5660 |
|
|
PR tree-optimization/37491
|
5661 |
|
|
* alias.c (get_alias_set): Use the canonical type.
|
5662 |
|
|
* tree-vect-transform.c (vectorizable_store): Use the type of
|
5663 |
|
|
the lhs for the vector type. Adjust checking.
|
5664 |
|
|
(vectorizable_load): Adjust checking.
|
5665 |
|
|
|
5666 |
|
|
2008-09-16 Jakub Jelinek
|
5667 |
|
|
Adam Nemet
|
5668 |
|
|
|
5669 |
|
|
PR rtl-optimization/37483
|
5670 |
|
|
* ifcvt.c (noce_try_sign_mask): Use if_info->test_bb instead of
|
5671 |
|
|
if_info->insn_b's bb as argument to optimize_bb_for_speed_p.
|
5672 |
|
|
Rearrange code to better match the original comment. Check
|
5673 |
|
|
t_unconditional first. Improve comment.
|
5674 |
|
|
|
5675 |
|
|
2008-09-16 Jakub Jelinek
|
5676 |
|
|
|
5677 |
|
|
PR c/37529
|
5678 |
|
|
* gimplify.c (gimplify_expr) : If gimplification of
|
5679 |
|
|
GOTO_DESTINATION failed, don't create GIMPLE_GOTO.
|
5680 |
|
|
|
5681 |
|
|
PR c++/37530
|
5682 |
|
|
* gimplify.c (gimplify_expr) : Don't create
|
5683 |
|
|
GIMPLE_TRY if cleanup sequence is empty.
|
5684 |
|
|
|
5685 |
|
|
2008-09-16 Andrew Pinski
|
5686 |
|
|
|
5687 |
|
|
PR middle-end/37263
|
5688 |
|
|
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Prefer the
|
5689 |
|
|
eliminate IV if the cost are the same.
|
5690 |
|
|
|
5691 |
|
|
2008-09-16 Richard Guenther
|
5692 |
|
|
|
5693 |
|
|
PR middle-end/37380
|
5694 |
|
|
* tree-sra.c (sra_build_assignment): Do not call the gimplifier
|
5695 |
|
|
if not necessary.
|
5696 |
|
|
|
5697 |
|
|
2008-09-16 Richard Guenther
|
5698 |
|
|
|
5699 |
|
|
PR tree-optimization/37508
|
5700 |
|
|
* tree-vrp.c (simplify_truth_ops_using_ranges): Also allow -1.
|
5701 |
|
|
|
5702 |
|
|
2008-09-15 Kaz Kojima
|
5703 |
|
|
|
5704 |
|
|
* config/sh/sh.md (movsf_ie): Fix length for TARGET_SH2A.
|
5705 |
|
|
|
5706 |
|
|
2008-09-15 Andrew Pinski
|
5707 |
|
|
|
5708 |
|
|
* config/rs6000/rs6000.md (floatsidf2): Rewrite PowerPC64 case to
|
5709 |
|
|
use gen_floatdidf2 directly.
|
5710 |
|
|
(floatunssidf2): Likewise.
|
5711 |
|
|
(floatsidf_ppc64_mfpgpr): Remove.
|
5712 |
|
|
(floatsidf_ppc64): Remove.
|
5713 |
|
|
(floatunssidf_ppc64): Remove.
|
5714 |
|
|
|
5715 |
|
|
2008-09-15 Jakub Jelinek
|
5716 |
|
|
|
5717 |
|
|
* ira-color.c (finish_cost_update): Free update_cost_queue_elems
|
5718 |
|
|
rather than update_cost_queue.
|
5719 |
|
|
|
5720 |
|
|
* tree-ssa-alias.c (init_alias_info): Call bitmap_obstack_release
|
5721 |
|
|
in every call starting with the second one, instead of only when
|
5722 |
|
|
alias_bitmap_obstack.elements != NULL.
|
5723 |
|
|
|
5724 |
|
|
* tree-predcom.c (filter_suitable_components): Free all refs in
|
5725 |
|
|
act->refs vector before calling release_component.
|
5726 |
|
|
(add_ref_to_chain): Free ref if not adding it to chain->refs.
|
5727 |
|
|
|
5728 |
|
|
* tree-data-ref.c (free_subscripts): Free all subscript objects.
|
5729 |
|
|
|
5730 |
|
|
* tree-loop-linear.c (linear_transform_loops): Initialize
|
5731 |
|
|
lambda_obstack only after calling perfect_loop_nest_depth.
|
5732 |
|
|
Goto free_and_continue instead of just continue for later failures.
|
5733 |
|
|
|
5734 |
|
|
PR middle-end/37479
|
5735 |
|
|
* doc/invoke.texi: Document -fno-dwarf2-cfi-asm.
|
5736 |
|
|
|
5737 |
|
|
PR libmudflap/36397
|
5738 |
|
|
* tree-mudflap.c (mf_xform_derefs_1): Handle VIEW_CONVERT_EXPR.
|
5739 |
|
|
|
5740 |
|
|
2008-09-14 Andreas Schwab
|
5741 |
|
|
|
5742 |
|
|
* tree-call-cdce.c (check_target_format): Accept Motorola formats.
|
5743 |
|
|
|
5744 |
|
|
2008-09-14 Jan Hubicka
|
5745 |
|
|
|
5746 |
|
|
* invoke.texi (-fconserve-stack): Document.
|
5747 |
|
|
* opts.c (decode_options): Handle conserve_stack.
|
5748 |
|
|
* common.opt (fconvserve_stack): New.
|
5749 |
|
|
|
5750 |
|
|
2008-09-14 David Edelsohn
|
5751 |
|
|
|
5752 |
|
|
* config.host: Add x-aix to host_xmake_file.
|
5753 |
|
|
* config/rs6000/t-aix52: Do not override LDFLAGS.
|
5754 |
|
|
* config/rs6000/x-aix: New file.
|
5755 |
|
|
|
5756 |
|
|
2008-09-14 Andy Hutchinson
|
5757 |
|
|
|
5758 |
|
|
PR target/19636
|
5759 |
|
|
PR target/24894
|
5760 |
|
|
PR target/31644
|
5761 |
|
|
PR target/31786
|
5762 |
|
|
* config/avr/avr.c (legitimate_address_p): Fix problem where subreg
|
5763 |
|
|
is not recognized as a valid register usage. Allow REG_X to be used
|
5764 |
|
|
as a base pointer.
|
5765 |
|
|
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Remove code that
|
5766 |
|
|
forces a reload when using a base register.
|
5767 |
|
|
|
5768 |
|
|
2008-09-14 Danny Smith
|
5769 |
|
|
|
5770 |
|
|
* config/i386/cygming-crtend.c (register_frame_ctor): If
|
5771 |
|
|
DEFAULT_USE_CXA_ATEXIT, register __gcc_deregister_frame
|
5772 |
|
|
directly with atexit.
|
5773 |
|
|
(deregister_frame_ctor): Rename to ...
|
5774 |
|
|
(deregister_frame_dtor): Use to call __gcc_deregister_frame
|
5775 |
|
|
if !DEFAULT_USE_CXA_ATEXIT.
|
5776 |
|
|
|
5777 |
|
|
2008-09-13 Jan Hubicka
|
5778 |
|
|
|
5779 |
|
|
* cgraph.c: Include value-prof.h
|
5780 |
|
|
* Makefile.in (cgraph.o): Add value-prof.h dependency.
|
5781 |
|
|
|
5782 |
|
|
2008-09-13 Jan Hubicka
|
5783 |
|
|
|
5784 |
|
|
PR middle-end/32581
|
5785 |
|
|
* tree-profile.c (add_abnormal_goto_call_edges): New function.
|
5786 |
|
|
(tree_gen_interval_profiler, tree_gen_pow2_profiler,
|
5787 |
|
|
tree_gen_one_value_profiler, tree_gen_average_profiler,
|
5788 |
|
|
tree_gen_ic_func_profiler, tree_gen_ior_profiler): Use it.
|
5789 |
|
|
|
5790 |
|
|
2008-09-13 Jan Hubicka
|
5791 |
|
|
|
5792 |
|
|
* i386.c (ix86_expand_movmem, ix86_expand_movstr): Avoid processing
|
5793 |
|
|
too many bytes on misalligned blocks.
|
5794 |
|
|
|
5795 |
|
|
2008-09-13 Ralf Wildenhues
|
5796 |
|
|
|
5797 |
|
|
* doc/cfg.texi: Fix some typos.
|
5798 |
|
|
* doc/extend.texi: Likewise.
|
5799 |
|
|
* doc/install.texi: Likewise.
|
5800 |
|
|
* doc/invoke.texi: Likewise.
|
5801 |
|
|
* doc/rtl.texi: Likewise.
|
5802 |
|
|
* doc/tree-ssa.texi: Likewise.
|
5803 |
|
|
|
5804 |
|
|
2008-09-13 Richard Guenther
|
5805 |
|
|
|
5806 |
|
|
PR middle-end/30141
|
5807 |
|
|
* tree-nested.c (finalize_nesting_tree_1): Generate valid
|
5808 |
|
|
gimple stores for memory rhs.
|
5809 |
|
|
|
5810 |
|
|
2008-09-13 H.J. Lu
|
5811 |
|
|
|
5812 |
|
|
PR rtl-optimization/37489
|
5813 |
|
|
* cse.c (fold_rtx): Don't return const_true_rtx for float
|
5814 |
|
|
compare if FLOAT_STORE_FLAG_VALUE is undefined.
|
5815 |
|
|
|
5816 |
|
|
2008-09-13 Jan Hubicka
|
5817 |
|
|
|
5818 |
|
|
PR tree-optimization/37392
|
5819 |
|
|
* tree-inline.c (remap_gimple_stmt): Do not remap return value.
|
5820 |
|
|
|
5821 |
|
|
2008-09-13 Martin Jambor
|
5822 |
|
|
Jan Hubicka
|
5823 |
|
|
|
5824 |
|
|
* cgraph.c (free_edges): New variable.
|
5825 |
|
|
(NEXT_FREE_EDGE): New macro.
|
5826 |
|
|
(cgraph_free_edge): New function.
|
5827 |
|
|
(cgraph_remove_edge): Call cgraph_remove_edge_1.
|
5828 |
|
|
(cgraph_node_remove_callees): Likewise.
|
5829 |
|
|
(cgraph_node_remove_callers): Likewise.
|
5830 |
|
|
(cgraph_create_edge): Reuse edges from the free list. Do not
|
5831 |
|
|
update uid if doing so.
|
5832 |
|
|
(cgraph_remove_*_hook): Add free call.
|
5833 |
|
|
|
5834 |
|
|
2008-09-13 Richard Sandiford
|
5835 |
|
|
|
5836 |
|
|
* ira-color.c (conflict_allocno_vec): Delete.
|
5837 |
|
|
(update_cost_queue_elem): New structure.
|
5838 |
|
|
(update_cost_queue): New variable.
|
5839 |
|
|
(update_cost_queue_tail): Likewise.
|
5840 |
|
|
(update_cost_queue_elems): Likewise.
|
5841 |
|
|
(allocno_update_cost_check): Delete.
|
5842 |
|
|
(initiate_cost_update): Allocate update_cost_queue_elems
|
5843 |
|
|
instead of allocno_update_cost_check.
|
5844 |
|
|
(finish_cost_update): Update the free()s accordingly.
|
5845 |
|
|
(start_update_cost): New function.
|
5846 |
|
|
(queue_update_cost): Likewise.
|
5847 |
|
|
(get_next_update_cost): Likewise.
|
5848 |
|
|
(update_copy_costs_1): Inline into...
|
5849 |
|
|
(update_copy_costs): ...here. Use a queue instead of recursive calls.
|
5850 |
|
|
Use cover_class instead of ALLOCNO_COVER_CLASS (another_allocno),
|
5851 |
|
|
once we've established they are equal. Don't allocate update
|
5852 |
|
|
costs if there is nothing to add to them.
|
5853 |
|
|
(update_conflict_hard_regno_costs): Remove ALLOCNO and
|
5854 |
|
|
DIVISOR arguments. Use a queue instead of recursive calls;
|
5855 |
|
|
process all the allocnos in the initial queue, rather than
|
5856 |
|
|
a single allocno.
|
5857 |
|
|
(assign_hard_reg): Use queue_update_cost instead of
|
5858 |
|
|
conflict_allocno_vec. Queue coalesced allocnos instead
|
5859 |
|
|
of calling update_conflict_hard_regno_costs for each one.
|
5860 |
|
|
Just call update_conflict_hard_regno_costs once for the
|
5861 |
|
|
entire queue.
|
5862 |
|
|
(ira_color): Remove conflict_allocno_vec handling.
|
5863 |
|
|
|
5864 |
|
|
2008-09-12 Sebastian Pop
|
5865 |
|
|
|
5866 |
|
|
PR tree-optimization/37484
|
5867 |
|
|
* graphite.c (scop_record_loop): Use snprintf instead of sprintf.
|
5868 |
|
|
(save_var_name): Same.
|
5869 |
|
|
(initialize_cloog_names): Same.
|
5870 |
|
|
(initialize_cloog_names): Same.
|
5871 |
|
|
|
5872 |
|
|
2008-09-12 Sebastian Pop
|
5873 |
|
|
|
5874 |
|
|
* tree-scalar-evolution.c (set_instantiated_value): Set
|
5875 |
|
|
instantiated_below.
|
5876 |
|
|
|
5877 |
|
|
2008-09-12 Vladimir Makarov
|
5878 |
|
|
|
5879 |
|
|
PR rtl-opt/37377
|
5880 |
|
|
|
5881 |
|
|
* ira-build.c (common_loop_tree_node_dominator): Remove.
|
5882 |
|
|
(copy_live_ranges_to_removed_store_destinations): New function.
|
5883 |
|
|
(regno_top_level_allocno_map): Move to top level from ...
|
5884 |
|
|
(ira_flattening): ... here. Use
|
5885 |
|
|
copy_live_ranges_to_removed_store_destinations.
|
5886 |
|
|
|
5887 |
|
|
* ira-emit.c (generate_edge_moves): Fix a comment.
|
5888 |
|
|
|
5889 |
|
|
2008-09-12 Anatoly Sokolov
|
5890 |
|
|
|
5891 |
|
|
PR target/37466
|
5892 |
|
|
* config/avr/avr.md (movsi_lreg_const peephole2): Add match_dup for
|
5893 |
|
|
scratch register after 'set' pattern.
|
5894 |
|
|
|
5895 |
|
|
2008-09-12 Ulrich Weigand
|
5896 |
|
|
|
5897 |
|
|
* emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment
|
5898 |
|
|
information passed to mark_reg_pointer.
|
5899 |
|
|
* explow.c (force_reg): Likewise.
|
5900 |
|
|
|
5901 |
|
|
2008-09-12 Ulrich Weigand
|
5902 |
|
|
|
5903 |
|
|
* config/spu/spu.c (spu_override_options): Default to -mno-safe-hints
|
5904 |
|
|
when building for the celledp architecture.
|
5905 |
|
|
|
5906 |
|
|
2008-09-12 Richard Guenther
|
5907 |
|
|
|
5908 |
|
|
* tree-vrp.c (simplify_truth_ops_using_ranges): Fix types.
|
5909 |
|
|
|
5910 |
|
|
2008-09-12 Eric Botcazou
|
5911 |
|
|
|
5912 |
|
|
PR rtl-optimization/37424
|
5913 |
|
|
* ira-color.c (coalesced_pseudo_reg_slot_compare): Untie by comparing
|
5914 |
|
|
the regnos instead of the addresses.
|
5915 |
|
|
|
5916 |
|
|
2008-09-11 Janis Johnson
|
5917 |
|
|
|
5918 |
|
|
* ginclude/float.h (DEC_EVAL_METHOD): Correct the macro name.
|
5919 |
|
|
|
5920 |
|
|
2008-09-11 Richard Guenther
|
5921 |
|
|
|
5922 |
|
|
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid
|
5923 |
|
|
entering the weaker equivalence recording.
|
5924 |
|
|
|
5925 |
|
|
* tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification.
|
5926 |
|
|
|
5927 |
|
|
2008-09-11 Jeff Law
|
5928 |
|
|
|
5929 |
|
|
* reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
|
5930 |
|
|
by assign_stack_local on the IRA path for stack slot sharing
|
5931 |
|
|
as well as the non-IRA path.
|
5932 |
|
|
|
5933 |
|
|
2008-09-11 Uros Bizjak
|
5934 |
|
|
|
5935 |
|
|
* config/i386/i386.h: Fix whitespace issues.
|
5936 |
|
|
|
5937 |
|
|
2008-09-11 Martin Jambor
|
5938 |
|
|
|
5939 |
|
|
* ipa-prop.h (struct ipa_param_flags): Removed.
|
5940 |
|
|
(struct ipa_param_descriptor): New structure.
|
5941 |
|
|
(struct ipa_node_params): ipcp_lattices, param_decls and
|
5942 |
|
|
param_flags moved to ipa_param_description.
|
5943 |
|
|
(ipa_get_ith_param): Renamed to ipa_get_param, changed to access
|
5944 |
|
|
descriptors. Renamed all users.
|
5945 |
|
|
(ipa_is_ith_param_modified): Renamed to ipa_is_param_modified,
|
5946 |
|
|
changed to access descriptors. Renamed all users.
|
5947 |
|
|
(ipa_is_ith_param_called): Renamed to ipa_is_param_called, changed
|
5948 |
|
|
to access descriptors. Renamed all users.
|
5949 |
|
|
* ipa-cp.c (ipcp_init_cloned_node): Call
|
5950 |
|
|
ipa_initialize_node_params instead of ipa_count_formal_params and
|
5951 |
|
|
ipa_create_param_decls_array.
|
5952 |
|
|
(ipcp_analyze_node): Likewise.
|
5953 |
|
|
(ipcp_get_ith_lattice): Renamed to ipcp_get_lattice, changed to access
|
5954 |
|
|
descriptors. Renamed all users.
|
5955 |
|
|
(ipcp_initialize_node_lattices): Remove allocation.
|
5956 |
|
|
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
|
5957 |
|
|
ipa_initialize_node_params instead of ipa_count_formal_params and
|
5958 |
|
|
ipa_create_param_decls_array.
|
5959 |
|
|
* ipa-prop.c (ipa_create_param_decls_array): Renamed to
|
5960 |
|
|
ipa_populate_param_decls, made static, added parameter info,
|
5961 |
|
|
renamed mt to node, removed allocation, changed to use
|
5962 |
|
|
descriptors.
|
5963 |
|
|
(ipa_count_formal_params): Made static, added parameter info,
|
5964 |
|
|
renamed mt to node.
|
5965 |
|
|
(ipa_initialize_node_params): New function.
|
5966 |
|
|
(ipa_check_stmt_modifications): Changed to use descriptors.
|
5967 |
|
|
(ipa_detect_param_modifications): Removed allocation, changed to
|
5968 |
|
|
use descriptors.
|
5969 |
|
|
(ipa_note_param_call): Changed to use descriptors.
|
5970 |
|
|
(ipa_analyze_params_uses): Removed allocation.
|
5971 |
|
|
(ipa_free_node_params_substructures): Changed to use descriptors.
|
5972 |
|
|
(ipa_edge_duplication_hook): Use the unused attribute.
|
5973 |
|
|
(ipa_node_duplication_hook): Use the unused attribute, changed to
|
5974 |
|
|
use descriptors, changed to duplicate descriptors.
|
5975 |
|
|
|
5976 |
|
|
* ipa-inline.c (cgraph_mark_inline_edge): New parameter new_edges,
|
5977 |
|
|
changed all callers. Call ipa_propagate_indirect_call_infos if doing
|
5978 |
|
|
indirect inlining. Made static.
|
5979 |
|
|
(cgraph_decide_inlining): Freeing ipa-prop structures after inlining
|
5980 |
|
|
functions called only once.
|
5981 |
|
|
(cgraph_decide_recursive_inlining): Don't call
|
5982 |
|
|
ipa_propagate_indirect_call_infos, pass new_edges to
|
5983 |
|
|
cgraph_mark_inline_edge instead.
|
5984 |
|
|
(cgraph_decide_inlining_of_small_functions): Don't call
|
5985 |
|
|
ipa_propagate_indirect_call_infos, pass new_edges to
|
5986 |
|
|
cgraph_mark_inline_edge instead.
|
5987 |
|
|
(cgraph_decide_inlining): Don't call
|
5988 |
|
|
ipa_propagate_indirect_call_infos.
|
5989 |
|
|
* ipa-prop.c: Check that vectors are allocated.
|
5990 |
|
|
|
5991 |
|
|
* ipa-inline.c (cgraph_mark_inline_edge): Returns boolean, true
|
5992 |
|
|
iff a new cgraph edges have been created.
|
5993 |
|
|
(cgraph_decide_inlining): New variable redo_always_inline.
|
5994 |
|
|
Flattening and always_inlining loop until callgraph stabilizes.
|
5995 |
|
|
* ipa-prop.c (update_call_notes_after_inlining): Returns boolean,
|
5996 |
|
|
true iff new cgraph edges have been created.
|
5997 |
|
|
(propagate_info_to_inlined_callees): Likewise.
|
5998 |
|
|
(ipa_propagate_indirect_call_infos): Likewise.
|
5999 |
|
|
|
6000 |
|
|
2008-09-11 Richard Guenther
|
6001 |
|
|
|
6002 |
|
|
* tree-vectorizer.c (slpeel_add_loop_guard): Fix types.
|
6003 |
|
|
(set_prologue_iterations): Likewise.
|
6004 |
|
|
* tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
|
6005 |
|
|
Likewise.
|
6006 |
|
|
(vect_update_init_of_dr): Likewise.
|
6007 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix
|
6008 |
|
|
type verification.
|
6009 |
|
|
* fold-const.c (fold_unary): Do not generate calculations
|
6010 |
|
|
in sub-types.
|
6011 |
|
|
|
6012 |
|
|
2008-09-11 Paolo Bonzini
|
6013 |
|
|
|
6014 |
|
|
* dojump.c (do_jump) [BIT_AND_EXPR]: Move below. Fall through to
|
6015 |
|
|
TRUTH_AND_EXPR for boolean (1-bit precision) expressions.
|
6016 |
|
|
(do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR.
|
6017 |
|
|
|
6018 |
|
|
* tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return
|
6019 |
|
|
a bool.
|
6020 |
|
|
* tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to
|
6021 |
|
|
VRP's simplify_stmt_using_ranges. Do simplify_stmt_using_ranges
|
6022 |
|
|
before finalizing the changes.
|
6023 |
|
|
* tree-vrp.c (extract_range_from_binary_expr): Add limited support
|
6024 |
|
|
for BIT_IOR_EXPR.
|
6025 |
|
|
(simplify_truth_ops_using_ranges): New.
|
6026 |
|
|
(simplify_div_or_mod_using_ranges, simplify_abs_using_ranges,
|
6027 |
|
|
simplify_cond_using_ranges, simplify_switch_using_ranges): Return
|
6028 |
|
|
whether a simplification was made.
|
6029 |
|
|
(simplify_stmt_using_ranges): Ditto, and accept a GSI. For GS_ASSIGN,
|
6030 |
|
|
use a switch statement and also call simplify_truth_ops_using_ranges.
|
6031 |
|
|
|
6032 |
|
|
2008-09-11 Jan Hubicka
|
6033 |
|
|
|
6034 |
|
|
* ggc-common.c (loc_array): Make static.
|
6035 |
|
|
* dce.c (rest_of_handle_ud_dce): Free worklist.
|
6036 |
|
|
|
6037 |
|
|
2008-09-11 Jan Hubicka
|
6038 |
|
|
|
6039 |
|
|
* cgraph.c (cgraph_release_function_body): Plug memory leak on
|
6040 |
|
|
ipa_transforms_to_apply and CFG; ggc_free gimple df and struct
|
6041 |
|
|
function so we are sure we do not dangle it forever.
|
6042 |
|
|
* function.c (outer_function_chain, find_function_data): Remove.
|
6043 |
|
|
(function_context_stack): New.
|
6044 |
|
|
(push_function_context, pop_function_context): Update.
|
6045 |
|
|
* function.h (struct function): Remove pointer outer.
|
6046 |
|
|
(outer_function_chain, find_function_data): Remove.
|
6047 |
|
|
* stmt.c (force_label_rtx): Remove dead call of find_function_data.
|
6048 |
|
|
|
6049 |
|
|
2008-09-11 Jan Hubicka
|
6050 |
|
|
|
6051 |
|
|
PR middle-end/37448
|
6052 |
|
|
* cgraph.c (cgraph_create_edge): Use !cgraph_edge for sanity check.
|
6053 |
|
|
|
6054 |
|
|
2008-09-11 Jan Hubicka
|
6055 |
|
|
|
6056 |
|
|
* tree-ssa-pre.c (phi_translate_1): Fix memory leak
|
6057 |
|
|
|
6058 |
|
|
2008-09-11 Jan Hubicka
|
6059 |
|
|
|
6060 |
|
|
* tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
|
6061 |
|
|
(free_var_map_entry): New function.
|
6062 |
|
|
(redirect_edge_var_map_destroy): Use it.
|
6063 |
|
|
|
6064 |
|
|
2008-09-11 Jan Hubicka
|
6065 |
|
|
|
6066 |
|
|
PR middle-end/37448
|
6067 |
|
|
* tree-inline.c (add_lexical_block): Replace with ...
|
6068 |
|
|
(prepend_lexical_block): ... prepend at begginig.
|
6069 |
|
|
(remap_blocks): Use it and reverse later.
|
6070 |
|
|
(expand_call_inline): Use prepend_lexical_block.
|
6071 |
|
|
|
6072 |
|
|
2008-09-11 Jan Hubicka
|
6073 |
|
|
|
6074 |
|
|
* gimplify.c (pop_gimplify_context): Free bind_expr_stack.
|
6075 |
|
|
|
6076 |
|
|
2008-09-11 Jan Hubicka
|
6077 |
|
|
|
6078 |
|
|
* function.c (free_after_compilation): Call insn_locators_free.
|
6079 |
|
|
* cfglayout.c (insn_locators_free): New function.
|
6080 |
|
|
* rtl.h (insn_locators_free): Declare.
|
6081 |
|
|
|
6082 |
|
|
2008-09-11 Jan Hubicka
|
6083 |
|
|
|
6084 |
|
|
* ifcvt.c (check_cond_move_block): Make regs argument pointer to
|
6085 |
|
|
vector pointer.
|
6086 |
|
|
(cond_move_process_if_block): Update call.
|
6087 |
|
|
|
6088 |
|
|
2008-09-11 Jan Hubicka
|
6089 |
|
|
|
6090 |
|
|
* toplev.c (dump_memory_report): Call dump_vec_loc_statistics.
|
6091 |
|
|
* vec.c: Include hashtab.h
|
6092 |
|
|
(vec_descriptor, ptr_hash_entry): New structures.
|
6093 |
|
|
(vec_desc_hash, vec_ptr_map): New static variables.
|
6094 |
|
|
(hash_descriptor, eq_descriptor, hash_ptr, eq_ptr, vec_descriptor,
|
6095 |
|
|
register_overhead, free_overhead, vec_heap_free): New functions.
|
6096 |
|
|
(vec_gc_o_reserve_1): ggc_free when resizing to 0.
|
6097 |
|
|
(vec_heap_o_reserve_1): free when resizing to 0; add statistics.
|
6098 |
|
|
(cmp_statistic, add_statistics, dump_vec_loc_statistics):
|
6099 |
|
|
New functions.
|
6100 |
|
|
|
6101 |
|
|
2008-09-11 Ira Rosen
|
6102 |
|
|
|
6103 |
|
|
PR tree-optimization/37474
|
6104 |
|
|
* tree-vect-analyze.c (vect_supported_load_permutation_p): Check the
|
6105 |
|
|
length of load permutation.
|
6106 |
|
|
|
6107 |
|
|
2008-09-11 Andreas Schwab
|
6108 |
|
|
|
6109 |
|
|
* config/m68k/m68k.h (IRA_COVER_CLASSES): Define.
|
6110 |
|
|
|
6111 |
|
|
2008-09-11 Jakub Jelinek
|
6112 |
|
|
|
6113 |
|
|
PR target/37382
|
6114 |
|
|
* expmed.c (extract_low_bits): Avoid creating invalid subregs.
|
6115 |
|
|
* dse.c (find_shift_sequence): Use extract_low_bits instead of
|
6116 |
|
|
simplify_gen_subreg.
|
6117 |
|
|
|
6118 |
|
|
2008-09-11 Ira Rosen
|
6119 |
|
|
|
6120 |
|
|
* tree-vect-transform.c (vectorizable_store): Use the rhs vector type
|
6121 |
|
|
for alias check.
|
6122 |
|
|
|
6123 |
|
|
2008-09-10 Jakub Jelinek
|
6124 |
|
|
|
6125 |
|
|
PR middle-end/37338
|
6126 |
|
|
* gimplify.c (gimplify_body): Call default_rtl_profile.
|
6127 |
|
|
|
6128 |
|
|
PR target/36904
|
6129 |
|
|
* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): Return NULL
|
6130 |
|
|
instead of tok->val.node if not expanding to something else. Handle
|
6131 |
|
|
intervening CPP_PADDING tokens.
|
6132 |
|
|
(altivec_categorize_keyword): Remove unneeded comparisons.
|
6133 |
|
|
|
6134 |
|
|
2008-09-10 Richard Guenther
|
6135 |
|
|
|
6136 |
|
|
* tree-ssa-pre.c (phi_translate_1): Fix memory leak.
|
6137 |
|
|
|
6138 |
|
|
2008-09-10 Richard Guenther
|
6139 |
|
|
|
6140 |
|
|
PR middle-end/37432
|
6141 |
|
|
* tree-inline.c (insert_init_stmt): Make sure to not
|
6142 |
|
|
insert invalid gimple stores.
|
6143 |
|
|
|
6144 |
|
|
2008-09-10 Sebastian Pop
|
6145 |
|
|
|
6146 |
|
|
PR tree-optimization/37388
|
6147 |
|
|
* toplev.c (process_options): Fail and warn when graphite
|
6148 |
|
|
flags are used, but the compiler has not been configured
|
6149 |
|
|
with graphite libraries.
|
6150 |
|
|
* graphite.c (graphite_transform_loops): Remove printfs
|
6151 |
|
|
to dump_file for the case when graphite is not available.
|
6152 |
|
|
|
6153 |
|
|
2008-09-10 H.J. Lu
|
6154 |
|
|
|
6155 |
|
|
PR target/37434:
|
6156 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_interleave): Force
|
6157 |
|
|
the even element into register.
|
6158 |
|
|
(ix86_expand_vector_init_general): Don't use
|
6159 |
|
|
ix86_expand_vector_init_interleave on V16QImode and V8HImode
|
6160 |
|
|
if we can't move from GPR to SSE register directly.
|
6161 |
|
|
|
6162 |
|
|
2008-09-10 Bernd Schmidt
|
6163 |
|
|
|
6164 |
|
|
* config/bfin/bfin.c (workaround_speculation): Correct algorithm to
|
6165 |
|
|
not lose track of the number of NOPs needed. Number of NOPs needed
|
6166 |
|
|
for sync vs. loads workaround was switched; corrected. Run second
|
6167 |
|
|
pass for all workarounds. No NOPs needed after call insns. Change
|
6168 |
|
|
second pass to use find_next_insn_start and find_load helpers in order
|
6169 |
|
|
to properly detect parallel insns.
|
6170 |
|
|
* config/bfin/bfin.md (cbranch_with_nops): Increase length.
|
6171 |
|
|
|
6172 |
|
|
2008-09-10 Jan Hubicka
|
6173 |
|
|
|
6174 |
|
|
* value-prof.c (gimple_ic): Fix tuplification bug.
|
6175 |
|
|
* sched-deps.c (sched_insns_conditions_mutex_p): Silence unitialized
|
6176 |
|
|
var warning.
|
6177 |
|
|
|
6178 |
|
|
2008-09-10 Jakub Jelinek
|
6179 |
|
|
|
6180 |
|
|
PR tree-optimization/37353
|
6181 |
|
|
* tree-call-cdce.c (cond_dead_built_in_calls): Remove.
|
6182 |
|
|
(shrink_wrap_conditional_dead_built_in_calls): Add calls argument, use
|
6183 |
|
|
calls instead of cond_dead_built_in_calls.
|
6184 |
|
|
(tree_call_cdce): Add cond_dead_built_in_calls automatic variable,
|
6185 |
|
|
initalize the vector only before adding first entry. Use VEC_safe_push
|
6186 |
|
|
instead of VEC_quick_push. Pass cond_dead_built_in_calls to
|
6187 |
|
|
shrink_wrap_conditional_dead_built_in_calls call.
|
6188 |
|
|
|
6189 |
|
|
2008-09-10 Ira Rosen
|
6190 |
|
|
|
6191 |
|
|
PR tree-optimization/37385
|
6192 |
|
|
* tree-vect-transform.c (vect_create_data_ref_ptr): Add a new
|
6193 |
|
|
argument, and use it as a vector type if not NULL.
|
6194 |
|
|
(vectorizable_store): Call vect_create_data_ref_ptr with the type of
|
6195 |
|
|
vectorized rhs.
|
6196 |
|
|
(vect_setup_realignment): Call vect_create_data_ref_ptr with
|
6197 |
|
|
additional argument.
|
6198 |
|
|
(vectorizable_load): Likewise.
|
6199 |
|
|
|
6200 |
|
|
2008-09-10 Jakub Jelinek
|
6201 |
|
|
|
6202 |
|
|
* config/i386/i386.md (SWI32): New mode iterator.
|
6203 |
|
|
(jcc_fused_1, jcc_fused_2, jcc_fused_3, jcc_fused_4): Use it instead
|
6204 |
|
|
of SWI.
|
6205 |
|
|
|
6206 |
|
|
2008-09-09 Vladimir Makarov
|
6207 |
|
|
|
6208 |
|
|
PR rtl-optimization/37435
|
6209 |
|
|
* caller-save.c (insert_restore, insert_save): Check the mode by
|
6210 |
|
|
reg_save_code.
|
6211 |
|
|
|
6212 |
|
|
2008-09-09 John David Anglin
|
6213 |
|
|
|
6214 |
|
|
PR other/37265
|
6215 |
|
|
* dwarf2asm.c (dw2_force_const_mem): Use unstripped symbol name for
|
6216 |
|
|
splay tree lookup.
|
6217 |
|
|
(dw2_output_indirect_constant_1): Use unstripped name in symbol
|
6218 |
|
|
reference.
|
6219 |
|
|
|
6220 |
|
|
2008-09-09 Sandra Loosemore
|
6221 |
|
|
|
6222 |
|
|
* doc/invoke.texi (ARM Options): Correct errors in discussion
|
6223 |
|
|
of -mfloat-abi, -mhard-float, and -msoft-float.
|
6224 |
|
|
|
6225 |
|
|
2008-09-09 Jakub Jelinek
|
6226 |
|
|
Jan Hubicka
|
6227 |
|
|
|
6228 |
|
|
PR middle-end/37356
|
6229 |
|
|
* tree-inline.c (copy_bb): Insert stmt into copy_basic_block before
|
6230 |
|
|
calling gimple_regimplify_operands on it. Iterate over all newly
|
6231 |
|
|
added statements, not just the last one.
|
6232 |
|
|
(insert_init_stmt): Insert stmt into seq first, then call
|
6233 |
|
|
gimple_regimplify_operands on it. Don't create new gimplification
|
6234 |
|
|
context, nor find referenced vars.
|
6235 |
|
|
|
6236 |
|
|
2008-09-09 Jakub Jelinek
|
6237 |
|
|
|
6238 |
|
|
PR other/37419
|
6239 |
|
|
* ipa-prop.h (ipa_propagate_indirect_call_infos): Change last argument
|
6240 |
|
|
to pointer to vector pointer.
|
6241 |
|
|
* ipa-prop.c (ipa_propagate_indirect_call_infos,
|
6242 |
|
|
propagate_info_to_inlined_callees): Likewise.
|
6243 |
|
|
(update_call_notes_after_inlining): Likewise. Push new indirect edge
|
6244 |
|
|
to *new_edges instead of new_edges. Reread IPA_EDGE_REF after
|
6245 |
|
|
ipa_check_create_edge_args.
|
6246 |
|
|
* ipa-inline.c (cgraph_decide_recursive_inlining): Change last
|
6247 |
|
|
argument to pointer to vector pointer.
|
6248 |
|
|
(cgraph_decide_inlining_of_small_function): Adjust
|
6249 |
|
|
cgraph_decide_recursive_inlining and ipa_propagate_indirect_call_infos
|
6250 |
|
|
calls.
|
6251 |
|
|
|
6252 |
|
|
PR target/37438
|
6253 |
|
|
* config/i386/i386.md (zero_extendqihi2_movzbl): Enable when
|
6254 |
|
|
optimizing for size, not speed.
|
6255 |
|
|
|
6256 |
|
|
PR rtl-optimization/37408
|
6257 |
|
|
* function.c (assign_parm_find_stack_rtl): Set correct MEM_SIZE
|
6258 |
|
|
if parm is promoted.
|
6259 |
|
|
|
6260 |
|
|
2008-09-09 Sebastian Pop
|
6261 |
|
|
|
6262 |
|
|
PR tree-optimization/37375
|
6263 |
|
|
* tree-scalar-evolution.c (scev_info_str): Add field
|
6264 |
|
|
instantiated_below.
|
6265 |
|
|
(new_scev_info_str, eq_scev_info, find_var_scev_info,
|
6266 |
|
|
set_scalar_evolution, get_scalar_evolution, get_instantiated_value,
|
6267 |
|
|
set_instantiated_value): Pass instantiated_below.
|
6268 |
|
|
(analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls
|
6269 |
|
|
to above functions.
|
6270 |
|
|
(instantiate_scev_1, instantiate_scev): Pass a basic block above which
|
6271 |
|
|
the definitions are not instantiated.
|
6272 |
|
|
|
6273 |
|
|
* tree-scalar-evolution.h (instantiate_scev): Update declaration.
|
6274 |
|
|
(block_before_loop): New.
|
6275 |
|
|
* tree-data-ref.c (dr_analyze_indices): Update uses of
|
6276 |
|
|
instantiate_scev.
|
6277 |
|
|
* graphite.c (block_before_scop): New.
|
6278 |
|
|
(loop_affine_expr, stmt_simple_for_scop_p, harmful_stmt_in_bb): Pass a
|
6279 |
|
|
basic block, not a loop for determining the parameters.
|
6280 |
|
|
(scopdet_edge_info, build_scops_1): Do not pass outermost loop in the
|
6281 |
|
|
scop.
|
6282 |
|
|
(idx_record_params, find_params_in_bb, find_scop_parameters,
|
6283 |
|
|
build_loop_iteration_domains, add_conditions_to_domain): Update calls
|
6284 |
|
|
to instantiate_scev.
|
6285 |
|
|
|
6286 |
|
|
* Makefile.in (cfgloopmanip.o): Add missing dependency on TREE_FLOW_H.
|
6287 |
|
|
|
6288 |
|
|
2008-09-09 Vladimir Makarov
|
6289 |
|
|
|
6290 |
|
|
PR rtl-opt/37333
|
6291 |
|
|
|
6292 |
|
|
* ira-build.c (ira_create_allocno): Setup frequency to 0.
|
6293 |
|
|
|
6294 |
|
|
* ira-color.c (update_conflict_hard_regno_costs): Remove assert.
|
6295 |
|
|
Check zero freq and increase if necessary.
|
6296 |
|
|
|
6297 |
|
|
2008-09-09 Vladimir Makarov
|
6298 |
|
|
|
6299 |
|
|
* ira-conflicts.c (process_regs_for_copy): Check that the hard
|
6300 |
|
|
regno is in the right range. Add comments.
|
6301 |
|
|
|
6302 |
|
|
2008-09-09 Rainer Orth
|
6303 |
|
|
|
6304 |
|
|
* Makefile.in (mips-tfile.o-warn): Don't error out on mips-tfile.c
|
6305 |
|
|
warnings.
|
6306 |
|
|
* mips-tfile.c (copy_object): Cast alloca result to int *.
|
6307 |
|
|
* mips-tdump.c (print_symbol): Cast xmalloc return values to
|
6308 |
|
|
proper types.
|
6309 |
|
|
Rename class to sclass.
|
6310 |
|
|
(read_tfile): Cast read_seek return values to proper types.
|
6311 |
|
|
Cast xcalloc return value to proper type.
|
6312 |
|
|
|
6313 |
|
|
2008-09-09 Rainer Orth
|
6314 |
|
|
|
6315 |
|
|
* config/sol2.h (REGISTER_TARGET_PRAGMAS): Move ...
|
6316 |
|
|
* config/i386/sol2.h (REGISTER_SUBTARGET_PRAGMAS): ... here.
|
6317 |
|
|
* config/sparc/sol2.h (REGISTER_TARGET_PRAGMAS): ... and here.
|
6318 |
|
|
|
6319 |
|
|
2008-09-09 Jan Hubicka
|
6320 |
|
|
|
6321 |
|
|
* profile.c (is_edge_inconsistent): Add debug output; ignore
|
6322 |
|
|
negative count on fake edges.
|
6323 |
|
|
(is_inconsistent): Add debug output.
|
6324 |
|
|
|
6325 |
|
|
2008-09-09 Andrey Belevantsev
|
6326 |
|
|
|
6327 |
|
|
* haifa-sched.c (advance_one_cycle): Do not print '\n' before printing
|
6328 |
|
|
dump message.
|
6329 |
|
|
(choose_ready): When first insn is chosen from the ready list, also
|
6330 |
|
|
dump it.
|
6331 |
|
|
|
6332 |
|
|
2008-09-09 Andrey Belevantsev
|
6333 |
|
|
|
6334 |
|
|
PR rtl-optimization/37360
|
6335 |
|
|
* haifa-sched.c (max_issue): Do not assert that we never issue more
|
6336 |
|
|
insns than issue_rate. Add comment.
|
6337 |
|
|
|
6338 |
|
|
2008-09-09 Richard Guenther
|
6339 |
|
|
|
6340 |
|
|
* tree-cfg.c (verify_types_in_gimple_op): Remove.
|
6341 |
|
|
(verify_types_in_gimple_call): Rename to ...
|
6342 |
|
|
(verify_gimple_call): ... this. Enhance.
|
6343 |
|
|
(verify_types_in_gimple_cond): Remove.
|
6344 |
|
|
(verify_gimple_comparison): New function ...
|
6345 |
|
|
(verify_types_in_gimple_assign): ... split out from here.
|
6346 |
|
|
(verify_types_in_gimple_return): Rename to ...
|
6347 |
|
|
(verify_gimple_return): ... this. Enhance.
|
6348 |
|
|
(verify_types_in_gimple_switch): Rename to ...
|
6349 |
|
|
(verify_gimple_switch): ... this. Enhance.
|
6350 |
|
|
(verify_gimple_goto): New function.
|
6351 |
|
|
(verify_types_in_gimple_phi): Rename to ...
|
6352 |
|
|
(verify_gimple_phi): ... this. Enhance.
|
6353 |
|
|
(verify_types_in_gimple_stmt): Adjust calls to helper functions.
|
6354 |
|
|
Fold in single-statement cases from verify_types_in_gimple_seq_2.
|
6355 |
|
|
(verify_types_in_gimple_seq_2): Remove cases handled in
|
6356 |
|
|
verify_types_in_gimple_stmt.
|
6357 |
|
|
|
6358 |
|
|
2008-09-09 Bernd Schmidt
|
6359 |
|
|
|
6360 |
|
|
* config/bfin/bfin.c (n_regs_to_save): New static variable.
|
6361 |
|
|
(push_multiple_operation, pop_multiple_operation): Set it.
|
6362 |
|
|
(workaround_rts_anomaly): New function.
|
6363 |
|
|
(workaround_speculation): New function, broken out of bfin_reorg.
|
6364 |
|
|
(bfin_reorg): Call the new functions.
|
6365 |
|
|
|
6366 |
|
|
2008-09-09 Richard Guenther
|
6367 |
|
|
|
6368 |
|
|
PR middle-end/37354
|
6369 |
|
|
PR middle-end/30165
|
6370 |
|
|
* gimplify.c (gimplify_conversion): Change conversions of
|
6371 |
|
|
non-register type to VIEW_CONVERT_EXPRs.
|
6372 |
|
|
(gimplify_addr_expr): If we need to make the operand
|
6373 |
|
|
addressable make sure to use a properly initialized
|
6374 |
|
|
temporary for that so it gets a valid gimple store.
|
6375 |
|
|
|
6376 |
|
|
2008-09-09 Aldy Hernandez
|
6377 |
|
|
|
6378 |
|
|
* function.h (struct function): Add function_start_locus.
|
6379 |
|
|
* cfgexpand.c (gimple_expand_cfg): Use it.
|
6380 |
|
|
* c-parser.c (c_parser_declaration_or_fndef): Set it.
|
6381 |
|
|
|
6382 |
|
|
2008-09-09 Richard Guenther
|
6383 |
|
|
|
6384 |
|
|
PR tree-optimization/37433
|
6385 |
|
|
* tree-ssa-ccp.c (ccp_fold): Properly guard folding of
|
6386 |
|
|
function calls.
|
6387 |
|
|
|
6388 |
|
|
2008-09-09 Richard Guenther
|
6389 |
|
|
|
6390 |
|
|
PR tree-optimization/37387
|
6391 |
|
|
* tree-ssa-ifcombine.c (ifcombine_iforif): Convert the name
|
6392 |
|
|
and bits to a common type.
|
6393 |
|
|
|
6394 |
|
|
2008-09-09 Nick Clifton
|
6395 |
|
|
|
6396 |
|
|
* config/v850/v850.md (return): Restore frame size restriction.
|
6397 |
|
|
|
6398 |
|
|
2008-09-09 Paolo Bonzini
|
6399 |
|
|
|
6400 |
|
|
* c-common.c (c_expand_decl): Remove.
|
6401 |
|
|
* c-common.h (anon_aggr_type_p): Remove prototype.
|
6402 |
|
|
(DECL_ANON_UNION_ELEMS): Remove.
|
6403 |
|
|
* c-objc-common.h (LANG_HOOKS_EXPAND_DECL): Remove.
|
6404 |
|
|
* c-decl.c (anon_aggr_type_p): Remove.
|
6405 |
|
|
* langhooks-def.h (LANG_HOOKS_EXPAND_DECL): Remove.
|
6406 |
|
|
(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_EXPAND_DECL.
|
6407 |
|
|
* langhooks.h (struct lang_hooks): Remove expand_decl.
|
6408 |
|
|
* langhooks.c (lhd_expand_decl): Remove.
|
6409 |
|
|
* stmt.c (expand_anon_union_decl): Remove.
|
6410 |
|
|
* tree.h (expand_anon_union_decl): Remove prototype.
|
6411 |
|
|
|
6412 |
|
|
2008-08-09 Andy Hutchinson
|
6413 |
|
|
|
6414 |
|
|
PR target/36609
|
6415 |
|
|
* config/avr/avr.c (avr_reorg): Create RTL for reversed compare with
|
6416 |
|
|
zero.
|
6417 |
|
|
* config/avr/avr.md (QISI): Define mode iterator.
|
6418 |
|
|
(negated_tst): Redefine as split using mode macro.
|
6419 |
|
|
(reversed_tstqi): Define insn as reversed compare with zero.
|
6420 |
|
|
(reversed_tsthi): Ditto.
|
6421 |
|
|
(reversed_tstsi): Ditto.
|
6422 |
|
|
|
6423 |
|
|
2008-09-08 Jakub Jelinek
|
6424 |
|
|
|
6425 |
|
|
PR middle-end/37393
|
6426 |
|
|
* tree-inline.c (copy_bb): When replacing a gimple_call_va_arg_pack_p
|
6427 |
|
|
call stmt by new_call, clear gimple_bb on stmt after gsi_replace.
|
6428 |
|
|
|
6429 |
|
|
PR middle-end/37414
|
6430 |
|
|
* predict.c (optimize_function_for_size_p): Don't segfault if
|
6431 |
|
|
FUN is NULL.
|
6432 |
|
|
* fold-const.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop,
|
6433 |
|
|
tree_swap_operands_p): Don't test cfun != NULL before calling
|
6434 |
|
|
optimize_function_for_s*_p.
|
6435 |
|
|
|
6436 |
|
|
2008-09-08 Eric Botcazou
|
6437 |
|
|
|
6438 |
|
|
* ira-color.c (ira_reuse_stack_slot): Set slot_num on success at the
|
6439 |
|
|
end of the search.
|
6440 |
|
|
|
6441 |
|
|
2008-09-08 M R Swami Reddy
|
6442 |
|
|
|
6443 |
|
|
* crx/crx.h (IRA_COVER_CLASSES): Define.
|
6444 |
|
|
|
6445 |
|
|
2008-09-08 Jakub Jelinek
|
6446 |
|
|
|
6447 |
|
|
PR middle-end/37337
|
6448 |
|
|
* tree-ssa-dom.c (optimize_stmt): Call maybe_clean_or_replace_eh_stmt
|
6449 |
|
|
even when a stmt has been gimple_modified_p, but after fold_stmt is
|
6450 |
|
|
not any longer. Remove unneeded may_have_exposed_new_symbols
|
6451 |
|
|
initializations.
|
6452 |
|
|
|
6453 |
|
|
2008-09-08 Richard Guenther
|
6454 |
|
|
|
6455 |
|
|
PR tree-optimization/37421
|
6456 |
|
|
* tree-ssa-sccvn.c (visit_copy): Make sure to fully
|
6457 |
|
|
valueize the RHS.
|
6458 |
|
|
|
6459 |
|
|
2008-09-08 Jakub Jelinek
|
6460 |
|
|
|
6461 |
|
|
PR middle-end/37415
|
6462 |
|
|
* opts.c (common_handle_option): Handle OPT_ftree_store_ccp.
|
6463 |
|
|
|
6464 |
|
|
2008-09-08 John David Anglin
|
6465 |
|
|
|
6466 |
|
|
PR driver/37409
|
6467 |
|
|
* pa-hpux.h (LINK_SPEC): Strip -fwhole-program.
|
6468 |
|
|
* pa-hpux10.h (LINK_SPEC): Likewise.
|
6469 |
|
|
* pa-hpux11.h (LINK_SPEC): Likewise.
|
6470 |
|
|
|
6471 |
|
|
2008-09-07 John David Anglin
|
6472 |
|
|
|
6473 |
|
|
* pa32-regs.h (IRA_COVER_CLASSES): Define.
|
6474 |
|
|
* pa64-regs.h (IRA_COVER_CLASSES): Define.
|
6475 |
|
|
|
6476 |
|
|
2008-09-07 Helge Deller
|
6477 |
|
|
|
6478 |
|
|
* pa/linux-atomic.c: New file.
|
6479 |
|
|
* pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define.
|
6480 |
|
|
* pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define.
|
6481 |
|
|
|
6482 |
|
|
2008-09-07 Richard Guenther
|
6483 |
|
|
Ira Rosen
|
6484 |
|
|
|
6485 |
|
|
PR tree-optimization/36630
|
6486 |
|
|
* tree-vect-transform.c (vect_update_ivs_after_vectorizer):
|
6487 |
|
|
Call STRIP_NOPS before calling evolution_part_in_loop_num.
|
6488 |
|
|
|
6489 |
|
|
2008-09-07 Dorit Nuzman
|
6490 |
|
|
Ira Rosen
|
6491 |
|
|
|
6492 |
|
|
PR tree-optimization/35642
|
6493 |
|
|
* config/rs6000/altivec.md (mulv8hi3): Implement.
|
6494 |
|
|
|
6495 |
|
|
2008-09-06 Jeff Law
|
6496 |
|
|
|
6497 |
|
|
* h8300/h8300.h (IRA_COVER_CLASSES): Define.
|
6498 |
|
|
|
6499 |
|
|
2008-09-06 Jan Hubicka
|
6500 |
|
|
|
6501 |
|
|
PR tree-optimization/14703
|
6502 |
|
|
* tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored
|
6503 |
|
|
declarations.
|
6504 |
|
|
* passes.c (init_optimization_passes): Recompute inline parameters.
|
6505 |
|
|
|
6506 |
|
|
2008-09-06 Richard Sandiford
|
6507 |
|
|
|
6508 |
|
|
* config/mips/mips.c (mips_function_ok_for_sibcall): Check for
|
6509 |
|
|
DECL being null.
|
6510 |
|
|
|
6511 |
|
|
2008-09-06 Richard Sandiford
|
6512 |
|
|
Peter Fuerst
|
6513 |
|
|
|
6514 |
|
|
* doc/invoke.texi: Document -mr10k-cache-barrier=.
|
6515 |
|
|
* doc/extend.texi: Document __builtin_mips_cache.
|
6516 |
|
|
* config/mips/mips-ftypes.def: Add a (VOID, SI, CVPOINTER) entry.
|
6517 |
|
|
* config/mips/mips.opt (mr10k-cache-barrier=): New option.
|
6518 |
|
|
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
|
6519 |
|
|
__GCC_HAVE_BUILTIN_MIPS_CACHE.
|
6520 |
|
|
(TARGET_CACHE_BUILTIN, ISA_HAS_CACHE): New macros.
|
6521 |
|
|
* config/mips/mips.c (mips_r10k_cache_barrier_setting): New enum.
|
6522 |
|
|
(set_push_mips_isas): New variable.
|
6523 |
|
|
(mips_r10k_cache_barrier): New variable.
|
6524 |
|
|
(cache): New availability predicate.
|
6525 |
|
|
(mips_builtins): Add an entry for __builtin_mips_cache.
|
6526 |
|
|
(mips_build_cvpointer_type): New function.
|
6527 |
|
|
(MIPS_ATYPE_CVPOINTER): New macro.
|
6528 |
|
|
(mips_prepare_builtin_arg): Only use the insn's mode if the rtx's
|
6529 |
|
|
mode is VOIDmode.
|
6530 |
|
|
(r10k_simplified_address_p, r10k_simplify_address)
|
6531 |
|
|
(r10k_uncached_address_p, r10k_safe_address_p)
|
6532 |
|
|
(r10k_needs_protection_p_1, r10k_needs_protection_p_store)
|
6533 |
|
|
(r10k_needs_protection_p_call, r10k_needs_protection_p)
|
6534 |
|
|
(r10k_insert_cache_barriers): New functions.
|
6535 |
|
|
(mips_reorg_process_insns): Delete cache barriers after a
|
6536 |
|
|
branch-likely instruction.
|
6537 |
|
|
(mips_reorg): Call r10k_insert_cache_barriers.
|
6538 |
|
|
(mips_handle_option): Handle OPT_mr10k_cache_barrier_.
|
6539 |
|
|
* config/mips/mips.md (UNSPEC_MIPS_CACHE): New constant.
|
6540 |
|
|
(UNSPEC_R10K_CACHE_BARRIER): Likewise.
|
6541 |
|
|
(mips_cache, r10k_cache_barrier): New define_insns.
|
6542 |
|
|
|
6543 |
|
|
2008-09-06 Richard Sandiford
|
6544 |
|
|
|
6545 |
|
|
* ira-int.h (ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
|
6546 |
|
|
* ira-color.c (setup_allocno_left_conflicts_num): Use
|
6547 |
|
|
hard_reg_set_equal_p instead of a comparison with
|
6548 |
|
|
ira_zero_hard_reg_set.
|
6549 |
|
|
* ira.c (setup_reg_subclasses): Likewise.
|
6550 |
|
|
(setup_cover_and_important_classes): Likewise.
|
6551 |
|
|
(setup_class_translate): Likewise.
|
6552 |
|
|
(setup_reg_class_intersect_union): Likewise.
|
6553 |
|
|
(ira_zero_hard_reg_set, ira_one_hard_reg_set): Delete.
|
6554 |
|
|
(ira_init_once): Don't initialize them.
|
6555 |
|
|
|
6556 |
|
|
2008-09-05 Vladimir Makarov
|
6557 |
|
|
|
6558 |
|
|
* doc/tm.texi (IRA_COVER_CLASSES): Fix a typo.
|
6559 |
|
|
|
6560 |
|
|
2008-09-05 Vladimir Makarov
|
6561 |
|
|
|
6562 |
|
|
* ira-color.c (ira_fast_allocation): Permit global allocno allocation.
|
6563 |
|
|
|
6564 |
|
|
2008-09-05 Trevor Smigiel
|
6565 |
|
|
|
6566 |
|
|
Improved branch hints, safe hints, and scheduling.
|
6567 |
|
|
|
6568 |
|
|
* haifa-sched.c (sched_emit_insn): Define.
|
6569 |
|
|
* sched-int.h (sched_emit_insn): Add prototype.
|
6570 |
|
|
* doc/invoke.texi (-mdual-nops, -mhint-max-nops,
|
6571 |
|
|
-mhint-max-distance -msafe-hints): Document.
|
6572 |
|
|
* config/spu/spu.c (spu_flag_var_tracking): New.
|
6573 |
|
|
(TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_INIT,
|
6574 |
|
|
TARGET_SCHED_REORDER, TARGET_SCHED_REORDER2,
|
6575 |
|
|
TARGET_ASM_FILE_START): Define.
|
6576 |
|
|
(TARGET_SCHED_ADJUST_PRIORITY): Remove.
|
6577 |
|
|
(STOP_HINT_P, HINTED_P, SCHED_ON_EVEN_P): Define.
|
6578 |
|
|
(spu_emit_branch_hint): Add blocks argument.
|
6579 |
|
|
(insert_branch_hints, insert_nops): Remove.
|
6580 |
|
|
(pad_bb, insert_hbrp_for_ilb_runout, insert_hbrp, in_spu_reorg,
|
6581 |
|
|
uses_ls_unit, spu_sched_init_global, spu_sched_init,
|
6582 |
|
|
spu_sched_reorder, asm_file_start): New functions.
|
6583 |
|
|
(clock_var, spu_sched_length, pipe0_clock,
|
6584 |
|
|
pipe1_clock, prev_clock_var, prev_priority,
|
6585 |
|
|
spu_ls_first, prev_ls_clock): New static variables.
|
6586 |
|
|
* config/spu/spu.h (TARGET_DEFAULT): Add MASK_SAFE_HINTS.
|
6587 |
|
|
* config/spu.md (iprefetch): Add operand, make it clobber MEM.
|
6588 |
|
|
(nopn_nv): Add a non-volatile version of nop.
|
6589 |
|
|
* config/spu/spu.opt (-mdual-nops, -mhint-max-nops,
|
6590 |
|
|
-mhint-max-distance, -msafe-hints): New options.
|
6591 |
|
|
|
6592 |
|
|
2008-09-05 Janis Johnson
|
6593 |
|
|
Samuel Tardieu
|
6594 |
|
|
|
6595 |
|
|
* opts.c (decode_options): Combine nested if statements.
|
6596 |
|
|
|
6597 |
|
|
PR target/37283
|
6598 |
|
|
* opts.c (decode_options): Handle more relationships among
|
6599 |
|
|
unit-at-a-time, toplevel-reorder, and section-anchors.
|
6600 |
|
|
|
6601 |
|
|
2008-09-05 David Daney
|
6602 |
|
|
|
6603 |
|
|
* doc/install.texi (--enable-reduced-reflection): Document new option.
|
6604 |
|
|
|
6605 |
|
|
2008-09-05 Bob Wilson
|
6606 |
|
|
|
6607 |
|
|
* config/xtensa/predicates.md (nonimmed_operand, mem_operand): Use
|
6608 |
|
|
constantpool_mem_p.
|
6609 |
|
|
(constantpool_operand): New.
|
6610 |
|
|
(move_operand): Disallow sub-word modes for the constant pool.
|
6611 |
|
|
* config/xtensa/xtensa.c (TARGET_SECONDARY_RELOAD): Define.
|
6612 |
|
|
(xtensa_secondary_reload_class): Replace with....
|
6613 |
|
|
(xtensa_secondary_reload): this function. Remove SIGN_EXTEND check.
|
6614 |
|
|
Set icode for sub-word reloads from the constant pool.
|
6615 |
|
|
* config/xtensa/xtensa.h (SECONDARY_INPUT_RELOAD_CLASS): Delete.
|
6616 |
|
|
(SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
|
6617 |
|
|
* config/xtensa/xtensa.md (reload_literal): New.
|
6618 |
|
|
* config/xtensa/xtensa-protos.h: Update prototypes.
|
6619 |
|
|
|
6620 |
|
|
2008-09-05 Joseph Myers
|
6621 |
|
|
|
6622 |
|
|
* config/mips/mips.h (enum reg_class): Add FRAME_REGS.
|
6623 |
|
|
(REG_CLASS_NAMES): Update.
|
6624 |
|
|
(REG_CLASS_CONTENTS): Update.
|
6625 |
|
|
* config/mips/mips.c (mips_regno_to_class): Use FRAME_REGS instead
|
6626 |
|
|
of ALL_REGS for regs 77 and 78.
|
6627 |
|
|
* function.c (instantiate_virtual_regs_in_insn): Assert that
|
6628 |
|
|
return value of simplify_gen_subreg is not NULL.
|
6629 |
|
|
|
6630 |
|
|
2008-09-05 Paolo Bonzini
|
6631 |
|
|
|
6632 |
|
|
* emit-rtl.c (gen_rtvec): Rewrite not using gen_rtvec_v.
|
6633 |
|
|
(gen_rtvec_v): Fix coding standards.
|
6634 |
|
|
|
6635 |
|
|
2008-09-04 Jan Hubicka
|
6636 |
|
|
|
6637 |
|
|
* i386.c (decide_alg): Be more conservative about optimizing for size.
|
6638 |
|
|
|
6639 |
|
|
2008-09-04 Ian Lance Taylor
|
6640 |
|
|
|
6641 |
|
|
* varasm.c (narrowing_initializer_constant_valid_p): New
|
6642 |
|
|
static function.
|
6643 |
|
|
(initializer_constant_valid_p): Call it.
|
6644 |
|
|
|
6645 |
|
|
2008-09-04 Jeff Law
|
6646 |
|
|
|
6647 |
|
|
* fold-const.c (native_encode_real): Fix computation of WORDS.
|
6648 |
|
|
(native_interpret_real): Likewise.
|
6649 |
|
|
|
6650 |
|
|
2008-09-04 Janis Johnson
|
6651 |
|
|
|
6652 |
|
|
* config/rs6000/t-rs6000: Remove target gt-rs6000.h.
|
6653 |
|
|
|
6654 |
|
|
2008-09-04 Vladimir Makarov
|
6655 |
|
|
|
6656 |
|
|
* ira-conflicts.c (process_regs_for_copy): Check insn to check
|
6657 |
|
|
that the cost is already taken into account in ira-costs.c
|
6658 |
|
|
|
6659 |
|
|
* ira-int.h (ira_debug_copy, ira_debug_copies): New.
|
6660 |
|
|
|
6661 |
|
|
* ira-build.c (print_copy, print_copies, ira_debug_copy,
|
6662 |
|
|
ira_debug_copies): New.
|
6663 |
|
|
(ira_bulid): Call print_copies.
|
6664 |
|
|
|
6665 |
|
|
* doc/tm.texi (IRA_COVER_CLASSES): Fix the description.
|
6666 |
|
|
|
6667 |
|
|
2008-09-04 Samuel Tardieu
|
6668 |
|
|
|
6669 |
|
|
PR target/32783
|
6670 |
|
|
* config/rs6000/rs6000.c (optimization_options): Remove check of
|
6671 |
|
|
flag_toplevel_order.
|
6672 |
|
|
|
6673 |
|
|
2008-09-04 Adam Nemet
|
6674 |
|
|
|
6675 |
|
|
* config/mips/mips.h (ISA_HAS_SEQ_SNE): New macro.
|
6676 |
|
|
* config/mips/mips.c (mips_expand_scc): Also expand seq and sne if
|
6677 |
|
|
second operand is a reg_imm10_operand.
|
6678 |
|
|
* config/mips/mips.md (*seq__seq,
|
6679 |
|
|
*sne__sne): New patterns.
|
6680 |
|
|
(*seq_): Rename to
|
6681 |
|
|
*seq_zero_. Don't match if
|
6682 |
|
|
ISA_HAS_SEQ_SNE.
|
6683 |
|
|
(*seq__mips16): Rename to
|
6684 |
|
|
*seq_zero__mip16. Don't match if
|
6685 |
|
|
ISA_HAS_SEQ_SNE.
|
6686 |
|
|
(*sne_): Rename to
|
6687 |
|
|
*sne_zero_. Don't match if
|
6688 |
|
|
ISA_HAS_SEQ_SNE.
|
6689 |
|
|
|
6690 |
|
|
2008-09-04 Adam Nemet
|
6691 |
|
|
|
6692 |
|
|
* config/mips/mips.h (ISA_HAS_EXTS): New macro.
|
6693 |
|
|
* config/mips/mips.md (*ashr_trunc): Name the pattern
|
6694 |
|
|
combining an arithmetic right shift by more than 31 and a
|
6695 |
|
|
trunction. Don't match for out-of-range shift amounts. Set
|
6696 |
|
|
attribute mode to .
|
6697 |
|
|
(*lshr32_trunc): Name the pattern combining a logical right
|
6698 |
|
|
shift by 32 and and a truncation. Set attribute mode to .
|
6699 |
|
|
(*_trunc_exts): New pattern for truncated right
|
6700 |
|
|
shifts by less than 32.
|
6701 |
|
|
(extv): Change predicate on first operand to accept registers.
|
6702 |
|
|
Change predicate of the other operands from immediate_operand to
|
6703 |
|
|
const_int_operand. Expand exts when source is a register.
|
6704 |
|
|
(extzv): Change predicate of the constant operands from
|
6705 |
|
|
immediate_operand to const_int_operand.
|
6706 |
|
|
(extzv): Change predicate of the constant operands from
|
6707 |
|
|
immediate_operand to const_int_operand and no constraint. Also
|
6708 |
|
|
remove mode.
|
6709 |
|
|
(*extzv_trunc_exts): New pattern.
|
6710 |
|
|
|
6711 |
|
|
2008-09-04 Adam Nemet
|
6712 |
|
|
|
6713 |
|
|
* config/mips/mips.h (ISA_HAS_CINS): New macro.
|
6714 |
|
|
* config/mips/mips-protos.h (mask_low_and_shift_p,
|
6715 |
|
|
mask_low_and_shift_len): Declare.
|
6716 |
|
|
* config/mips/mips.c (mask_low_and_shift_p,
|
6717 |
|
|
mask_low_and_shift_len): New functions.
|
6718 |
|
|
(mips_print_operand): Handle new operand prefix "m".
|
6719 |
|
|
* config/mips/mips.md (*cins): New pattern.
|
6720 |
|
|
|
6721 |
|
|
2008-09-04 Bernd Schmidt
|
6722 |
|
|
|
6723 |
|
|
* config/bfin/bfin.c (gen_one_bundle): Don't create new nops when
|
6724 |
|
|
optimizing for size.
|
6725 |
|
|
|
6726 |
|
|
2008-09-04 Richard Sandiford
|
6727 |
|
|
|
6728 |
|
|
* df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM
|
6729 |
|
|
regardless of epilogue_completed.
|
6730 |
|
|
|
6731 |
|
|
2008-09-04 Vladimir Makarov
|
6732 |
|
|
|
6733 |
|
|
PR middle-end/37359
|
6734 |
|
|
* ira-lives.c (process_bb_node_lives): Check setjmp.
|
6735 |
|
|
|
6736 |
|
|
2008-09-04 Richard Sandiford
|
6737 |
|
|
|
6738 |
|
|
PR middle-end/37243
|
6739 |
|
|
* ira-build.c (form_loop_tree): Reverse BB walk.
|
6740 |
|
|
(create_bb_allocnos): Likewise.
|
6741 |
|
|
* ira-lives.c (make_regno_born_and_dead, regs_set): Delete.
|
6742 |
|
|
(mark_reg_store): Rename to...
|
6743 |
|
|
(mark_ref_live): ...this and take a df_ref argument instead of
|
6744 |
|
|
note_stores arguments. Assert that we have a register.
|
6745 |
|
|
(mark_reg_clobber): Delete.
|
6746 |
|
|
(def_conflicts_with_inputs_p): New function.
|
6747 |
|
|
(mark_reg_conflicts): Delete.
|
6748 |
|
|
(mark_reg_death): Rename to...
|
6749 |
|
|
(mark_ref_dead): ...this and take a df_ref argument instead of
|
6750 |
|
|
a register. Assert that we have a register.
|
6751 |
|
|
(process_bb_node_lives): Hoist frequency calculation out of
|
6752 |
|
|
instruction walk. Convert from a forwards scan to a backwards scan.
|
6753 |
|
|
Use DF_REF_USES and DF_REF_DEFS instead of register notes and
|
6754 |
|
|
note_stores. Remove EH_RETURN_DATA_REGNO and regs_set handling.
|
6755 |
|
|
(create_allocno_live_ranges): Don't create regs_set.
|
6756 |
|
|
|
6757 |
|
|
2008-09-04 Ian Lance Taylor
|
6758 |
|
|
|
6759 |
|
|
* rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND
|
6760 |
|
|
or REG_LABEL_TARGET.
|
6761 |
|
|
* calls.c (emit_library_call_value_1): Use MEM_P rather than
|
6762 |
|
|
comparing MODE with MEM.
|
6763 |
|
|
* gimple.c (gimple_build_predict): Cast END_PREDICTORS before
|
6764 |
|
|
comparing with GF_PREDICT_TAKEN.
|
6765 |
|
|
(gimple_get_lhs): Change code to enum gimple_code.
|
6766 |
|
|
(gimple_set_lhs): Likewise.
|
6767 |
|
|
* ifcvt.c (noce_process_if_block): Correct GET_MODE to GET_CODE.
|
6768 |
|
|
* omp-low.c (find_omp_clause): Change kind parameter to enum
|
6769 |
|
|
omp_clause_code.
|
6770 |
|
|
* tree-flow.h (find_omp_clause): Update declaration.
|
6771 |
|
|
* regrename.c (clear_dead_regs): Change kind parameter to enum
|
6772 |
|
|
reg_note.
|
6773 |
|
|
* reload1.c (eliminate_regs_1): Use REG_NOTE_KIND rather than
|
6774 |
|
|
GET_MODE.
|
6775 |
|
|
* see.c (see_get_extension_data): Change return type to enum
|
6776 |
|
|
entry_type. Change UNKNOWN to NOT_RELEVANT, SIGN_EXTEND to
|
6777 |
|
|
SIGNED_EXTENDED_DEF, ZERO_EXTEND to ZERO_EXTENDED_DEF.
|
6778 |
|
|
(see_gen_normalized_extension): Change extension_code parameter to
|
6779 |
|
|
enum entry_type.
|
6780 |
|
|
(see_seek_pre_extension_expr): Change extension_code to enum
|
6781 |
|
|
entry_type.
|
6782 |
|
|
(see_merge_one_def_extension): Likewise.
|
6783 |
|
|
(see_handle_relevant_defs): Likewise.
|
6784 |
|
|
(see_handle_relevant_uses): Likewise.
|
6785 |
|
|
(see_analyze_one_def): Likewise.
|
6786 |
|
|
* tree-cfg.c (need_fake_edge_p): Compare gimple code with
|
6787 |
|
|
GIMPLE_ASM rather than ASM_EXPR.
|
6788 |
|
|
* tree-ssa-alias.c (is_escape_site): Compare gimple code with
|
6789 |
|
|
GIMPLE_RETURN rather than RETURN_EXPR.
|
6790 |
|
|
* tree-ssa-ccp.c (likely_value): Change code to enum gimple_code.
|
6791 |
|
|
(evaluate_stmt): Likewise.
|
6792 |
|
|
* tree-vect-analyze.c (vect_analyze_operations): Change relevance
|
6793 |
|
|
to enum vect_relevant.
|
6794 |
|
|
(vect_mark_stmts_to_be_vectorized): Change assertion to not
|
6795 |
|
|
compare gimple codes with tree codes.
|
6796 |
|
|
|
6797 |
|
|
2008-09-04 Paul Brook
|
6798 |
|
|
|
6799 |
|
|
* config/arm/arm.c (arm_size_rtx_costs): Call cost function.
|
6800 |
|
|
|
6801 |
|
|
2008-09-04 Bernd Schmidt
|
6802 |
|
|
|
6803 |
|
|
* config/bfin/bfin.c (bfin_function_ok_for_sibcall): Restore a null
|
6804 |
|
|
pointer check lost in the recent no-unit-at-a-time patch.
|
6805 |
|
|
|
6806 |
|
|
2008-09-04 Jan Hubicka
|
6807 |
|
|
|
6808 |
|
|
PR middle-end/37343
|
6809 |
|
|
* tree-switch-conversion.c (check_final_bb): Accept only IP
|
6810 |
|
|
invariants.
|
6811 |
|
|
|
6812 |
|
|
2008-09-04 Jan Hubicka
|
6813 |
|
|
|
6814 |
|
|
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
|
6815 |
|
|
Break out from ...
|
6816 |
|
|
(vrp_evaluate_conditional_warnv_with_ops): ... this one. Add
|
6817 |
|
|
using_ranges argument.
|
6818 |
|
|
(vrp_evaluate_conditional): Avoid bogus warning for type range.
|
6819 |
|
|
(vrp_visit_cond_stmt): Update call of
|
6820 |
|
|
vrp_evaluate_conditional_warnv_with_ops
|
6821 |
|
|
|
6822 |
|
|
2008-09-04 Jan Hubicka
|
6823 |
|
|
|
6824 |
|
|
PR tree-optimization/37345
|
6825 |
|
|
PR tree-optimization/37358
|
6826 |
|
|
PR tree-optimization/37357
|
6827 |
|
|
* tree.c (build_function_type_skip_args): Build distinct type copy;
|
6828 |
|
|
set TYPE_CONTEXT.
|
6829 |
|
|
(build_function_decl_skip_args): Set type of new decl not orig decl;
|
6830 |
|
|
clear DECL_VINDEX for methods turned into functions.
|
6831 |
|
|
|
6832 |
|
|
2008-09-04 Nick Clifton
|
6833 |
|
|
|
6834 |
|
|
* configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check.
|
6835 |
|
|
* configure: Regenerate.
|
6836 |
|
|
* config.in: Regenerate.
|
6837 |
|
|
* config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an
|
6838 |
|
|
alignment field, if it is supported.
|
6839 |
|
|
|
6840 |
|
|
2008-09-04 Kai Tietz
|
6841 |
|
|
|
6842 |
|
|
* config/i386/t-mingw32 (SHLIB_LC): Change order of import
|
6843 |
|
|
libraries.
|
6844 |
|
|
|
6845 |
|
|
2008-09-03 David Edelsohn
|
6846 |
|
|
|
6847 |
|
|
* config/rs6000/rs6000.c (processor_target_table): Do not
|
6848 |
|
|
enable VMX for POWER6.
|
6849 |
|
|
|
6850 |
|
|
2008-09-03 Anton Blanchard
|
6851 |
|
|
|
6852 |
|
|
* config/rs6000/rs6000.c (rs6000_split_lock_test_and_set): Do not
|
6853 |
|
|
emit memory barrier before operation.
|
6854 |
|
|
|
6855 |
|
|
2008-09-03 John David Anglin
|
6856 |
|
|
|
6857 |
|
|
PR testsuite/37325
|
6858 |
|
|
* config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL_REAL): Call
|
6859 |
|
|
default_elf_asm_output_external.
|
6860 |
|
|
|
6861 |
|
|
2008-09-03 Jeff Law
|
6862 |
|
|
|
6863 |
|
|
* h8300.c (expand_a_shift): Avoid invalid RTL sharing.
|
6864 |
|
|
|
6865 |
|
|
2008-09-03 Richard Henderson
|
6866 |
|
|
|
6867 |
|
|
* config/alpha/alpha.c (alpha_split_lock_test_and_set): Move
|
6868 |
|
|
memory barrier to below the test-and-set.
|
6869 |
|
|
(alpha_split_lock_test_and_set_12): Likewise.
|
6870 |
|
|
|
6871 |
|
|
2008-09-03 Vladimir Makarov
|
6872 |
|
|
|
6873 |
|
|
PR rtl-opt/37243
|
6874 |
|
|
|
6875 |
|
|
* ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
|
6876 |
|
|
all_allocnos.
|
6877 |
|
|
|
6878 |
|
|
* ira-color.c (print_loop_title): Use all_allocnos.
|
6879 |
|
|
(color_pass): Ditto. Don't add border_allocnos. Check that
|
6880 |
|
|
subloop allocno in the correspdoning bitmap all_allocnos.
|
6881 |
|
|
|
6882 |
|
|
* ira-emit.c (change_loop): Use all_allocnos.
|
6883 |
|
|
|
6884 |
|
|
* ira-build.c (create_loop_tree_nodes, finish_loop_tree_node): Ditto.
|
6885 |
|
|
(ira_create_allocno): Set up all_allocnos bit for the created allocno.
|
6886 |
|
|
(create_cap_allocno): Remove setting mentioned_allocnos.
|
6887 |
|
|
(create_insn_allocnos): Ditto.
|
6888 |
|
|
(remove_unnecessary_allocnos): Use all_allocnos.
|
6889 |
|
|
(check_allocno_creation): Check that allocnos are in the
|
6890 |
|
|
corresponding bitmap all_allocnos.
|
6891 |
|
|
|
6892 |
|
|
2008-09-03 Vladimir Makarov
|
6893 |
|
|
|
6894 |
|
|
PR rtl-opt/37243
|
6895 |
|
|
|
6896 |
|
|
* ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
|
6897 |
|
|
(process_regs_for_copy): Process subregs. Refine check when cost
|
6898 |
|
|
is taken into account in ira-costs.c.
|
6899 |
|
|
(process_reg_shuffles): Use REG_SUBREG_P.
|
6900 |
|
|
(add_insn_allocno_copies): Ditto. Ignore modes.
|
6901 |
|
|
|
6902 |
|
|
* ira-color.c (conflict_allocno_vec): New.
|
6903 |
|
|
(COST_HOP_DIVISOR): New macro.
|
6904 |
|
|
(update_copy_costs_1): Use it.
|
6905 |
|
|
(update_conflict_hard_regno_costs): New function.
|
6906 |
|
|
(assign_hard_reg): Use it.
|
6907 |
|
|
(ira_color): Allocate and free conflict_allocno_vec.
|
6908 |
|
|
|
6909 |
|
|
2008-09-03 Vladimir Makarov
|
6910 |
|
|
|
6911 |
|
|
PR rtl-opt/37296
|
6912 |
|
|
|
6913 |
|
|
* ira-int.h (ira_sort_insn_chain): Remove.
|
6914 |
|
|
|
6915 |
|
|
* ira.c (basic_block_order_nums, chain_insn_order,
|
6916 |
|
|
chain_freq_compare, chain_bb_compare, ira_sort_insn_chain): Remove.
|
6917 |
|
|
(ira): Don't call ira_sort_insn_chain.
|
6918 |
|
|
|
6919 |
|
|
* reload1.c (reload): Don't call ira_sort_insn_chain.
|
6920 |
|
|
|
6921 |
|
|
2008-09-03 Andrew Pinski
|
6922 |
|
|
|
6923 |
|
|
PR middle-end/37293
|
6924 |
|
|
* cgraphunit.c (update_call_expr): Remove eh regions from statements
|
6925 |
|
|
which become non throw.
|
6926 |
|
|
(cgraph_function_versioning): Also clear DECL_WEAK. Call
|
6927 |
|
|
update_call_expr after updating the flags on the decl.
|
6928 |
|
|
|
6929 |
|
|
2008-09-03 Jan Hubicka
|
6930 |
|
|
|
6931 |
|
|
PR tree-optimization/37315
|
6932 |
|
|
* cgraph.c (cgraph_create_edge): Use gimple_has_body_p.
|
6933 |
|
|
* cgraphunit.c (verify_cgraph_node): drop gimple_body check.
|
6934 |
|
|
(cgraph_analyze_functions): Use node->analyzed
|
6935 |
|
|
(cgraph_mark_functions_to_output): Likewise.
|
6936 |
|
|
(cgraph_expand_function): All functions can be released after
|
6937 |
|
|
expanding.
|
6938 |
|
|
(cgraph_optimize): Use gimple_has_body_p.
|
6939 |
|
|
* ipa-inline.c (cgraph_clone_inlined_nodes): Use analyzed flag.
|
6940 |
|
|
(cgraph_decide_inlining_incrementally): Likewise.
|
6941 |
|
|
(inline_transform): Inline transform.
|
6942 |
|
|
* tree-inline.c (initialize_cfun): Do now shallow copy structure;
|
6943 |
|
|
copy fields needed.
|
6944 |
|
|
(inlinable_function_p): Drop gimple_body check.
|
6945 |
|
|
(expand_call_inline): Use gimple_has_body_p.
|
6946 |
|
|
* gimple.c (gimple_has_body_p): New.
|
6947 |
|
|
* gimple.h (gimple_has_body_p): Add prototype.
|
6948 |
|
|
* tree-cfg.c (execute_build_cfg): Remove gimple_body.
|
6949 |
|
|
(dump_function_to_file): Use gimple_has_body_p check.
|
6950 |
|
|
|
6951 |
|
|
2008-09-03 Jakub Jelinek
|
6952 |
|
|
|
6953 |
|
|
PR c++/37346
|
6954 |
|
|
* gimple.h (gimple_has_substatements): GIMPLE_OMP_CRITICAL has
|
6955 |
|
|
substatements.
|
6956 |
|
|
* tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_CRITICAL.
|
6957 |
|
|
|
6958 |
|
|
2008-09-03 Bernd Schmidt
|
6959 |
|
|
|
6960 |
|
|
From Michael Frysinger
|
6961 |
|
|
* config/bfin/bfin.c (bfin_cpus[]): Add 0.1 for bf522, bf523, bf524,
|
6962 |
|
|
bf525, bf526, bf527, bf542, bf544, bf547, bf548, and bf549. Add 0.2
|
6963 |
|
|
for bf538.
|
6964 |
|
|
|
6965 |
|
|
2008-09-03 Hari Sandanagobalane
|
6966 |
|
|
|
6967 |
|
|
Add picoChip port.
|
6968 |
|
|
* doc/extend.texi: Document picoChip builtin functions.
|
6969 |
|
|
* doc/invoke.texi: Document picoChip options.
|
6970 |
|
|
* doc/contrib.texi: Add picoChip contribution.
|
6971 |
|
|
* doc/md.texi: Document picoChip constraints.
|
6972 |
|
|
* config.gcc: Add picochip-*-*.
|
6973 |
|
|
* config/picochip/: Add new port.
|
6974 |
|
|
|
6975 |
|
|
2008-09-03 Richard Guenther
|
6976 |
|
|
|
6977 |
|
|
PR tree-optimization/37328
|
6978 |
|
|
* tree-sra.c (sra_build_assignment): Gimplify properly.
|
6979 |
|
|
(generate_copy_inout): Take the correct stmt as definition,
|
6980 |
|
|
remove bogus assert.
|
6981 |
|
|
|
6982 |
|
|
2008-09-03 Bernd Schmidt
|
6983 |
|
|
|
6984 |
|
|
* config/bfin/bfin.c (bfin_expand_prologue): Honour no_stack_limit
|
6985 |
|
|
attributes.
|
6986 |
|
|
|
6987 |
|
|
From Michael Frysinger
|
6988 |
|
|
* config/bfin/bfin.c (bfin_handle_option): Remove BF561 warning.
|
6989 |
|
|
|
6990 |
|
|
2008-09-03 Danny Smith
|
6991 |
|
|
|
6992 |
|
|
* gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined.
|
6993 |
|
|
(__gthread_setspecific): Revert 2008-08-31 change to
|
6994 |
|
|
__GTHREAD_HIDE_W32API case. Apply it to !__GTHREAD_HIDE_W32API case.
|
6995 |
|
|
|
6996 |
|
|
2008-09-02 Aldy Hernandez
|
6997 |
|
|
|
6998 |
|
|
* diagnostic.c (error_at): New.
|
6999 |
|
|
* toplev.h (error_at): New prototype.
|
7000 |
|
|
* c-typeck.c (build_array_ref): Call error_at instead of error.
|
7001 |
|
|
Pass location to pedwarn.
|
7002 |
|
|
|
7003 |
|
|
2008-09-02 Adam Nemet
|
7004 |
|
|
|
7005 |
|
|
* sel-sched.c (sel_hard_regno_rename_ok): Mark arguments unused.
|
7006 |
|
|
|
7007 |
|
|
2008-09-02 Jakub Jelinek
|
7008 |
|
|
|
7009 |
|
|
* dwarf2out.c (tree_add_const_value_attribute): Only handle
|
7010 |
|
|
VAR_DECL and CONST_DECL.
|
7011 |
|
|
|
7012 |
|
|
2008-09-02 H.J. Lu
|
7013 |
|
|
Jakub Jelinek
|
7014 |
|
|
|
7015 |
|
|
* config/i386/i386.c (X86_64_VARARGS_SIZE): Removed.
|
7016 |
|
|
(setup_incoming_varargs_64): Assume cum != NULL. Set/check
|
7017 |
|
|
ix86_varargs_gpr_size and ix86_varargs_fpr_size. Use
|
7018 |
|
|
ix86_varargs_gpr_size instead of X86_64_REGPARM_MAX.
|
7019 |
|
|
Don't set ix86_save_varrargs_registers.
|
7020 |
|
|
(ix86_setup_incoming_varargs): Assume cum != NULL.
|
7021 |
|
|
(ix86_va_start): Check ix86_varargs_gpr_size and
|
7022 |
|
|
ix86_varargs_fpr_size instead of cfun->va_list_gpr_size and
|
7023 |
|
|
cfun->va_list_fpr_size, respectively. Subtract 8*X86_64_REGPARM_MAX
|
7024 |
|
|
from frame pointer if ix86_varargs_gpr_size == 0.
|
7025 |
|
|
(ix86_compute_frame_layout): Updated.
|
7026 |
|
|
* config/i386/i386.h (ix86_save_varrargs_registers): Removed.
|
7027 |
|
|
(ix86_varargs_gpr_size): Define.
|
7028 |
|
|
(ix86_varargs_fpr_size): Likewise.
|
7029 |
|
|
(machine_function): Remove save_varrargs_registers.
|
7030 |
|
|
Add varargs_gpr_size and varargs_fpr_size.
|
7031 |
|
|
|
7032 |
|
|
2008-09-02 Jakub Jelinek
|
7033 |
|
|
|
7034 |
|
|
* config/alpha/alpha.c (va_list_skip_additions,
|
7035 |
|
|
alpha_stdarg_optimize_hook, alpha_gimplify_va_arg_1): Tuplify.
|
7036 |
|
|
(alpha_gimplify_va_arg): Call unshare_expr on second use of
|
7037 |
|
|
offset_field.
|
7038 |
|
|
|
7039 |
|
|
PR tree-optimization/36766
|
7040 |
|
|
* tree-cfg.c (gimple_purge_all_dead_eh_edges): Do nothing
|
7041 |
|
|
for already removed basic blocks.
|
7042 |
|
|
|
7043 |
|
|
PR target/36332
|
7044 |
|
|
* real.c (real_maxval): Clear a lower bit to make real_maxval
|
7045 |
|
|
match get_max_float for IBM long double format.
|
7046 |
|
|
|
7047 |
|
|
2008-09-02 Andreas Schwab
|
7048 |
|
|
|
7049 |
|
|
* configure.ac: Use m4_quote to quote the expansion of m4_do.
|
7050 |
|
|
* configure: Regenerate.
|
7051 |
|
|
|
7052 |
|
|
2008-09-02 Richard Sandiford
|
7053 |
|
|
|
7054 |
|
|
* simplify-rtx.c (simplify_binary_operation_1): Check for CONST,
|
7055 |
|
|
SYMBOL_REF and LABEL_REF when applying plus_constant, instead of
|
7056 |
|
|
checking for a non-VOID CONSTANT_P.
|
7057 |
|
|
|
7058 |
|
|
2008-09-02 Jan Hubicka
|
7059 |
|
|
|
7060 |
|
|
* predict.c (pass_strip_predict_hints): Avoid bugs dump file.
|
7061 |
|
|
* expmed.c (expand_divmod): Fix test of smod_pow2_cheap and
|
7062 |
|
|
sdiv_pow2_cheap
|
7063 |
|
|
|
7064 |
|
|
2008-09-02 H.J. Lu
|
7065 |
|
|
|
7066 |
|
|
* expr.c (emit_group_store): Don't assert stack temp mode size.
|
7067 |
|
|
|
7068 |
|
|
2008-09-02 Sebastian Pop
|
7069 |
|
|
Tobias Grosser
|
7070 |
|
|
Jan Sjodin
|
7071 |
|
|
Harsha Jagasia
|
7072 |
|
|
Dwarakanath Rajagopal
|
7073 |
|
|
Konrad Trifunovic
|
7074 |
|
|
Adrien Eliche
|
7075 |
|
|
|
7076 |
|
|
Merge from graphite branch.
|
7077 |
|
|
* graphite.c: New.
|
7078 |
|
|
* graphite.h: New.
|
7079 |
|
|
* tree-loop-linear.c (perfect_loop_nest_depth): Export.
|
7080 |
|
|
* doc/invoke.texi (-floop-block, -floop-interchange,
|
7081 |
|
|
-floop-strip-mine): Document new flags.
|
7082 |
|
|
* tree-into-ssa.c (gimple_vec): Moved...
|
7083 |
|
|
* tree-loop-distribution.c (rdg_component): Moved...
|
7084 |
|
|
* cfgloopmanip.c: Include tree-flow.h.
|
7085 |
|
|
(update_dominators_in_loop): New.
|
7086 |
|
|
(create_empty_if_region_on_edge): New.
|
7087 |
|
|
(create_empty_loop_on_edge): New.
|
7088 |
|
|
(loopify): Use update_dominators_in_loop.
|
7089 |
|
|
* tree-pass.h (pass_graphite_transforms): Declared.
|
7090 |
|
|
* configure: Regenerate.
|
7091 |
|
|
* tree-phinodes.c (make_phi_node): Export.
|
7092 |
|
|
(add_phi_node_to_bb): New, split from create_phi_node.
|
7093 |
|
|
* tree-chrec.c (for_each_scev_op): New.
|
7094 |
|
|
* tree-chrec.h (for_each_scev_op): Declared.
|
7095 |
|
|
* tree-ssa-loop-ivopts.c (get_phi_with_result): New.
|
7096 |
|
|
(remove_statement): Call get_phi_with_result.
|
7097 |
|
|
* config.in (HAVE_cloog): Undef.
|
7098 |
|
|
* gdbinit.in (pgg): New.
|
7099 |
|
|
* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
|
7100 |
|
|
* tree-ssa-loop.c (graphite_transforms): New.
|
7101 |
|
|
(gate_graphite_transforms): New.
|
7102 |
|
|
(pass_graphite_transforms): New.
|
7103 |
|
|
* configure.ac (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC,
|
7104 |
|
|
HAVE_cloog): Defined.
|
7105 |
|
|
* tree-vectorizer.c (rename_variables_in_bb): Export.
|
7106 |
|
|
* tree-data-ref.c (dr_may_alias_p): Export.
|
7107 |
|
|
(stmt_simple_memref_p): New.
|
7108 |
|
|
(find_data_references_in_stmt): Export.
|
7109 |
|
|
(find_data_references_in_loop): Export.
|
7110 |
|
|
(create_rdg_edge_for_ddr): Initialize RDGE_RELATION.
|
7111 |
|
|
(create_rdg_edges_for_scalar): Initialize RDGE_RELATION.
|
7112 |
|
|
(create_rdg_vertices): Export.
|
7113 |
|
|
(build_empty_rdg): New.
|
7114 |
|
|
(build_rdg): Call build_empty_rdg. Free dependence_relations.
|
7115 |
|
|
* tree-data-ref.h (rdg_component): ... here.
|
7116 |
|
|
(scop_p): New.
|
7117 |
|
|
(struct data_reference): Add a field scop.
|
7118 |
|
|
(DR_SCOP): New.
|
7119 |
|
|
(find_data_references_in_loop): Declared.
|
7120 |
|
|
(find_data_references_in_stmt): Declared.
|
7121 |
|
|
(create_rdg_vertices): Declared.
|
7122 |
|
|
(dr_may_alias_p): Declared.
|
7123 |
|
|
(stmt_simple_memref_p): Declared.
|
7124 |
|
|
(struct rdg_edge): Add a field ddr_p relation.
|
7125 |
|
|
(build_empty_rdg): Declared.
|
7126 |
|
|
* lambda.h (lambda_matrix): Declare a VEC of.
|
7127 |
|
|
(find_induction_var_from_exit_cond): Declared.
|
7128 |
|
|
(lambda_vector_compare): New.
|
7129 |
|
|
* common.opt (fgraphite, floop-strip-mine,
|
7130 |
|
|
floop-interchange, floop-block): New flags.
|
7131 |
|
|
* lambda-code.c (find_induction_var_from_exit_cond): Export.
|
7132 |
|
|
* cfgloop.c (is_loop_exit): New.
|
7133 |
|
|
* cfgloop.h (is_loop_exit): Declared.
|
7134 |
|
|
(create_empty_if_region_on_edge): Declared.
|
7135 |
|
|
(create_empty_loop_on_edge): Declared.
|
7136 |
|
|
* tree-flow.h (add_phi_node_to_bb): Declared.
|
7137 |
|
|
(make_phi_node): Declared.
|
7138 |
|
|
(rename_variables_in_bb): Declared.
|
7139 |
|
|
(perfect_loop_nest_depth): Declared.
|
7140 |
|
|
(graphite_transform_loops): Declared.
|
7141 |
|
|
* Makefile.in (cfgloopmanip.o): Depend on TREE_FLOW_H.
|
7142 |
|
|
(graphite.o-warn): Add -Wno-error.
|
7143 |
|
|
(PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): Declared.
|
7144 |
|
|
(LIBS): Add GMPLIBS, CLOOGLIBS, PPLLIBS.
|
7145 |
|
|
(INCLUDES): Add PPLINC, CLOOGINC.
|
7146 |
|
|
(OBJS-common): Add graphite.o.
|
7147 |
|
|
(graphite.o): Add rule.
|
7148 |
|
|
* gimple.h (gimple_vec): ... here.
|
7149 |
|
|
* tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
|
7150 |
|
|
* passes.c (init_optimization_passes): Schedule
|
7151 |
|
|
pass_graphite_transforms.
|
7152 |
|
|
|
7153 |
|
|
2008-09-02 Samuel Tardieu
|
7154 |
|
|
|
7155 |
|
|
PR target/37283
|
7156 |
|
|
* opts.c (decode_options): Move processing of -fno-unit-at-a-time
|
7157 |
|
|
and -fno-toplevel-reorder after handle_options.
|
7158 |
|
|
|
7159 |
|
|
2008-09-02 Paul Brook
|
7160 |
|
|
|
7161 |
|
|
* config/arm/arm.c (arm_tune_cortex_a9): Define.
|
7162 |
|
|
(arm_override_options): Set arm_tune_cortex_a9.
|
7163 |
|
|
(arm_rtx_costs_1): Make register shifts more expensive on Cortex-A9.
|
7164 |
|
|
(arm_issue_rate): Handle cortexa9.
|
7165 |
|
|
* config/arm/arm.h (arm_tune_cortex_a9): Declare.
|
7166 |
|
|
* config/arm/arm-cores.def: Add cortex-a9.
|
7167 |
|
|
* config/arm/arm-tune.md: Regenerate.
|
7168 |
|
|
* config/arm/arm.md: Include cortex-a9.md.
|
7169 |
|
|
(generic_sched, generic_vfp): Add cortexa9.
|
7170 |
|
|
* config/arm/cortex-a9.md: New file.
|
7171 |
|
|
|
7172 |
|
|
2008-09-02 Richard Guenther
|
7173 |
|
|
|
7174 |
|
|
PR tree-optimization/37327
|
7175 |
|
|
* tree-vrp.c (register_new_assert_for): Make sure to not have
|
7176 |
|
|
TREE_OVERFLOW set on the bound.
|
7177 |
|
|
|
7178 |
|
|
2008-09-02 Alexander Monakov
|
7179 |
|
|
|
7180 |
|
|
Fixed typo in date of the 2008-09-01 MOVE_RATIO commit.
|
7181 |
|
|
|
7182 |
|
|
* config/ia64/ia64.opt (msched-ar-data-spec): Default to 1.
|
7183 |
|
|
* config/ia64/ia64.c (ia64_set_sched_flags): Always initialize
|
7184 |
|
|
spec_info->mask.
|
7185 |
|
|
|
7186 |
|
|
2008-09-02 Victor Kaplansky
|
7187 |
|
|
|
7188 |
|
|
* gcc/config/spu/spu.md (divdf3): Removed.
|
7189 |
|
|
|
7190 |
|
|
2008-09-02 Jakub Jelinek
|
7191 |
|
|
|
7192 |
|
|
PR tree-optimization/37095
|
7193 |
|
|
* cgraph.c (cgraph_node): When creating new cgraph node after
|
7194 |
|
|
assembler_name_hash has been populated, record it in the hash
|
7195 |
|
|
table.
|
7196 |
|
|
|
7197 |
|
|
2008-09-01 Paul Brook
|
7198 |
|
|
|
7199 |
|
|
* doc/invoke.texi: Document -mword-relocations.
|
7200 |
|
|
* config/arm/uclinux-elf.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
|
7201 |
|
|
* config/arm/symbian.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
|
7202 |
|
|
* config/arm/vxworks.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
|
7203 |
|
|
* config/arm/arm.c (arm_split_constant): Use arm_emit_movpair.
|
7204 |
|
|
(arm_rtx_costs_1, arm_size_rtx_costs): Handle HIGH and LO_SUM.
|
7205 |
|
|
(arm_emit_movpair): New function.
|
7206 |
|
|
(arm_print_operand ): Handle sybolic addresses.
|
7207 |
|
|
* config/arm/arm.h (TARGET_USE_MOVT): Define.
|
7208 |
|
|
(TARGET_DEFAULT_WORD_RELOCATIONS): Define.
|
7209 |
|
|
* config/arm/arm-protos.h (arm_emit_movpair): Add prototype.
|
7210 |
|
|
* config/arm/arm.opt: Add -mword-relocations.
|
7211 |
|
|
* config/arm/arm.md (movsi): Use arm_emit_movpair.
|
7212 |
|
|
(arm_movt, arm_movw): New.
|
7213 |
|
|
|
7214 |
|
|
2008-09-01 Paul Brook
|
7215 |
|
|
|
7216 |
|
|
* config/arm/arm.c (arm_override_options): Set arm_abi earlier.
|
7217 |
|
|
Allow Interworking on ARMv4 EABI based targets.
|
7218 |
|
|
* config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Define.
|
7219 |
|
|
(SUBTARGET_EXTRA_ASM_SPEC, LINK_SPEC): Add TARGET_FIX_V4BX_SPEC.
|
7220 |
|
|
|
7221 |
|
|
2008-09-01 Paul Brook
|
7222 |
|
|
|
7223 |
|
|
* config/arm/thumb2.md (thumb2_negscc): Match the correct operand for
|
7224 |
|
|
optimized LT0 test. Remove optimization for GT.
|
7225 |
|
|
|
7226 |
|
|
2008-09-01 John David Anglin
|
7227 |
|
|
|
7228 |
|
|
* pa64-hpux.h (LIB_SPEC): Link against librt when building static
|
7229 |
|
|
openmp applications.
|
7230 |
|
|
* pa-hpux11.h (LIB_SPEC): Likewise.
|
7231 |
|
|
|
7232 |
|
|
* ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS
|
7233 |
|
|
is defined.
|
7234 |
|
|
|
7235 |
|
|
2008-09-01 Jan Hubicka
|
7236 |
|
|
|
7237 |
|
|
* predict.c (maybe_hot_count_p, maybe_hot_edge_p): When profile is
|
7238 |
|
|
present, use only counts; when guessed use only frequencies.
|
7239 |
|
|
(estimate_bb_frequencies): Use function_frequency.
|
7240 |
|
|
* profile.c (compute_branch_probabilities): Exit early when
|
7241 |
|
|
profile reading failed. Set profile_status.
|
7242 |
|
|
(branch_prob): Do not set profile_status.
|
7243 |
|
|
|
7244 |
|
|
2008-09-01 Aldy Hernandez
|
7245 |
|
|
|
7246 |
|
|
* tree.c (protected_set_expr_location): New.
|
7247 |
|
|
* tree.h (protected_set_expr_location): New prototype.
|
7248 |
|
|
* c-tree.h (build_array_ref): Add argument.
|
7249 |
|
|
(parser_build_unary_op): Same.
|
7250 |
|
|
* c-typeck.c (build_indirect_ref): Handle new location argument.
|
7251 |
|
|
(build_array_ref): Same.
|
7252 |
|
|
(parser_build_unary_op): Same.
|
7253 |
|
|
* gimplify.c (gimplify_asm_expr): Set input_location before calling
|
7254 |
|
|
error.
|
7255 |
|
|
* c-omp.c (c_finish_omp_atomic): Pass location when calling
|
7256 |
|
|
build_indirect_ref.
|
7257 |
|
|
* c-common.c (finish_label_address_expr): Handle new location argument.
|
7258 |
|
|
* c-common.h (build_indirect_ref): Add argument.
|
7259 |
|
|
(finish_label_address_expr): Same.
|
7260 |
|
|
* c-parser.c (c_parser_unary_expression): Pass location to build
|
7261 |
|
|
functions.
|
7262 |
|
|
(c_parser_postfix_expression): Same.
|
7263 |
|
|
|
7264 |
|
|
2008-09-01 Paul Brook
|
7265 |
|
|
|
7266 |
|
|
* config/arm/arm.md: Include cortex-r4f.md.
|
7267 |
|
|
(attr fpu): Update type list.
|
7268 |
|
|
(attr type): Add fcpys, ffariths, ffarithd, fadds, faddd, fconsts,
|
7269 |
|
|
fconstd, fcmps and fcmpd.
|
7270 |
|
|
(attr tune_cortexr4): Define.
|
7271 |
|
|
(attr generic_sched, attr generic_vfp): Use tune_cortexr4.
|
7272 |
|
|
* config/arm/vfp.md: Document fcpys, ffariths, ffarithd, fadds, faddd,
|
7273 |
|
|
fconsts, fconstd, fcmps and fcmpd. Use them in insn patterns.
|
7274 |
|
|
* config/arm/arm.c (arm_issue_rate): Add cortexr4f.
|
7275 |
|
|
* config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn types.
|
7276 |
|
|
* config/arm/cortex-a8-neon.md (cortex_a8_vfp_add_sub,
|
7277 |
|
|
cortex_a8_vfp_farith: Ditto.
|
7278 |
|
|
* config/arm/vfp11.md (vfp_ffarith, vfp_farith): Ditto.
|
7279 |
|
|
* config/arm/cortex-r4.md: Use tune_cortexr4.
|
7280 |
|
|
* config/arm/cortex-r4f.md: New file.
|
7281 |
|
|
|
7282 |
|
|
2008-09-01 Richard Guenther
|
7283 |
|
|
|
7284 |
|
|
PR tree-optimization/37305
|
7285 |
|
|
* tree-ssa-ccp.c (ccp_fold): Do not set TREE_OVERFLOW on
|
7286 |
|
|
the result of constant conversions.
|
7287 |
|
|
(fold_gimple_assign): Likewise.
|
7288 |
|
|
|
7289 |
|
|
2008-09-01 Andrey Belevantsev
|
7290 |
|
|
|
7291 |
|
|
* sel-sched-ir.c (cmp_v_in_regset_pool): Surround with
|
7292 |
|
|
#ifdef ENABLE_CHECKING.
|
7293 |
|
|
|
7294 |
|
|
2008-09-01 Andrey Belevantsev
|
7295 |
|
|
|
7296 |
|
|
* sel-sched-dump.c: Surround with #ifdef INSN_SCHEDULING.
|
7297 |
|
|
* sched-int.h (print_insn, print_pattern, print_value): Declare also
|
7298 |
|
|
when !INSN_SCHEDULING.
|
7299 |
|
|
|
7300 |
|
|
2008-09-01 Andreas Schwab
|
7301 |
|
|
|
7302 |
|
|
* config/ia64/ia64.c (TARGET_ADDRESS_COST): Update.
|
7303 |
|
|
|
7304 |
|
|
2008-09-01 Paul Brook
|
7305 |
|
|
|
7306 |
|
|
* config/arm/arm.c (arm_no_early_mul_dep): Handle multiply-subtract.
|
7307 |
|
|
|
7308 |
|
|
2008-09-01 Jan Hubicka
|
7309 |
|
|
|
7310 |
|
|
* config/spu/spu.c (spu_expand_block_move) Update call of MOVE_RATIO.
|
7311 |
|
|
|
7312 |
|
|
* expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P):
|
7313 |
|
|
Pass speed operand.
|
7314 |
|
|
* expr.h (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Update.
|
7315 |
|
|
* gimplify.c (gimplify_init_constructor): Add speed operand.
|
7316 |
|
|
* tree-sra.c (decide_block_copy): Likewise.
|
7317 |
|
|
* tree-inline.c (estimate_move_cost): Likewise.
|
7318 |
|
|
* config/alpha/alpha.h (MOVE_RATIO): Update.
|
7319 |
|
|
* config/frv/frv.c (MOVE_RATIO): Update.
|
7320 |
|
|
* config/spu/spu.h (MOVE_RATIO): Update.
|
7321 |
|
|
* config/sparc/sparc.h (MOVE_RATIO): Update.
|
7322 |
|
|
* config/i386/i386.h (MOVE_RATIO, CLEAR_RATIO): Update.
|
7323 |
|
|
* config/m68hc11/m68hc11.h (MOVE_RATIO): Update.
|
7324 |
|
|
* config/cris/cris.h (MOVE_RATIO): Update.
|
7325 |
|
|
* config/mn10300/mn10300.h (MOVE_RATIO): Update.
|
7326 |
|
|
* config/arm/arm.h (MOVE_RATIO): Update.
|
7327 |
|
|
* config/pa/pa.md: Update uses of MOVE_RATIO
|
7328 |
|
|
* config/pa/pa.h (MOVE_RATIO): Update.
|
7329 |
|
|
* config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES,
|
7330 |
|
|
CLEAR_RATIO, SET_RATIO): Update.
|
7331 |
|
|
* config/h8300/h8300.h (MOVE_RATIO): Update.
|
7332 |
|
|
* config/v850/v850.h (MOVE_RATIO): Update.
|
7333 |
|
|
* config/bfin/bfin.h (MOVE_RATIO): Update.
|
7334 |
|
|
|
7335 |
|
|
2008-08-31 Andrey Belevantsev
|
7336 |
|
|
Dmitry Melnik
|
7337 |
|
|
Dmitry Zhurikhin
|
7338 |
|
|
Alexander Monakov
|
7339 |
|
|
Maxim Kuvyrkov
|
7340 |
|
|
|
7341 |
|
|
* sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c,
|
7342 |
|
|
sel-sched-dump.c, sel-sched-ir.c: New files.
|
7343 |
|
|
* Makefile.in (OBJS-common): Add selective scheduling object files.
|
7344 |
|
|
(sel-sched.o, sel-sched-dump.o, sel-sched-ir.o): New entries.
|
7345 |
|
|
(SEL_SCHED_IR_H, SEL_SCHED_DUMP_H): New entries.
|
7346 |
|
|
(sched-vis.o): Add dependency on $(INSN_ATTR_H).
|
7347 |
|
|
* cfghooks.h (get_cfg_hooks, set_cfg_hooks): New prototypes.
|
7348 |
|
|
* cfghooks.c (get_cfg_hooks, set_cfg_hooks): New functions.
|
7349 |
|
|
(make_forwarder_block): Update loop latch if we have redirected
|
7350 |
|
|
the loop latch edge.
|
7351 |
|
|
* cfgloop.c (get_loop_body_in_custom_order): New function.
|
7352 |
|
|
* cfgloop.h (LOOPS_HAVE_FALLTHRU_PREHEADERS): New enum field.
|
7353 |
|
|
(CP_FALLTHRU_PREHEADERS): Likewise.
|
7354 |
|
|
(get_loop_body_in_custom_order): Declare.
|
7355 |
|
|
* cfgloopmanip.c (has_preds_from_loop): New.
|
7356 |
|
|
(create_preheader): Honor CP_FALLTHRU_PREHEADERS.
|
7357 |
|
|
Assert that the preheader edge will be fall thru when it is set.
|
7358 |
|
|
* common.opt (fsel-sched-bookkeeping, fsel-sched-pipelining,
|
7359 |
|
|
fsel-sched-pipelining-outer-loops, fsel-sched-renaming,
|
7360 |
|
|
fsel-sched-substitution, fselective-scheduling): New flags.
|
7361 |
|
|
* cse.c (hash_rtx_cb): New.
|
7362 |
|
|
(hash_rtx): Use it.
|
7363 |
|
|
* dbgcnt.def (sel_sched_cnt, sel_sched_region_cnt,
|
7364 |
|
|
sel_sched_insn_cnt): New counters.
|
7365 |
|
|
* final.c (compute_alignments): Export. Free dominance
|
7366 |
|
|
info after loop_optimizer_finalize.
|
7367 |
|
|
* genattr.c (main): Output maximal_insn_latency prototype.
|
7368 |
|
|
* genautomata.c (output_default_latencies): New.
|
7369 |
|
|
Factor its code from ...
|
7370 |
|
|
(output_internal_insn_latency_func): ... here.
|
7371 |
|
|
(output_internal_maximal_insn_latency_func): New.
|
7372 |
|
|
(output_maximal_insn_latency_func): New.
|
7373 |
|
|
* hard-reg-set.h (UHOST_BITS_PER_WIDE_INT): Define unconditionally.
|
7374 |
|
|
(struct hard_reg_set_iterator): New.
|
7375 |
|
|
(hard_reg_set_iter_init, hard_reg_set_iter_set,
|
7376 |
|
|
hard_reg_set_iter_next): New functions.
|
7377 |
|
|
(EXECUTE_IF_SET_IN_HARD_REG_SET): New macro.
|
7378 |
|
|
* lists.c (remove_free_INSN_LIST_node,
|
7379 |
|
|
remove_free_EXPR_LIST_node): New functions.
|
7380 |
|
|
* loop-init.c (loop_optimizer_init): When
|
7381 |
|
|
LOOPS_HAVE_FALLTHRU_PREHEADERS, set CP_FALLTHRU_PREHEADERS when
|
7382 |
|
|
calling create_preheaders.
|
7383 |
|
|
(loop_optimizer_finalize): Do not verify flow info after reload.
|
7384 |
|
|
* recog.c (validate_replace_rtx_1): New parameter simplify.
|
7385 |
|
|
Default it to true. Update all uses. Factor out simplifying
|
7386 |
|
|
code to ...
|
7387 |
|
|
(simplify_while_replacing): ... this new function.
|
7388 |
|
|
(validate_replace_rtx_part,
|
7389 |
|
|
validate_replace_rtx_part_nosimplify): New.
|
7390 |
|
|
* recog.h (validate_replace_rtx_part,
|
7391 |
|
|
validate_replace_rtx_part_nosimplify): Declare.
|
7392 |
|
|
* rtl.c (rtx_equal_p_cb): New.
|
7393 |
|
|
(rtx_equal_p): Use it.
|
7394 |
|
|
* rtl.h (rtx_equal_p_cb, hash_rtx_cb): Declare.
|
7395 |
|
|
(remove_free_INSN_LIST_NODE, remove_free_EXPR_LIST_node,
|
7396 |
|
|
debug_bb_n_slim, debug_bb_slim, print_rtl_slim): Likewise.
|
7397 |
|
|
* vecprim.h: Add a vector type for unsigned int.
|
7398 |
|
|
* haifa-sched.c: Include vecprim.h and cfgloop.h.
|
7399 |
|
|
(issue_rate, sched_verbose_param, note_list, dfa_state_size,
|
7400 |
|
|
ready_try, cycle_issued_insns, spec_info): Make global.
|
7401 |
|
|
(readyp): Initialize.
|
7402 |
|
|
(dfa_lookahead): New global variable.
|
7403 |
|
|
(old_max_uid, old_last_basic_block): Remove.
|
7404 |
|
|
(h_i_d): Make it a vector.
|
7405 |
|
|
(INSN_TICK, INTER_TICK, QUEUE_INDEX, INSN_COST): Make them work
|
7406 |
|
|
through HID macro.
|
7407 |
|
|
(after_recovery, adding_bb_to_current_region_p):
|
7408 |
|
|
New variables to handle correct insertion of the recovery code.
|
7409 |
|
|
(struct ready_list): Move declaration to sched-int.h.
|
7410 |
|
|
(rgn_n_insns): Removed.
|
7411 |
|
|
(rtx_vec_t): Move to sched-int.h.
|
7412 |
|
|
(find_insn_reg_weight): Remove.
|
7413 |
|
|
(find_insn_reg_weight1): Rename to find_insn_reg_weight.
|
7414 |
|
|
(haifa_init_h_i_d, haifa_finish_h_i_d):
|
7415 |
|
|
New functions to initialize / finalize haifa instruction data.
|
7416 |
|
|
(extend_h_i_d, init_h_i_d): Rewrite.
|
7417 |
|
|
(unlink_other_notes): Move logic to add_to_note_list. Handle
|
7418 |
|
|
selective scheduler.
|
7419 |
|
|
(ready_lastpos, ready_element, ready_sort, reemit_notes,
|
7420 |
|
|
find_fallthru_edge): Make global, remove static prototypes.
|
7421 |
|
|
(max_issue): Make global. Add privileged_n and state parameters. Use
|
7422 |
|
|
them.
|
7423 |
|
|
(extend_global, extend_all): Removed.
|
7424 |
|
|
(init_before_recovery): Add new param. Fix the handling of the case
|
7425 |
|
|
when we insert a recovery code before the EXIT which has a predecessor
|
7426 |
|
|
with a fallthrough edge to it.
|
7427 |
|
|
(create_recovery_block): Make global. Rename to
|
7428 |
|
|
sched_create_recovery_block. Update.
|
7429 |
|
|
(change_pattern): Rename to sched_change_pattern. Make global.
|
7430 |
|
|
(speculate_insn): Rename to sched_speculate_insn. Make global.
|
7431 |
|
|
Split haifa-specific functionality into ...
|
7432 |
|
|
(haifa_change_pattern): New static function.
|
7433 |
|
|
(sched_extend_bb): New static function.
|
7434 |
|
|
(sched_init_bbs): New function.
|
7435 |
|
|
(current_sched_info): Change type to struct haifa_sched_info.
|
7436 |
|
|
(insn_cost): Adjust for selective scheduling.
|
7437 |
|
|
(dep_cost_1): New function. Move logic from ...
|
7438 |
|
|
(dep_cost): ... here.
|
7439 |
|
|
(dep_cost): Use dep_cost_1.
|
7440 |
|
|
(contributes_to_priority_p): Use sched_deps_info instead of
|
7441 |
|
|
current_sched_info.
|
7442 |
|
|
(priority): Adjust to work with selective scheduling. Process the
|
7443 |
|
|
corner case when all dependencies don't contribute to priority.
|
7444 |
|
|
(rank_for_schedule): Use ds_weak instead of dep_weak.
|
7445 |
|
|
(advance_state): New function. Move logic from ...
|
7446 |
|
|
(advance_one_cycle): ... here.
|
7447 |
|
|
(add_to_note_list, concat_note_lists): New functions.
|
7448 |
|
|
(rm_other_notes): Make static. Adjust for selective scheduling.
|
7449 |
|
|
(remove_notes, restore_other_notes): New functions.
|
7450 |
|
|
(move_insn): Add two arguments. Update assert. Don't call
|
7451 |
|
|
reemit_notes.
|
7452 |
|
|
(choose_ready): Remove lookahead variable, use dfa_lookahead.
|
7453 |
|
|
Remove more_issue, max_points. Move the code to initialize
|
7454 |
|
|
max_lookahead_tries to max_issue.
|
7455 |
|
|
(schedule_block): Remove rgn_n_insns1 parameter. Don't allocate
|
7456 |
|
|
ready. Adjust use of move_insn. Call restore_other_notes.
|
7457 |
|
|
(luid): Remove.
|
7458 |
|
|
(sched_init, sched_finish): Move Haifa-specific initialization/
|
7459 |
|
|
finalization to ...
|
7460 |
|
|
(haifa_sched_init, haifa_sched_finish): ... respectively.
|
7461 |
|
|
New functions.
|
7462 |
|
|
(setup_sched_dump): New function.
|
7463 |
|
|
(haifa_init_only_bb): New static function.
|
7464 |
|
|
(haifa_speculate_insn): New static function.
|
7465 |
|
|
(try_ready): Use haifa_* instead of speculate_insn and change_pattern.
|
7466 |
|
|
(extend_ready, extend_all): Remove.
|
7467 |
|
|
(sched_extend_ready_list, sched_finish_ready_list): New functions.
|
7468 |
|
|
(create_check_block_twin, add_to_speculative_block): Use
|
7469 |
|
|
haifa_insns_init instead of extend_global. Update to use new
|
7470 |
|
|
initialization functions. Change parameter. Factor out code from
|
7471 |
|
|
create_check_block_twin to ...
|
7472 |
|
|
(sched_create_recovery_edges) ... this new function.
|
7473 |
|
|
(add_block): Remove.
|
7474 |
|
|
(sched_scan_info): New.
|
7475 |
|
|
(extend_bb): Use sched_scan_info.
|
7476 |
|
|
(init_bb, extend_insn, init_insn, init_insns_in_bb, sched_scan): New
|
7477 |
|
|
static functions for walking through scheduling region.
|
7478 |
|
|
(sched_luids): New vector variable to replace uid_to_luid.
|
7479 |
|
|
(luids_extend_insn): New function.
|
7480 |
|
|
(sched_max_luid): New variable.
|
7481 |
|
|
(luids_init_insn): New function.
|
7482 |
|
|
(sched_init_luids, sched_finish_luids): New functions.
|
7483 |
|
|
(insn_luid): New debug function.
|
7484 |
|
|
(sched_extend_target): New function.
|
7485 |
|
|
(haifa_init_insn): New static function.
|
7486 |
|
|
(sched_init_only_bb): New hook.
|
7487 |
|
|
(sched_split_block): New hook.
|
7488 |
|
|
(sched_split_block_1): New function.
|
7489 |
|
|
(sched_create_empty_bb): New hook.
|
7490 |
|
|
(sched_create_empty_bb_1): New function.
|
7491 |
|
|
(common_sched_info, ready): New global variables.
|
7492 |
|
|
(current_sched_info_var): Remove.
|
7493 |
|
|
(move_block_after_check): Use common_sched_info.
|
7494 |
|
|
(haifa_luid_for_non_insn): New static function.
|
7495 |
|
|
(init_before_recovery): Use haifa_init_only_bb instead of add_block.
|
7496 |
|
|
(increase_insn_priority): New.
|
7497 |
|
|
* modulo-sched.c (issue_rate): Remove static declaration.
|
7498 |
|
|
(sms_sched_info): Change type to haifa_sched_info.
|
7499 |
|
|
(sms_sched_deps_info, sms_common_sched_info): New variables.
|
7500 |
|
|
(setup_sched_infos): New.
|
7501 |
|
|
(sms_schedule): Initialize them. Call haifa_sched_init/finish.
|
7502 |
|
|
Do not call regstat_free_calls_crossed.
|
7503 |
|
|
(sms_print_insn): Use const_rtx.
|
7504 |
|
|
* params.def (PARAM_MAX_PIPELINE_REGION_BLOCKS,
|
7505 |
|
|
PARAM_MAX_PIPELINE_REGION_INSNS, PARAM_SELSCHED_MAX_LOOKAHEAD,
|
7506 |
|
|
PARAM_SELSCHED_MAX_SCHED_TIMES, PARAM_SELSCHED_INSNS_TO_RENAME,
|
7507 |
|
|
PARAM_SCHED_MEM_TRUE_DEP_COST): New.
|
7508 |
|
|
* sched-deps.c (sched_deps_info): New. Update all relevant uses of
|
7509 |
|
|
current_sched_info to use it.
|
7510 |
|
|
(enum reg_pending_barrier_mode): Move to sched-int.h.
|
7511 |
|
|
(h_d_i_d): New variable. Initialize to NULL.
|
7512 |
|
|
({true, output, anti, spec, forward}_dependency_cache): Initialize
|
7513 |
|
|
to NULL.
|
7514 |
|
|
(estimate_dep_weak): Remove static declaration.
|
7515 |
|
|
(sched_has_condition_p): New function. Adjust users of
|
7516 |
|
|
sched_get_condition to use it instead.
|
7517 |
|
|
(conditions_mutex_p): Add arguments indicating which conditions are
|
7518 |
|
|
reversed. Use them.
|
7519 |
|
|
(sched_get_condition_with_rev): Rename from sched_get_condition. Add
|
7520 |
|
|
argument to indicate whether returned condition is reversed. Do not
|
7521 |
|
|
generate new rtx when condition should be reversed; indicate it by
|
7522 |
|
|
setting new argument instead.
|
7523 |
|
|
(add_dependence_list_and_free): Add deps parameter.
|
7524 |
|
|
Update all users. Do not free dependence list when
|
7525 |
|
|
deps context is readonly.
|
7526 |
|
|
(add_insn_mem_dependence, flush_pending_lists): Adjust for readonly
|
7527 |
|
|
contexts.
|
7528 |
|
|
(remove_from_dependence_list, remove_from_both_dependence_lists): New.
|
7529 |
|
|
(remove_from_deps): New. Use the above functions.
|
7530 |
|
|
(cur_insn, can_start_lhs_rhs_p): New static variables.
|
7531 |
|
|
(add_or_update_back_dep_1): Initialize present_dep_type.
|
7532 |
|
|
(haifa_start_insn, haifa_finish_insn, haifa_note_reg_set,
|
7533 |
|
|
haifa_note_reg_clobber, haifa_note_reg_use, haifa_note_mem_dep,
|
7534 |
|
|
haifa_note_dep): New functions implementing dependence hooks for
|
7535 |
|
|
the Haifa scheduler.
|
7536 |
|
|
(note_reg_use, note_reg_set, note_reg_clobber, note_mem_dep,
|
7537 |
|
|
note_dep): New functions.
|
7538 |
|
|
(ds_to_dt, extend_deps_reg_info, maybe_extend_reg_info_p): New
|
7539 |
|
|
functions.
|
7540 |
|
|
(init_deps): Initialize last_reg_pending_barrier and deps->readonly.
|
7541 |
|
|
(free_deps): Initialize deps->reg_last.
|
7542 |
|
|
(sched_analyze_reg, sched_analyze_1, sched_analyze_2,
|
7543 |
|
|
sched_analyze_insn): Update to use dependency hooks infrastructure
|
7544 |
|
|
and readonly contexts.
|
7545 |
|
|
(deps_analyze_insn): New function. Move part of logic from ...
|
7546 |
|
|
(sched_analyze): ... here. Also move some logic to ...
|
7547 |
|
|
(deps_start_bb): ... here. New function.
|
7548 |
|
|
(add_forw_dep, delete_forw_dep): Guard use of INSN_DEP_COUNT with
|
7549 |
|
|
sel_sched_p.
|
7550 |
|
|
(sched_deps_init): New function. Move code from ...
|
7551 |
|
|
(init_dependency_caches): ... here. Remove.
|
7552 |
|
|
(init_deps_data_vector): New.
|
7553 |
|
|
(sched_deps_finish): New function. Move code from ...
|
7554 |
|
|
(free_dependency_caches): ... here. Remove.
|
7555 |
|
|
(init_deps_global, finish_deps_global): Adjust for use with
|
7556 |
|
|
selective scheduling.
|
7557 |
|
|
(get_dep_weak): Move logic to ...
|
7558 |
|
|
(get_dep_weak_1): New function.
|
7559 |
|
|
(ds_merge): Move logic to ...
|
7560 |
|
|
(ds_merge_1): New static function.
|
7561 |
|
|
(ds_full_merge, ds_max_merge, ds_get_speculation_types): New functions.
|
7562 |
|
|
(ds_get_max_dep_weak): New function.
|
7563 |
|
|
* sched-ebb.c (sched_n_insns): Rename to sched_rgn_n_insns.
|
7564 |
|
|
(n_insns): Rename to rgn_n_insns.
|
7565 |
|
|
(debug_ebb_dependencies): New function.
|
7566 |
|
|
(init_ready_list): Use it.
|
7567 |
|
|
(begin_schedule_ready): Use sched_init_only_bb.
|
7568 |
|
|
(ebb_print_insn): Indicate when an insn starts a new cycle.
|
7569 |
|
|
(contributes_to_priority, compute_jump_reg_dependencies,
|
7570 |
|
|
add_remove_insn, fix_recovery_cfg): Add ebb_ prefix to function names.
|
7571 |
|
|
(add_block1): Remove to ebb_add_block.
|
7572 |
|
|
(ebb_sched_deps_info, ebb_common_sched_info): New variables.
|
7573 |
|
|
(schedule_ebb): Initialize them. Use remove_notes instead of
|
7574 |
|
|
rm_other_notes. Use haifa_local_init/finish.
|
7575 |
|
|
(schedule_ebbs): Use haifa_sched_init/finish.
|
7576 |
|
|
* sched-int.h: Include vecprim.h, remove rtl.h.
|
7577 |
|
|
(struct ready_list): Delete declaration.
|
7578 |
|
|
(sched_verbose_param, enum sched_pass_id_t,
|
7579 |
|
|
bb_vec_t, insn_vec_t, rtx_vec_t): New.
|
7580 |
|
|
(struct sched_scan_info_def): New structure.
|
7581 |
|
|
(sched_scan_info, sched_scan, sched_init_bbs,
|
7582 |
|
|
sched_init_luids, sched_finish_luids, sched_extend_target,
|
7583 |
|
|
haifa_init_h_i_d, haifa_finish_h_i_d): Declare.
|
7584 |
|
|
(struct common_sched_info_def): New.
|
7585 |
|
|
(common_sched_info, haifa_common_sched_info,
|
7586 |
|
|
sched_emulate_haifa_p): Declare.
|
7587 |
|
|
(sel_sched_p): New.
|
7588 |
|
|
(sched_luids): Declare.
|
7589 |
|
|
(INSN_LUID, LUID_BY_UID, SET_INSN_LUID): Declare.
|
7590 |
|
|
(sched_max_luid, insn_luid): Declare.
|
7591 |
|
|
(note_list, remove_notes, restore_other_notes, bb_note): Declare.
|
7592 |
|
|
(sched_insns_init, sched_insns_finish, xrecalloc, reemit_notes,
|
7593 |
|
|
print_insn, print_pattern, print_value, haifa_classify_insn,
|
7594 |
|
|
sel_find_rgns, sel_mark_hard_insn, dfa_state_size, advance_state,
|
7595 |
|
|
setup_sched_dump, sched_init, sched_finish,
|
7596 |
|
|
sel_insn_is_speculation_check): Export.
|
7597 |
|
|
(struct ready_list): Move from haifa-sched.c.
|
7598 |
|
|
(ready_try, ready, max_issue): Export.
|
7599 |
|
|
(ebb_compute_jump_reg_dependencies, find_fallthru_edge,
|
7600 |
|
|
sched_init_only_bb, sched_split_block, sched_split_block_1,
|
7601 |
|
|
sched_create_empty_bb, sched_create_empty_bb_1,
|
7602 |
|
|
sched_create_recovery_block, sched_create_recovery_edges): Export.
|
7603 |
|
|
(enum reg_pending_barrier_mode): Export.
|
7604 |
|
|
(struct deps): New fields `last_reg_pending_barrier' and `readonly'.
|
7605 |
|
|
(deps_t): New.
|
7606 |
|
|
(struct sched_info): Rename to haifa_sched_info. Use const_rtx for
|
7607 |
|
|
print_insn field. Move add_block and fix_recovery_cfg to
|
7608 |
|
|
common_sched_info_def. Move compute_jump_reg_dependencies,
|
7609 |
|
|
use_cselib ...
|
7610 |
|
|
(struct sched_deps_info_def): ... this new structure.
|
7611 |
|
|
(sched_deps_info): Declare.
|
7612 |
|
|
(struct spec_info_def): Remove weakness_cutoff, add
|
7613 |
|
|
data_weakness_cutoff and control_weakness_cutoff.
|
7614 |
|
|
(spec_info): Declare.
|
7615 |
|
|
(struct _haifa_deps_insn_data): Split from haifa_insn_data. Add
|
7616 |
|
|
dep_count field.
|
7617 |
|
|
(struct haifa_insn_data): Rename to struct _haifa_insn_data.
|
7618 |
|
|
(haifa_insn_data_def, haifa_insn_data_t): New typedefs.
|
7619 |
|
|
(current_sched_info): Change type to struct haifa_sched_info.
|
7620 |
|
|
(haifa_deps_insn_data_def, haifa_deps_insn_data_t): New typedefs.
|
7621 |
|
|
(h_d_i_d): New variable.
|
7622 |
|
|
(HDID): New accessor macro.
|
7623 |
|
|
(h_i_d): Change type to VEC (haifa_insn_data_def, heap) *.
|
7624 |
|
|
(HID): New accessor macro. Rewrite h_i_d accessor macros through HID
|
7625 |
|
|
and HDID.
|
7626 |
|
|
(IS_SPECULATION_CHECK_P): Update for selective scheduler.
|
7627 |
|
|
(enum SCHED_FLAGS): Update for selective scheduler.
|
7628 |
|
|
(enum SPEC_SCHED_FLAGS): New flag SEL_SCHED_SPEC_DONT_CHECK_CONTROL.
|
7629 |
|
|
(init_dependency_caches, free_dependency_caches): Delete declarations.
|
7630 |
|
|
(deps_analyze_insn, remove_from_deps, get_dep_weak_1,
|
7631 |
|
|
estimate_dep_weak, ds_full_merge, ds_max_merge, ds_weak,
|
7632 |
|
|
ds_get_speculation_types, ds_get_max_dep_weak, sched_deps_init,
|
7633 |
|
|
sched_deps_finish, haifa_note_reg_set, haifa_note_reg_use,
|
7634 |
|
|
haifa_note_reg_clobber, maybe_extend_reg_info_p, deps_start_bb,
|
7635 |
|
|
ds_to_dt): Export.
|
7636 |
|
|
(rm_other_notes): Delete declaration.
|
7637 |
|
|
(schedule_block): Remove one argument.
|
7638 |
|
|
(cycle_issued_insns, issue_rate, dfa_lookahead, ready_sort,
|
7639 |
|
|
ready_element, ready_lastpos, sched_extend_ready_list,
|
7640 |
|
|
sched_finish_ready_list, sched_change_pattern, sched_speculate_insn,
|
7641 |
|
|
concat_note_lists): Export.
|
7642 |
|
|
(struct region): Move from sched-rgn.h.
|
7643 |
|
|
(nr_regions, rgn_table, rgn_bb_table, block_to_bb, containing_rgn,
|
7644 |
|
|
RGN_NR_BLOCKS, RGN_BLOCKS, RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB,
|
7645 |
|
|
BLOCK_TO_BB, CONTAINING_RGN): Export.
|
7646 |
|
|
(ebb_head, BB_TO_BLOCK, EBB_FIRST_BB, EBB_LAST_BB, INSN_BB): Likewise.
|
7647 |
|
|
(current_nr_blocks, current_blocks, target_bb): Likewise.
|
7648 |
|
|
(dep_cost_1, sched_is_disabled_for_current_region_p, sched_rgn_init,
|
7649 |
|
|
sched_rgn_finish, rgn_setup_region, sched_rgn_compute_dependencies,
|
7650 |
|
|
sched_rgn_local_init, extend_regions,
|
7651 |
|
|
rgn_make_new_region_out_of_new_block, compute_priorities,
|
7652 |
|
|
debug_rgn_dependencies, free_rgn_deps, contributes_to_priority,
|
7653 |
|
|
extend_rgns, deps_join rgn_setup_common_sched_info,
|
7654 |
|
|
rgn_setup_sched_infos, debug_regions, debug_region, dump_region_dot,
|
7655 |
|
|
dump_region_dot_file, haifa_sched_init, haifa_sched_finish): Export.
|
7656 |
|
|
(get_rgn_sched_max_insns_priority, sel_add_to_insn_priority,
|
7657 |
|
|
increase_insn_priority): Likewise.
|
7658 |
|
|
* sched-rgn.c: Include sel-sched.h.
|
7659 |
|
|
(ref_counts): New static variable. Use it ...
|
7660 |
|
|
(INSN_REF_COUNT): ... here. Rewrite and move closer to uses.
|
7661 |
|
|
(FED_BY_SPEC_LOAD, IS_LOAD_INSN): Rewrite to use HID accessor macro.
|
7662 |
|
|
(sched_is_disabled_for_current_region_p): Delete static declaration.
|
7663 |
|
|
(struct region): Move to sched-int.h.
|
7664 |
|
|
(nr_regions, rgn_table, rgn_bb_table, block_to_bb, containing_rgn,
|
7665 |
|
|
ebb_head): Define and initialize.
|
7666 |
|
|
(RGN_NR_BLOCKS, RGN_BLOCKS, RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB,
|
7667 |
|
|
BLOCK_TO_BB, CONTAINING_RGN, debug_regions, extend_regions,
|
7668 |
|
|
BB_TO_BLOCK, EBB_FIRST_BB, EBB_LAST_BB): Move to
|
7669 |
|
|
sched-int.h.
|
7670 |
|
|
(find_single_block_region): Add new argument to indicate that EBB
|
7671 |
|
|
regions should be constructed.
|
7672 |
|
|
(debug_live): Delete declaration.
|
7673 |
|
|
(current_nr_blocks, current_blocks, target_bb):
|
7674 |
|
|
Remove static qualifiers.
|
7675 |
|
|
(compute_dom_prob_ps, check_live, update_live, set_spec_fed): Delete
|
7676 |
|
|
declaration.
|
7677 |
|
|
(init_regions): Delete declaration.
|
7678 |
|
|
(debug_region, bb_in_region_p, dump_region_dot_file, dump_region_dot,
|
7679 |
|
|
rgn_estimate_number_of_insns): New.
|
7680 |
|
|
(too_large): Use estimate_number_of_insns.
|
7681 |
|
|
(haifa_find_rgns): New. Move the code from ...
|
7682 |
|
|
(find_rgns): ... here. Call either sel_find_rgns or haifa_find_rgns.
|
7683 |
|
|
(free_trg_info): New.
|
7684 |
|
|
(compute_trg_info): Allocate candidate tables here instead of ...
|
7685 |
|
|
(init_ready_list): ... here.
|
7686 |
|
|
(rgn_print_insn): Use const_rtx.
|
7687 |
|
|
(contributes_to_priority, extend_regions): Delete static declaration.
|
7688 |
|
|
(add_remove_insn, fix_recovery_cfg): Add rgn_ to function names.
|
7689 |
|
|
(add_block1): Rename to rgn_add_block.
|
7690 |
|
|
(debug_rgn_dependencies): Delete static qualifier.
|
7691 |
|
|
(new_ready): Use sched_deps_info. Simplify.
|
7692 |
|
|
(rgn_common_sched_info, rgn_const_sched_deps_info,
|
7693 |
|
|
rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info):
|
7694 |
|
|
New.
|
7695 |
|
|
(region_sched_info): Rename to rgn_const_sched_info.
|
7696 |
|
|
(deps_join): New, extracted from ...
|
7697 |
|
|
(propagate_deps): ... here.
|
7698 |
|
|
(compute_block_dependences, debug_dependencies): Update for selective
|
7699 |
|
|
scheduling.
|
7700 |
|
|
(free_rgn_deps, compute_priorities): New functions.
|
7701 |
|
|
(sched_rgn_init, sched_rgn_finish, rgn_setup_region,
|
7702 |
|
|
sched_rgn_compute_dependencies): New functions.
|
7703 |
|
|
(schedule_region): Use them.
|
7704 |
|
|
(sched_rgn_local_init, sched_rgn_local_free, sched_rgn_local_finish,
|
7705 |
|
|
rgn_setup_common_sched_info, rgn_setup_sched_infos):
|
7706 |
|
|
New functions.
|
7707 |
|
|
(schedule_insns): Call new functions that were split out.
|
7708 |
|
|
(rgn_make_new_region_out_of_new_block): New.
|
7709 |
|
|
(get_rgn_sched_max_insns_priority): New.
|
7710 |
|
|
(rest_of_handle_sched, rest_of_handle_sched2): Call selective
|
7711 |
|
|
scheduling when appropriate.
|
7712 |
|
|
* sched-vis.c: Include insn-attr.h.
|
7713 |
|
|
(print_value, print_pattern): Make global.
|
7714 |
|
|
(print_rtl_slim, debug_bb_slim, debug_bb_n_slim): New functions.
|
7715 |
|
|
* target-def.h (TARGET_SCHED_ADJUST_COST_2,
|
7716 |
|
|
TARGET_SCHED_ALLOC_SCHED_CONTEXT, TARGET_SCHED_INIT_SCHED_CONTEXT,
|
7717 |
|
|
TARGET_SCHED_SET_SCHED_CONTEXT, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
|
7718 |
|
|
TARGET_SCHED_FREE_SCHED_CONTEXT, TARGET_SCHED_GET_INSN_CHECKED_DS,
|
7719 |
|
|
TARGET_SCHED_GET_INSN_SPEC_DS, TARGET_SCHED_SKIP_RTX_P): New target
|
7720 |
|
|
hooks. Initialize them to 0.
|
7721 |
|
|
(TARGET_SCHED_GEN_CHECK): Rename to TARGET_SCHED_GEN_SPEC_CHECK.
|
7722 |
|
|
* target.h (struct gcc_target): Add them. Rename gen_check field to
|
7723 |
|
|
gen_spec_check.
|
7724 |
|
|
* flags.h (sel_sched_switch_set): Declare.
|
7725 |
|
|
* opts.c (sel_sched_switch_set): New variable.
|
7726 |
|
|
(decode_options): Unset flag_sel_sched_pipelining_outer_loops if
|
7727 |
|
|
pipelining is disabled from command line.
|
7728 |
|
|
(common_handle_option): Record whether selective scheduling is
|
7729 |
|
|
requested from command line.
|
7730 |
|
|
* doc/invoke.texi: Document new flags and parameters.
|
7731 |
|
|
* doc/tm.texi: Document new target hooks.
|
7732 |
|
|
* config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to
|
7733 |
|
|
ia64_gen_check.
|
7734 |
|
|
(dfa_state_size): Do not declare locally.
|
7735 |
|
|
* config/ia64/ia64.opt (msched-ar-data-spec): Default to 0.
|
7736 |
|
|
* config/rs6000/rs6000.c (rs6000_init_sched_context,
|
7737 |
|
|
rs6000_alloc_sched_context, rs6000_set_sched_context,
|
7738 |
|
|
rs6000_free_sched_context): New functions.
|
7739 |
|
|
(struct _rs6000_sched_context): New.
|
7740 |
|
|
(rs6000_sched_reorder2): Do not modify INSN_PRIORITY for selective
|
7741 |
|
|
scheduling.
|
7742 |
|
|
(rs6000_sched_finish): Do not run for selective scheduling.
|
7743 |
|
|
|
7744 |
|
|
2008-08-31 Jan Hubicka
|
7745 |
|
|
|
7746 |
|
|
* frv.c (frv_rtx_costs): Update forward declaration.
|
7747 |
|
|
* spu.c (spu_rtx_costs): Likewise.
|
7748 |
|
|
* pdp11.c: Include df.h
|
7749 |
|
|
(pdp11_output_function_epilogue): Use df_set_regs_ever_live.
|
7750 |
|
|
* m68hc11.c (m68hc11_gen_highpart): Fix call of gen_rtx_SUBREG.
|
7751 |
|
|
(m68hc11_rtx_costs_1): Fix call of rtx_cost.
|
7752 |
|
|
* iq2000.c (iq2000_address_cost): Add speed argument.
|
7753 |
|
|
(iq2000_rtx_costs): Likewise.
|
7754 |
|
|
* mn10300.c (mn10300_address_cost_1): Remove speed argument;
|
7755 |
|
|
update call of mn10300_address_cost.
|
7756 |
|
|
* mcore.c: Include df.h
|
7757 |
|
|
(mcore_rtx_costs): Update prototype.
|
7758 |
|
|
* score3.c: Include df.h
|
7759 |
|
|
(score3_rtx_costs): Remove speed argument.
|
7760 |
|
|
* score7.c: Include df.h
|
7761 |
|
|
(score7_address_cost): Remove speed argument.
|
7762 |
|
|
* score-protos.h (score_address_cost): Update prototype.
|
7763 |
|
|
* score.c: Include df.h
|
7764 |
|
|
(score_rtx_costs): Update call of costs functions.
|
7765 |
|
|
* v850.c (v850_rtx_costs): Add bool argument.
|
7766 |
|
|
|
7767 |
|
|
2008-08-31 Hans-Peter Nilsson
|
7768 |
|
|
|
7769 |
|
|
* config/cris/cris.c (cris_rtx_costs): Correct call to rtx_costs.
|
7770 |
|
|
|
7771 |
|
|
2008-08-31 Aaron W. LaFramboise
|
7772 |
|
|
|
7773 |
|
|
* gthr-win32.h (__gthread_setspecific): Use CONST_CAST2.
|
7774 |
|
|
* config/i386/gthr-win32.c (__gthread_setspecific): Same.
|
7775 |
|
|
|
7776 |
|
|
2008-08-31 Aaron W. LaFramboise
|
7777 |
|
|
|
7778 |
|
|
* mkmap-flat.awk: Add option pe_dll.
|
7779 |
|
|
* config/i386/t-cygming (SHLIB_LINK): Support building libgcc_s.
|
7780 |
|
|
* config/i386/t-cygwin (SHLIB_LC): Add.
|
7781 |
|
|
* config/i386/t-mingw32 (SHLIB_LC): Add.
|
7782 |
|
|
* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): New.
|
7783 |
|
|
(SUBTARGET_EXTRA_SPECS): Use SHARED_LIBGCC_UNDEFS_SPEC.
|
7784 |
|
|
(LINK_SPEC): Support libgcc_s.
|
7785 |
|
|
(LIBGCC_SPEC): Support libgcc_s.
|
7786 |
|
|
(LIBGCC_SONAME): New.
|
7787 |
|
|
|
7788 |
|
|
2008-08-31 Jan Hubicka
|
7789 |
|
|
|
7790 |
|
|
* predict.c (maybe_hot_bb_p, maybe_hot_edge_p): Previous commit
|
7791 |
|
|
mistakely had old version of patch.
|
7792 |
|
|
|
7793 |
|
|
* ipa-cp.c (ipcp_need_original_clone_p): Remove.
|
7794 |
|
|
(ipcp_estimate_growth): New.
|
7795 |
|
|
(ipcp_insert_stage): Use ipcp_estimate_growth.
|
7796 |
|
|
* profile.c (branch_prob): When reading failed, do not consider
|
7797 |
|
|
profile as read.
|
7798 |
|
|
|
7799 |
|
|
2008-08-31 Jan Hubicka
|
7800 |
|
|
|
7801 |
|
|
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Check that
|
7802 |
|
|
loop is optimized for speed.
|
7803 |
|
|
|
7804 |
|
|
2008-08-31 Richard Guenther
|
7805 |
|
|
|
7806 |
|
|
PR middle-end/37289
|
7807 |
|
|
* fold-const.c (fold_binary): Retain conversions in folding
|
7808 |
|
|
~A + 1 to -A.
|
7809 |
|
|
|
7810 |
|
|
2008-08-31 Jan Hubicka
|
7811 |
|
|
|
7812 |
|
|
* postreload-gcse.c (eliminate_partially_redundant_loads):
|
7813 |
|
|
Use optimize_bb_for_size_p.
|
7814 |
|
|
* predict.c (maybe_hot_frequency_p): Make inline.
|
7815 |
|
|
(maybe_hot_count_p): Break out from ...
|
7816 |
|
|
(maybe_hot_bb_p): ... this one.
|
7817 |
|
|
(maybe_hot_edge_p): Simplify.
|
7818 |
|
|
* basic-block.h (probably_cold_bb_p): Remove.
|
7819 |
|
|
|
7820 |
|
|
2008-08-31 Jakub Jelinek
|
7821 |
|
|
|
7822 |
|
|
PR target/37168
|
7823 |
|
|
* config/rs6000/rs6000-protos.h (const_vector_elt_as_int): Add
|
7824 |
|
|
prototype.
|
7825 |
|
|
* config/rs6000/rs6000.c (const_vector_elt_as_int): No longer static.
|
7826 |
|
|
* config/rs6000/altivec.md (easy_vector_constant_add_self splitter):
|
7827 |
|
|
Also split V4SFmode.
|
7828 |
|
|
* config/rs6000/predicates.md (easy_vector_constant_add_self): Handle
|
7829 |
|
|
vector float modes.
|
7830 |
|
|
|
7831 |
|
|
2008-08-31 Jan Hubicka
|
7832 |
|
|
|
7833 |
|
|
* predict.c (PROB_VERY_LIKELY): Make small enough so things
|
7834 |
|
|
become cold.
|
7835 |
|
|
* predict.def (PRED_NORETURN_CALL, PRED_COLD_CALL): Use it.
|
7836 |
|
|
|
7837 |
|
|
2008-08-31 Jakub Jelinek
|
7838 |
|
|
|
7839 |
|
|
PR debug/37287
|
7840 |
|
|
* dwarf2out.c (gen_namespace_die): For DECL_EXTERNAL modules don't
|
7841 |
|
|
add source coords.
|
7842 |
|
|
|
7843 |
|
|
* dwarf2out.c (native_encode_initializer): Subtract min_index for
|
7844 |
|
|
non-range array index. Handle VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
|
7845 |
|
|
|
7846 |
|
|
2008-08-31 Jan Hubicka
|
7847 |
|
|
|
7848 |
|
|
* sparc.h (BRANCH_COST): Fix macro definition.
|
7849 |
|
|
* avr.c (avr_operand_rtx_cost): Add speed argument.
|
7850 |
|
|
(avr_rtx_costs): Update calls of avr_operand_rtx_cost.
|
7851 |
|
|
|
7852 |
|
|
2008-08-31 Richard Guenther
|
7853 |
|
|
|
7854 |
|
|
* tree-cfg.c (verify_types_in_gimple_assign): Dump mismatched
|
7855 |
|
|
types instead of operands. Re-instantiate verifying of
|
7856 |
|
|
binary expression operands.
|
7857 |
|
|
|
7858 |
|
|
2008-08-30 Jan Hubicka
|
7859 |
|
|
|
7860 |
|
|
* fwprop.c (should_replace_address): Add speed attribute.
|
7861 |
|
|
(PR_OPTIMIZE_FOR_SPEED): New flag.
|
7862 |
|
|
(propagate_rtx_1): Use it.
|
7863 |
|
|
(propagate_rtx): Set it.
|
7864 |
|
|
(try_fwprop_subst): Update call of rtx_costs.
|
7865 |
|
|
(forward_propagate_and_simplify): LIkewise.
|
7866 |
|
|
* hooks.c (hook_int_rtx_bool_0): New
|
7867 |
|
|
(hook_bool_rtx_int_int_intp_false): Replace by ...
|
7868 |
|
|
(hook_bool_rtx_int_int_intp_bool_false): .. thisone.
|
7869 |
|
|
* hooks.h (hook_int_rtx_bool_0): New
|
7870 |
|
|
(hook_bool_rtx_int_int_intp_false): Replace by ...
|
7871 |
|
|
(hook_bool_rtx_int_int_intp_bool_false): .. thisone.
|
7872 |
|
|
* optabs.c (avoid_expensive_constant): UPdate call of rtx_cost.
|
7873 |
|
|
(prepare_cmp_insn): UPdate call of rtx_cost.
|
7874 |
|
|
* postreload.c (reload_cse_simplify_set): Update call of rtx_cost.
|
7875 |
|
|
(reload_cse_simplify_operands): Update call of rtx_cost.
|
7876 |
|
|
(reload_cse_move2add): call of rtx_cost.
|
7877 |
|
|
* target.h (struct gcc_target): Update rtx_costs and address_costs.
|
7878 |
|
|
* rtlanal.c (rtx_cost): Add speed argument.
|
7879 |
|
|
(address_cost): Add speed argument
|
7880 |
|
|
(default_address_cost): Likewise.
|
7881 |
|
|
(insn_rtx_cost): Likewise.
|
7882 |
|
|
* cfgloopanal.c (seq_cost): Add speed argument.
|
7883 |
|
|
(target_reg_cost, target_spill_cost): Turn to array.
|
7884 |
|
|
(init_set_costs): Update for speed.
|
7885 |
|
|
(estimate_reg_pressure_cost): Add speed argument.
|
7886 |
|
|
* auto-inc-dec.c (attempt_change): Update call of rtx_cost.
|
7887 |
|
|
* dojump.c (prefer_and_bit_test): UPdate call of rtx_cost.
|
7888 |
|
|
* tree-ssa-loop-ivopts.c (struct ivopts_data): New field speed.
|
7889 |
|
|
(seq_cost): Add speed argument.
|
7890 |
|
|
(computation_cost): Add speed arugment.
|
7891 |
|
|
(add_cost, multiply_by_const, get_address_cost): add speed argument.
|
7892 |
|
|
(force_expr_to_var_cost): Update for profile info.
|
7893 |
|
|
(force_var_cost): Likewise.
|
7894 |
|
|
(split_address_cost): Likewise.
|
7895 |
|
|
(ptr_difference_cost): Likewise.
|
7896 |
|
|
(difference_cost): Likewise.
|
7897 |
|
|
(get_computation_cost_at): Likewise.
|
7898 |
|
|
(determine_iv_cost): Likewise.
|
7899 |
|
|
(ivopts_global_cost_for_size): Likewise.
|
7900 |
|
|
(rewrite_use_address): Likewise.
|
7901 |
|
|
(tree_ssa_iv_optimize_loop): Initialize speed field.
|
7902 |
|
|
* cse.c (optimize_this_for_speed_p): New static var.
|
7903 |
|
|
(notreg_cost): Update call of rtx_cost.
|
7904 |
|
|
(cse_extended_basic_block): set optimize_this_for_speed_p.
|
7905 |
|
|
* ifcvt.c (cheap_bb_rtx_cost_p): Update call of rtx_cost.
|
7906 |
|
|
(noce_try_cmove_arith): Likewise.
|
7907 |
|
|
(noce_try_sign_mask): LIkewise.
|
7908 |
|
|
* expr.c (compress_float_constant): Update rtx_cost calls.
|
7909 |
|
|
* tree-ssa-address.c (most_expensive_mult_to_index): Add speed
|
7910 |
|
|
argument.
|
7911 |
|
|
(addr_to_parts): Likewise.
|
7912 |
|
|
(create_mem_ref): Likewise.
|
7913 |
|
|
* dse.c (find_shift_sequence): Add speed argument.
|
7914 |
|
|
(replace_read): Update call.
|
7915 |
|
|
* calls.c (precompute_register_parameters): Update call of rtx_cost.
|
7916 |
|
|
* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost,
|
7917 |
|
|
* neg_cost, shift_cost, shiftadd_cost,
|
7918 |
|
|
shiftsub_cost, mul_cost, sdiv_cost, udiv_cost ,mul_widen_cost,
|
7919 |
|
|
mul_highpart_cost): Increase dimension.
|
7920 |
|
|
(init_expmed): Initialize for both size and speed.
|
7921 |
|
|
(expand_shift): Use profile.
|
7922 |
|
|
(synth_mult): Use profile.
|
7923 |
|
|
(choose_mult_variant): Use profile.
|
7924 |
|
|
(expand_mult): Use profile.
|
7925 |
|
|
(expand_mult_highpart_optab): Use profile.
|
7926 |
|
|
(expand_mult_highpart): Use profile.
|
7927 |
|
|
(expand_smod_pow2): Use profile.
|
7928 |
|
|
(expand_divmod): Use profile.
|
7929 |
|
|
* simplify-rtx.c (simplify_binary_operation_1): Update call of
|
7930 |
|
|
rtx_cost.
|
7931 |
|
|
* loop-invariant.c (create_new_invariant): Use profile.
|
7932 |
|
|
(gain_for_invariant): Add speed parameter.
|
7933 |
|
|
(best_gain_for_invariant): Likewise.
|
7934 |
|
|
(find_invariants_to_move): Likewise.
|
7935 |
|
|
(move_single_loop_invariants): Set it.
|
7936 |
|
|
* target-def.h (TARGET_RTX_COSTS): Use hook.
|
7937 |
|
|
* rtl.h (rtx_cost, address_cost, insn_rtx_cost): Update prototpe.
|
7938 |
|
|
(optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
|
7939 |
|
|
* output.h (default_address_cost): Update prototype.
|
7940 |
|
|
* combine.c (optimize_this_for_speed_p): New static var.
|
7941 |
|
|
(combine_validate_cost): Update call of rtx_cost.
|
7942 |
|
|
(combine_instructions): Set optimize_this_for_speed_p.
|
7943 |
|
|
(expand_compound_operation): Update call of rtx_cost.
|
7944 |
|
|
(make_extraction):Update call of rtx_cost.
|
7945 |
|
|
(force_to_mode):Update call of rtx_cost.
|
7946 |
|
|
(distribute_and_simplify_rtx):Update call of rtx_cost.
|
7947 |
|
|
* cfgloop.h (target_reg_cost, target_spill_cost): Turn to array.
|
7948 |
|
|
(estimate_reg_pressure_cost): Update prototype.
|
7949 |
|
|
* tree-flow.h (multiply_by_cost, create_mem_ref): Update prototype.
|
7950 |
|
|
* basic-block.h (optimize_insn_for_size_p, optimize_insn_for_speed_p):
|
7951 |
|
|
Remove.
|
7952 |
|
|
* config/alpha/alpha.c (alpha_rtx_costs): Update.
|
7953 |
|
|
(alpha_rtx_costs): Update.
|
7954 |
|
|
* config/frv/frv.c (frv_rtx_costs): Update.
|
7955 |
|
|
* config/s390/s390.c (s390_rtx_costs): Update.
|
7956 |
|
|
* config/m32c/m32c.c (m32c_memory_move_cost): Update.
|
7957 |
|
|
(m32c_rtx_costs): Update.
|
7958 |
|
|
* config/spu/spu.c (TARGET_ADDRESS_COST): Upate.
|
7959 |
|
|
(spu_rtx_costs): Update.
|
7960 |
|
|
* config/sparc/sparc.c (sparc_rtx_costs): Update.
|
7961 |
|
|
* config/m32r/m32r.c (m32r_rtx_costs): Update.
|
7962 |
|
|
* config/i386/i386.c (:ix86_address_cost): Update.
|
7963 |
|
|
(ix86_rtx_costs): Update.
|
7964 |
|
|
* config/sh/sh.c (sh_rtx_costs, sh_address_cost): Update.
|
7965 |
|
|
* config/pdp11/pdp11.c (pdp11_rtx_costs): Update.
|
7966 |
|
|
* config/avr/avr.c (avr_rtx_costs, avr_address_cost): Update.
|
7967 |
|
|
* config/crx/crx.c (crx_address_cost): Update.
|
7968 |
|
|
* config/xtensa/xtensa.c (xtensa_rtx_costs): Update.
|
7969 |
|
|
* config/stormy16/stormy16.c
|
7970 |
|
|
(xstormy16_address_cost, xstormy16_rtx_costs): Update.
|
7971 |
|
|
* config/m68hc11/m68hc11.c
|
7972 |
|
|
(m68hc11_address_cost, m68hc11_rtx_costs): Update.
|
7973 |
|
|
* config/cris/cris.c (cris_rtx_costs, cris_address_cost): Update.
|
7974 |
|
|
* config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost):
|
7975 |
|
|
Update.
|
7976 |
|
|
* config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs):
|
7977 |
|
|
Update
|
7978 |
|
|
* config/ia64/ia64.c (ia64_rtx_costs): Update.
|
7979 |
|
|
* config/m68k/m68k.c (m68k_rtx_costs): Update.
|
7980 |
|
|
* config/rs6000/rs6000.c (rs6000_rtx_costs): Update.
|
7981 |
|
|
* config/arc/arc.c (arc_rtx_costs, arc_address_cost): Update.
|
7982 |
|
|
* config/mcore/mcore.c (TARGET_ADDRESS_COST): Update.
|
7983 |
|
|
(mcore_rtx_costs): update.
|
7984 |
|
|
* config/score/score3.c (score3_rtx_costs): Update.
|
7985 |
|
|
* config/score/score7.c (score7_rtx_costs): Update.
|
7986 |
|
|
* config/score/score3.h (score3_rtx_costs):Update.
|
7987 |
|
|
* config/score/score7.h (score7_rtx_costs): Update.
|
7988 |
|
|
* config/score/score.c (score_rtx_costs): Update.
|
7989 |
|
|
* config/arm/arm.c (arm_address_cost): Update.
|
7990 |
|
|
(arm_rtx_costs_1): Update.
|
7991 |
|
|
(arm_rtx_costs_1): Update.
|
7992 |
|
|
(arm_size_rtx_costs): Update.
|
7993 |
|
|
(arm_size_rtx_costs): Update.
|
7994 |
|
|
(arm_size_rtx_costs): Update.
|
7995 |
|
|
(arm_xscale_rtx_costs): Update.
|
7996 |
|
|
(arm_thumb_address_cost): Update.
|
7997 |
|
|
* config/pa/pa.c (hppa_address_cost): Update.
|
7998 |
|
|
* config/mips/mips.c (mips_rtx_costs): Update.
|
7999 |
|
|
* config/vax/vax.c (vax_address_cost): Update.
|
8000 |
|
|
* config/h8300/h8300.c (h8300_shift_costs): Update.
|
8001 |
|
|
(h8300_rtx_costs): Update.
|
8002 |
|
|
* config/v850/v850.c (TARGET_ADDRESS_COST): Update.
|
8003 |
|
|
(v850_rtx_costs): Update.
|
8004 |
|
|
* config/mmix/mmix.c (mmix_rtx_costs, mmix_rtx_costs): Update.
|
8005 |
|
|
* config/bfin/bfin.c
|
8006 |
|
|
(bfin_address_cost): Update.
|
8007 |
|
|
(bfin_rtx_costs): Update.
|
8008 |
|
|
* stmt.c (lshift_cheap_p): Update.
|
8009 |
|
|
|
8010 |
|
|
2008-08-30 Andrew Pinski
|
8011 |
|
|
|
8012 |
|
|
PR middle-end/36444
|
8013 |
|
|
* expmed.c (extract_bit_field_1): Check the mode size to make
|
8014 |
|
|
sure the vector modes have the same size.
|
8015 |
|
|
|
8016 |
|
|
2008-08-29 Michael Meissner
|
8017 |
|
|
|
8018 |
|
|
* dojump.c (top level): Include basic-block.h to declare
|
8019 |
|
|
optimize_insn_for_speed_p
|
8020 |
|
|
|
8021 |
|
|
* Makefile.in (dodump.h): Add $(BASIC_BLOCK_H) dependency.
|
8022 |
|
|
|
8023 |
|
|
* opts.h (CL_SAVE): New option class for marking options that are
|
8024 |
|
|
target specific options usable in the target attribute.
|
8025 |
|
|
(CL_MIN_OPTION_CLASS): CL_SAVE is now the minimum option.
|
8026 |
|
|
|
8027 |
|
|
* opt-functions.awk (switch_flags): Add CL_SAVE flag so backends
|
8028 |
|
|
can easily find the target specific options that are safe to use
|
8029 |
|
|
in the attribute or pragma.
|
8030 |
|
|
|
8031 |
|
|
* attribs.c (decl_attributes): Change #pragma GCC option to
|
8032 |
|
|
#pragma GCC target, and attribute((option(...))) to
|
8033 |
|
|
attribute((target(...))).
|
8034 |
|
|
|
8035 |
|
|
* doc/extend.texi (target attribute): Change from option
|
8036 |
|
|
attribute. Delete push/pop/reset.
|
8037 |
|
|
(#pragma GCC target): Change from #pragma GCC option. Delete
|
8038 |
|
|
push/pop/reset.
|
8039 |
|
|
(#pragma GCC push_options): Document new pragma.
|
8040 |
|
|
(#pragma GCC pop_options): Document new pragma.
|
8041 |
|
|
(#pragma GCC reset_options): Document new pragma.
|
8042 |
|
|
|
8043 |
|
|
* targhooks.c (default_target_option_valid_attribute_p): Add
|
8044 |
|
|
warning about port not supporting target attributes.
|
8045 |
|
|
(default_target_option_pragma_parse): New function, warn about
|
8046 |
|
|
#pragma GCC target not being supported.
|
8047 |
|
|
|
8048 |
|
|
* targhooks.h (default_target_option_pragma_parse): Add
|
8049 |
|
|
declaration.
|
8050 |
|
|
|
8051 |
|
|
* tree.h (TI_CURRENT_TARGET_PRAGMA): Rename from
|
8052 |
|
|
TI_CURRENT_OPTION_PRAGMA.
|
8053 |
|
|
(current_target_pragma): Rename from current_option_pragma.
|
8054 |
|
|
|
8055 |
|
|
* target.h (struct target_option): Delete booleans for changing
|
8056 |
|
|
the optimization level on hot/cold functions. Change signature of
|
8057 |
|
|
pragma_parse hook to take a second tree.
|
8058 |
|
|
|
8059 |
|
|
* c-tree.h (c_builtin_function_ext_scope): Add declaration.
|
8060 |
|
|
|
8061 |
|
|
* c-decl.c (c_builtin_function_ext_scope): New function, guarantee
|
8062 |
|
|
that the declaration is done at global scope.
|
8063 |
|
|
|
8064 |
|
|
* langhooks.c (add_builtin_function_common): Move most of the code
|
8065 |
|
|
from add_builtin_function here, calling the hook passed in.
|
8066 |
|
|
(add_builtin_function): Call add_builtin_function_common with
|
8067 |
|
|
standard builtin hook.
|
8068 |
|
|
(add_builtin_function_ext_scope): New function to add builtins to
|
8069 |
|
|
global scope.
|
8070 |
|
|
|
8071 |
|
|
* langhooks.h (struct lang_hooks): Add builtin_function_ext_scope
|
8072 |
|
|
hook.
|
8073 |
|
|
(add_builtin_function_ext_scope): Add declaration.
|
8074 |
|
|
|
8075 |
|
|
* c-pragma.c (handle_pragma_target): Rename from
|
8076 |
|
|
handle_pragma_option, #pragma GCC option is now #pragma GCC
|
8077 |
|
|
target. Move warning about port not supporting target options to
|
8078 |
|
|
default pragma parse hook. Remove push/pop/reset from this
|
8079 |
|
|
pragma.
|
8080 |
|
|
(handle_pragma_optimize): Remove push/pop/reset from this pragma.
|
8081 |
|
|
(option_stack): Delete static variable.
|
8082 |
|
|
(optimize_stack): Ditto.
|
8083 |
|
|
(optons_stack): New stack of saved target and optimization
|
8084 |
|
|
options.
|
8085 |
|
|
(handle_pragma_push_options): New function to handle pushing both
|
8086 |
|
|
target and optimization options.
|
8087 |
|
|
(handle_pragma_pop_options): New function to handle popping both
|
8088 |
|
|
target and optimization options.
|
8089 |
|
|
(handle_pragma_reset_options): New function to handle resetting
|
8090 |
|
|
both target and optimization options to their initial state.
|
8091 |
|
|
(init_pragma): Rename handle_pragma_option to
|
8092 |
|
|
handle_pragma_target. Add support for push_options, pop_options,
|
8093 |
|
|
and reset_options pragmas.
|
8094 |
|
|
|
8095 |
|
|
* target-def.h (TARGET_OPTION_PRAGMA_PARSE): Change default to
|
8096 |
|
|
default_target_option_pragma_parse.
|
8097 |
|
|
(TARGET_OPTION_VALID_ATTRIBUTE_P): Change default to
|
8098 |
|
|
default_target_option_valid_attribute_p.
|
8099 |
|
|
(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Delete.
|
8100 |
|
|
(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Ditto.
|
8101 |
|
|
(TARGET_OPTION_HOOKS): Delete the fields for whether to change
|
8102 |
|
|
optimization level on hot/cold functions.
|
8103 |
|
|
|
8104 |
|
|
* tree-inline.c (tree_can_inline_p): Disable suppressing inlining
|
8105 |
|
|
if the caller and callee have different optimization levels.
|
8106 |
|
|
|
8107 |
|
|
* c-common.c (handle_target_attribute): Rename from
|
8108 |
|
|
handle_option_attribute, attribute((option(...))) is now
|
8109 |
|
|
attribute((target(...))). Move warning if the port does not
|
8110 |
|
|
support target attributes to the default hook.
|
8111 |
|
|
(handle_hot_attribute): Delete code to change the optimization
|
8112 |
|
|
level of hot functions.
|
8113 |
|
|
(handle_cold_attribute): Ditto.
|
8114 |
|
|
|
8115 |
|
|
* config/i386/i386-c.c (ix86_pragma_target_parse): Take a second
|
8116 |
|
|
argument that is the binary tree options to use if there are no
|
8117 |
|
|
arguments. Call ix86_valid_target_attribute_tree instead of
|
8118 |
|
|
ix86_valid_option_attribute_tree.
|
8119 |
|
|
(ix86_pragma_target_parse): Rename from ix86_pragma_option_parse.
|
8120 |
|
|
(ix86_register_pragmas): Use ix86_pragma_target_parse instead of
|
8121 |
|
|
ix86_pragma_option_parse.
|
8122 |
|
|
|
8123 |
|
|
* config/i386/i386-protos.h (ix86_valid_target_attribute_tree):
|
8124 |
|
|
Rename from ix86_valid_option_attribute_tree.
|
8125 |
|
|
|
8126 |
|
|
* config/i386/i386.c (ix86_add_new_builtins): New function to add
|
8127 |
|
|
new builtins when the ISA changes.
|
8128 |
|
|
(ix86_valid_target_attribute_tree): Rename from
|
8129 |
|
|
ix86_valid_option_attribute_tree. Change callers. If the
|
8130 |
|
|
function specified optimization options, use those as the starting
|
8131 |
|
|
point before setting up the target attributes. If the
|
8132 |
|
|
optimization options were changed in the course of setting the
|
8133 |
|
|
target attributes, record the new optimization options.
|
8134 |
|
|
(ix86_valid_target_attribute_tree_inner_p): Rename from
|
8135 |
|
|
ix86_valid_option_attribute_tree_inner_p. Change callers. Call
|
8136 |
|
|
ix86_add_new_builtins if the ISA changed.
|
8137 |
|
|
(ix86_valid_target_attribute_p): Rename from
|
8138 |
|
|
ix86_valid_option_attribute_p. Change callers.
|
8139 |
|
|
(enum ix86_builtins): Add IX86_BUILTIN_PCMOV to allow both
|
8140 |
|
|
__builtin_ia32_pcmov and __builtin_ia32_pcmov_v2di to be declared
|
8141 |
|
|
as delayed builtin functions.
|
8142 |
|
|
(struct builtin_isa): New structure to record builtin functions
|
8143 |
|
|
that should be delayed until the ISA for that function is used.
|
8144 |
|
|
(ix86_builtins_isa): Change from int to struct to track builtin
|
8145 |
|
|
functions we want to declare at some point.
|
8146 |
|
|
(def_builtin): If the front end can delay defining the builtin
|
8147 |
|
|
functions, don't create builtins for ISAs not part of the default
|
8148 |
|
|
options.
|
8149 |
|
|
(def_builtin_const): Ditto.
|
8150 |
|
|
(bdesc_multi_arg): Declare __builtin_ia32_pcmov and
|
8151 |
|
|
__builtin_ia32_pcmov_v2di to be different builtin functions.
|
8152 |
|
|
(ix86_expand_builtin): Changes due to ix86_builtins_isa now being
|
8153 |
|
|
a structure instead of an int.
|
8154 |
|
|
(TARGET_OPTION_VALID_ATTRIBUTE_P): Use
|
8155 |
|
|
ix86_valid_target_attribute_p, not ix86_valid_option_attribute_p.
|
8156 |
|
|
(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Delete.
|
8157 |
|
|
(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Ditto.
|
8158 |
|
|
|
8159 |
|
|
* config/ia64/ia64.h
|
8160 |
|
|
(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Delete.
|
8161 |
|
|
(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Ditto.
|
8162 |
|
|
|
8163 |
|
|
* langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): New
|
8164 |
|
|
hook, default to being the same as LANG_HOOKS_BUILTIN_FUNCTION.
|
8165 |
|
|
(LANG_HOOKS_INITIALIZER): Add
|
8166 |
|
|
LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE hook.
|
8167 |
|
|
|
8168 |
|
|
2008-08-30 Kaz Kojima
|
8169 |
|
|
|
8170 |
|
|
PR target/37270
|
8171 |
|
|
* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Generate
|
8172 |
|
|
the reload address with the index register for SFmode
|
8173 |
|
|
access with a displacement.
|
8174 |
|
|
|
8175 |
|
|
2008-08-30 Jan Hubicka
|
8176 |
|
|
|
8177 |
|
|
* optabs.c (expand_abs_nojump): Update BRANCH_COST call.
|
8178 |
|
|
* fold-cost.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop): Likewise.
|
8179 |
|
|
* dojump.c (do_jump): Likewise.
|
8180 |
|
|
* ifcvt.c (MAX_CONDITIONAL_EXECUTE): Likewise.
|
8181 |
|
|
(note-if_info): Add BRANCH_COST.
|
8182 |
|
|
(noce_try_store_flag_constants, noce_try_addcc,
|
8183 |
|
|
noce_try_store_flag_mask, noce_try_cmove_arith, noce_try_cmove_arith,
|
8184 |
|
|
noce_try_cmove_arith, noce_find_if_block, find_if_case_1,
|
8185 |
|
|
find_if_case_2): Use computed branch cost.
|
8186 |
|
|
* expr.h (BRANCH_COST): Update default.
|
8187 |
|
|
* predict.c (predictable_edge_p): New function.
|
8188 |
|
|
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, emit_store_flag):
|
8189 |
|
|
Update BRANCH_COST call.
|
8190 |
|
|
* basic-block.h (predictable_edge_p): Declare.
|
8191 |
|
|
* config/alpha/alpha.h (BRANCH_COST): Update.
|
8192 |
|
|
* config/frv/frv.h (BRANCH_COST): Update.
|
8193 |
|
|
* config/s390/s390.h (BRANCH_COST): Update.
|
8194 |
|
|
* config/spu/spu.h (BRANCH_COST): Update.
|
8195 |
|
|
* config/sparc/sparc.h (BRANCH_COST): Update.
|
8196 |
|
|
* config/m32r/m32r.h (BRANCH_COST): Update.
|
8197 |
|
|
* config/i386/i386.h (BRANCH_COST): Update.
|
8198 |
|
|
* config/i386/i386.c (ix86_expand_int_movcc): Update use of
|
8199 |
|
|
BRANCH_COST.
|
8200 |
|
|
* config/sh/sh.h (BRANCH_COST): Update.
|
8201 |
|
|
* config/pdp11/pdp11.h (BRANCH_COST): Update.
|
8202 |
|
|
* config/avr/avr.h (BRANCH_COST): Update.
|
8203 |
|
|
* config/crx/crx.h (BRANCH_COST): Update.
|
8204 |
|
|
* config/xtensa/xtensa.h (BRANCH_COST): Update.
|
8205 |
|
|
* config/stormy16/stormy16.h (BRANCH_COST): Update.
|
8206 |
|
|
* config/m68hc11/m68hc11.h (BRANCH_COST): Update.
|
8207 |
|
|
* config/iq2000/iq2000.h (BRANCH_COST): Update.
|
8208 |
|
|
* config/ia64/ia64.h (BRANCH_COST): Update.
|
8209 |
|
|
* config/rs6000/rs6000.h (BRANCH_COST): Update.
|
8210 |
|
|
* config/arc/arc.h (BRANCH_COST): Update.
|
8211 |
|
|
* config/score/score.h (BRANCH_COST): Update.
|
8212 |
|
|
* config/arm/arm.h (BRANCH_COST): Update.
|
8213 |
|
|
* config/pa/pa.h (BRANCH_COST): Update.
|
8214 |
|
|
* config/mips/mips.h (BRANCH_COST): Update.
|
8215 |
|
|
* config/vax/vax.h (BRANCH_COST): Update.
|
8216 |
|
|
* config/h8300/h8300.h (BRANCH_COST): Update.
|
8217 |
|
|
* params.def (PARAM_PREDICTABLE_BRANCH_OUTCOME): New.
|
8218 |
|
|
* doc/invoke.texi (predictable-branch-cost-outcome): Document.
|
8219 |
|
|
* doc/tm.texi (BRANCH_COST): Update.
|
8220 |
|
|
|
8221 |
|
|
2008-08-30 Samuel Tardieu
|
8222 |
|
|
|
8223 |
|
|
PR target/37283
|
8224 |
|
|
* config/arm/arm.c (arm_optimization_options): Set
|
8225 |
|
|
flag_section_anchors to 2 instead of 1 to distinguish it from
|
8226 |
|
|
-fsection-anchors given explicitely on the command line.
|
8227 |
|
|
|
8228 |
|
|
2008-08-30 Richard Sandiford
|
8229 |
|
|
|
8230 |
|
|
* recog.c (split_insn): Consider attaching a REG_EQUAL note to the
|
8231 |
|
|
final insn of a split.
|
8232 |
|
|
|
8233 |
|
|
2008-08-30 Jan Hubicka
|
8234 |
|
|
|
8235 |
|
|
* postreload-gcse.c (gate_handle_gcse2): Disable for functions
|
8236 |
|
|
optimized for speed.
|
8237 |
|
|
* final.c (compute_alignments): Use optimize_bb_for_size_p.
|
8238 |
|
|
* tree-call-cdce.c (gate_call_cdce): Use optimize_function_for_speed_p.
|
8239 |
|
|
* opts.c (flag_predictive_commoning_set, flag_unswitch_loops_set,
|
8240 |
|
|
flag_gcse_after_reload_set): New static vars.
|
8241 |
|
|
(common_handle_option): Enable those flags for profile-use.
|
8242 |
|
|
(decode_options): Remove optimize_size flags that are handled
|
8243 |
|
|
on higher granuality.
|
8244 |
|
|
* tree-vectorizer.c (vectorize_loops): Use
|
8245 |
|
|
optimize_loop_nest_for_speed_p.
|
8246 |
|
|
* tree-ssa-pre.c (do_pre): Use optimize_function_for_speed_p.
|
8247 |
|
|
* tree-predcom.c (tree_predictive_commoning): Use
|
8248 |
|
|
optimize_loop_for_speed_p.
|
8249 |
|
|
* varasm.c (assemble_start_function): Use
|
8250 |
|
|
optimize_function_for_speed_p.
|
8251 |
|
|
* bb-reorder.c (rest_of_handle_reorder_blocks): Likewise.
|
8252 |
|
|
* predict.c (optimize_loop_for_speed_p): Fix walk.
|
8253 |
|
|
|
8254 |
|
|
2008-08-30 Jan Hubicka
|
8255 |
|
|
|
8256 |
|
|
* ipa-inline.c (cgraph_estimate_growth): Discover self recursive
|
8257 |
|
|
functions.
|
8258 |
|
|
(cgraph_decide_inlining_of_small_function): Use edge->count to detect
|
8259 |
|
|
profile presence locally.
|
8260 |
|
|
|
8261 |
|
|
2008-08-29 Joseph Myers
|
8262 |
|
|
|
8263 |
|
|
PR bootstrap/37086
|
8264 |
|
|
* tree-vrp.c (find_switch_asserts): Make idx volatile for GCC
|
8265 |
|
|
versions before 4.0.
|
8266 |
|
|
|
8267 |
|
|
2008-08-29 Jan Hubicka
|
8268 |
|
|
|
8269 |
|
|
* tree-inline.c (insert_init_stmt): Insert sequence even when
|
8270 |
|
|
not in SSA form.
|
8271 |
|
|
|
8272 |
|
|
2008-08-29 Jeff Law
|
8273 |
|
|
|
8274 |
|
|
* mn10300.c (mn10300_secondary_reload_class): We need secondary
|
8275 |
|
|
reloads for AM33-2 if IN is a pseudo with an equivalent memory
|
8276 |
|
|
location and class is an FP register.
|
8277 |
|
|
|
8278 |
|
|
2008-08-29 Jan Hubicka
|
8279 |
|
|
|
8280 |
|
|
* see.c (see_merge_one_def_extension): Silence used uninitialized
|
8281 |
|
|
warning.
|
8282 |
|
|
* matrix-reorg.c (check_allocation_function): Likewise.
|
8283 |
|
|
* config/i386/driver-i386.c (detect_caches_amd): Likewise.
|
8284 |
|
|
|
8285 |
|
|
2008-08-29 Jakub Jelinek
|
8286 |
|
|
|
8287 |
|
|
PR c/37261
|
8288 |
|
|
* fold-const.c (fold_binary): In (X | C1) & C2 canonicalization
|
8289 |
|
|
compute new & and | in type rather than TREE_TYPE (arg0).
|
8290 |
|
|
|
8291 |
|
|
* dwarf2out.c (fortran_common): Update comment.
|
8292 |
|
|
(gen_variable_die): Swap com_die and var_die variables in Fortran
|
8293 |
|
|
COMMON block handling code.
|
8294 |
|
|
|
8295 |
|
|
* dwarf2out.c (descr_info_loc): Handle VAR_DECL.
|
8296 |
|
|
|
8297 |
|
|
* dwarf2out.c (gen_const_die): New function.
|
8298 |
|
|
(size_of_die, value_format, output_die): Output larger
|
8299 |
|
|
dw_val_class_vec using DW_FORM_block2 or DW_FORM_block4.
|
8300 |
|
|
(native_encode_initializer): New function.
|
8301 |
|
|
(tree_add_const_value_attribute): Call it.
|
8302 |
|
|
(gen_decl_die, dwarf2out_decl): Handle CONST_DECLs if is_fortran ().
|
8303 |
|
|
|
8304 |
|
|
* dwarf2out.c (gen_formal_parameter_die, gen_variable_die): For
|
8305 |
|
|
DECL_BY_REFERENCE decls don't pass TREE_READONLY and
|
8306 |
|
|
TREE_THIS_VOLATILE to add_type_attribute.
|
8307 |
|
|
|
8308 |
|
|
* dwarf2out.c (add_subscript_info): Stop on Fortran TYPE_STRING_FLAG
|
8309 |
|
|
types.
|
8310 |
|
|
(gen_array_type_die): Emit DW_TAG_string_type for Fortran character
|
8311 |
|
|
types.
|
8312 |
|
|
|
8313 |
|
|
* dwarf2out.c (loc_by_reference): New function.
|
8314 |
|
|
(add_location_or_const_value_attribute): Use it.
|
8315 |
|
|
|
8316 |
|
|
PR fortran/23057
|
8317 |
|
|
* dwarf2out.c (gen_variable_die): Represent Fortran COMMON vars
|
8318 |
|
|
as DW_TAG_variable children of DW_TAG_common_block rather than
|
8319 |
|
|
DW_TAG_member children. Put DW_AT_external to individual
|
8320 |
|
|
DW_TAG_variable DIEs, not to DW_TAG_common_block.
|
8321 |
|
|
|
8322 |
|
|
* dwarf2out.c (add_bound_info): If lookup_decl_die failed, try
|
8323 |
|
|
loc_descriptor_from_tree_1.
|
8324 |
|
|
|
8325 |
|
|
PR fortran/29635
|
8326 |
|
|
PR fortran/23057
|
8327 |
|
|
* debug.h (struct gcc_debug_hooks): Add NAME and CHILD
|
8328 |
|
|
arguments to imported_module_or_decl.
|
8329 |
|
|
(debug_nothing_tree_tree): Removed.
|
8330 |
|
|
(debug_nothing_tree_tree_tree_bool): New prototype.
|
8331 |
|
|
* debug.c (do_nothing_debug_hooks): Adjust.
|
8332 |
|
|
(debug_nothing_tree_tree): Removed.
|
8333 |
|
|
(debug_nothing_tree_tree_tree_bool): New function.
|
8334 |
|
|
* dwarf2out.c (is_symbol_die): Handle DW_TAG_module.
|
8335 |
|
|
(gen_variable_die): Put all common vars for the
|
8336 |
|
|
same COMMON block under one DW_TAG_common_block.
|
8337 |
|
|
(declare_in_namespace): Return new context_die, for Fortran
|
8338 |
|
|
return the module DIE instead of adding extra declarations into
|
8339 |
|
|
the namespace.
|
8340 |
|
|
(gen_type_die_with_usage): Adjust declare_in_namespace caller.
|
8341 |
|
|
(gen_namespace_die): If is_fortran (), generate DW_TAG_module
|
8342 |
|
|
instead of DW_TAG_namespace. If DECL_EXTERNAL is set, add
|
8343 |
|
|
DW_AT_declaration.
|
8344 |
|
|
(dwarf2out_global_decl): Don't skip Fortran global vars.
|
8345 |
|
|
(gen_decl_die): Likewise. Adjust declare_in_namespace callers.
|
8346 |
|
|
(dwarf2out_imported_module_or_decl): Add NAME and CHILD arguments.
|
8347 |
|
|
If NAME is non-NULL, add DW_AT_name. If CHILD is non-NULL, put
|
8348 |
|
|
DW_TAG_imported_declaration as child of previous
|
8349 |
|
|
DW_TAG_imported_module.
|
8350 |
|
|
* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Adjust.
|
8351 |
|
|
* sdbout.c (sdb_debug_hooks): Likewise.
|
8352 |
|
|
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
|
8353 |
|
|
|
8354 |
|
|
2008-08-29 Jan Hubicka
|
8355 |
|
|
|
8356 |
|
|
* cgraph.c (cgraph_remove_node): Do not remove nested nodes.
|
8357 |
|
|
|
8358 |
|
|
* cgraph.h (cgraph_maybe_hot_edge_p): Declare.
|
8359 |
|
|
* ipa-cp.c (n_cloning_candidates): New static variable.
|
8360 |
|
|
(ipcp_print_profile_data, ipcp_function_scale_print): Forward declare.
|
8361 |
|
|
(ipcp_print_all_lattices): Improve debug output.
|
8362 |
|
|
(ipcp_cloning_candidate_p): New function.
|
8363 |
|
|
(ipcp_initialize_node_lattices): Use it.
|
8364 |
|
|
(ipcp_init_stage): Do only analyzis here; prettier debug output.
|
8365 |
|
|
(ipcp_propagate_stage): Prettier debug output.
|
8366 |
|
|
(ipcp_iterate_stage): Initialize latices here; prettier debug output.
|
8367 |
|
|
(ipcp_print_all_structures): Remove.
|
8368 |
|
|
(ipcp_need_redirect_p): Test !n_cloning_candidates.
|
8369 |
|
|
(ipcp_insert_stage): Prettier debug output; call
|
8370 |
|
|
cgraph_remove_unreachable_nodes before propagating.
|
8371 |
|
|
(pass_ipa_cp): Schedule function removal pass.
|
8372 |
|
|
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Better
|
8373 |
|
|
debug output.
|
8374 |
|
|
(cgraph_maybe_hot_edge_p): Move to ...
|
8375 |
|
|
* predict.c (cgraph_maybe_hot_edge_p) ... here.
|
8376 |
|
|
* opts.c (flag_ipa_cp_set, flag_ipa_cp_clone_set): New.
|
8377 |
|
|
(common_handle_option): Set them; enable ipa-cp when profiling.
|
8378 |
|
|
* ipa-prop.c (ipa_print_node_jump_functions): Prettier output.
|
8379 |
|
|
(ipa_print_all_jump_functions): Likewise.
|
8380 |
|
|
(ipa_print_all_tree_maps, ipa_print_node_param_flags): Remove.
|
8381 |
|
|
(ipa_print_node_params, ipa_print_all_params): New.
|
8382 |
|
|
* ipa-prop.h (ipa_print_all_tree_maps, ipa_print_node_param_flags,
|
8383 |
|
|
ipa_print_all_param_flags): Remove.
|
8384 |
|
|
(ipa_print_node_params, ipa_print_all_params): New.
|
8385 |
|
|
|
8386 |
|
|
2008-08-29 Bob Wilson
|
8387 |
|
|
|
8388 |
|
|
* config/xtensa/xtensa.c (xtensa_secondary_reload_class): Revert
|
8389 |
|
|
change from 2008-04-03.
|
8390 |
|
|
* config/xtensa/xtensa.h (IRA_COVER_CLASSES): Define.
|
8391 |
|
|
|
8392 |
|
|
2008-08-29 Vladimir Makarov
|
8393 |
|
|
|
8394 |
|
|
PR rtl-opt/37251
|
8395 |
|
|
* ira-color.c (push_allocnos_to_stack): Truncate
|
8396 |
|
|
removed_splay_allocno_vec.
|
8397 |
|
|
|
8398 |
|
|
2008-08-29 Vladimir Makarov
|
8399 |
|
|
|
8400 |
|
|
PR rtl-opt/37243
|
8401 |
|
|
* ira-color (ira_fast_allocation): Don't assign hard registers to
|
8402 |
|
|
global allocnos.
|
8403 |
|
|
|
8404 |
|
|
2008-08-29 Jan Hubicka
|
8405 |
|
|
|
8406 |
|
|
PR middle-end/37278
|
8407 |
|
|
* predict.c (optimize_loop_nest_for_speed_p): Do not ICE
|
8408 |
|
|
for cold internal loops.
|
8409 |
|
|
|
8410 |
|
|
2008-08-29 Richard Guenther
|
8411 |
|
|
|
8412 |
|
|
* tree-ssa-structalias.c (create_variable_info_for): Do not
|
8413 |
|
|
create fields for heap vars or vars with a noalias state.
|
8414 |
|
|
For NO_ALIAS_ANYTHING variables add a self-constraint, not one
|
8415 |
|
|
from ESCAPED.
|
8416 |
|
|
|
8417 |
|
|
2008-08-29 Richard Guenther
|
8418 |
|
|
|
8419 |
|
|
* common.opt (ftree-store-ccp): Mark as preserved for
|
8420 |
|
|
backward compatibility.
|
8421 |
|
|
* doc/invoke.texi (-ftree-store-ccp): Remove documentation.
|
8422 |
|
|
* tree-pass.h (pass_store_ccp): Remove.
|
8423 |
|
|
* tree-ssa-propagate.h (struct prop_value_d): Remove mem_ref field.
|
8424 |
|
|
(first_vdef): Remove declaration.
|
8425 |
|
|
(get_value_loaded_by): Likewise.
|
8426 |
|
|
* tree-ssa-ccp.c (do_store_ccp): Remove.
|
8427 |
|
|
(get_default_value): Simplify as do_store_ccp is always false
|
8428 |
|
|
now. Do not initialize mem_ref.
|
8429 |
|
|
(set_value_varying): Likewise.
|
8430 |
|
|
(canonicalize_float_value): Likewise.
|
8431 |
|
|
(set_lattice_value): Likewise.
|
8432 |
|
|
(likely_value): Likewise.
|
8433 |
|
|
(surely_varying_stmt_p): Likewise.
|
8434 |
|
|
(ccp_initialize): Likewise.
|
8435 |
|
|
(ccp_lattice_meet): Likewise.
|
8436 |
|
|
(ccp_visit_phi_node): Likewise.
|
8437 |
|
|
(ccp_fold): Likewise.
|
8438 |
|
|
(evaluate_stmt): Likewise.
|
8439 |
|
|
(visit_assignment): Likewise.
|
8440 |
|
|
(ccp_visit_stmt): Likewise.
|
8441 |
|
|
(execute_ssa_ccp): Fold into ...
|
8442 |
|
|
(do_ssa_ccp): ... this.
|
8443 |
|
|
(do_ssa_store_ccp): Remove.
|
8444 |
|
|
(gate_store_ccp): Likewise.
|
8445 |
|
|
(pass_store_ccp): Likewise.
|
8446 |
|
|
* tree-ssa-copy.c (copy_prop_visit_phi_node): Do not
|
8447 |
|
|
initialize mem_ref.
|
8448 |
|
|
* tree-ssa-propagate.c (first_vdef): Remove.
|
8449 |
|
|
(get_value_loaded_by): Likewise.
|
8450 |
|
|
(replace_vuses_in): Likewise.
|
8451 |
|
|
(substitute_and_fold): Do not call replace_vuses_in.
|
8452 |
|
|
* opts.c (decode_options): Do not set flag_tree_store_ccp.
|
8453 |
|
|
|
8454 |
|
|
2008-08-29 Richard Guenther
|
8455 |
|
|
|
8456 |
|
|
PR middle-end/37236
|
8457 |
|
|
* tree-ssa-structalias.c (intra_create_variable_infos): Mark
|
8458 |
|
|
PARAM_NOALIAS tags with is_heapvar.
|
8459 |
|
|
* tree-ssa-operands.c (access_can_touch_variable): Offset
|
8460 |
|
|
based tests do not apply for heapvars. Fix offset test.
|
8461 |
|
|
|
8462 |
|
|
2008-08-29 Jan Hubicka
|
8463 |
|
|
|
8464 |
|
|
* doc/invoke.texi (-fipa-cp): Enabled by default at -O2/-Os/-O3
|
8465 |
|
|
(-fipa-cp-clone): Enabled by default at -O3.
|
8466 |
|
|
* opts.c (decode_options): Enable ipa-cp at -O2, ipa-cp-clone at -O3;
|
8467 |
|
|
make ipa-cp-clone to imply ipa-cp; disable cloning at -Os.
|
8468 |
|
|
|
8469 |
|
|
2008-08-29 Jan Hubicka
|
8470 |
|
|
|
8471 |
|
|
* tree.c (build_function_type_skip_args,
|
8472 |
|
|
build_function_decl_skip_args): New functions.
|
8473 |
|
|
* tree.h (build_function_type_skip_args,
|
8474 |
|
|
build_function_decl_skip_args): Declare.
|
8475 |
|
|
* gimple.c (giple_copy_call_skip_args): New function.
|
8476 |
|
|
(giple_copy_call_skip_args): Declare.
|
8477 |
|
|
|
8478 |
|
|
* cgraph.h (cgraph_function_versioning): Add skip_args arugmnet
|
8479 |
|
|
* ipa-cp.c (ipcp_node_not_modifiable_p): Rename to ...
|
8480 |
|
|
(ipcp_node_modifiable_p): ... this one; use
|
8481 |
|
|
tree_versionable_function_p.
|
8482 |
|
|
(ipcp_create_replace_map): Improve debug output.
|
8483 |
|
|
(ipcp_need_redirect_p): Return false when not clonning.
|
8484 |
|
|
(ipcp_update_callgraph): Skip args.
|
8485 |
|
|
(ipcp_insert_stage): UPdate call of !ipcp_node_modifiable_p;
|
8486 |
|
|
skip args.
|
8487 |
|
|
* cgraphunit.c (cgraph_function_versioning): Add skip_args argument.
|
8488 |
|
|
(save_inline_function_body): Update call of tree_function_versioning.
|
8489 |
|
|
* ipa-prop.c (ipa_edge_removal_hook): Do not ICE on unanalyzed nodes.
|
8490 |
|
|
* tree-inline.c (copy_arguments_for_versioning): Add skip_args
|
8491 |
|
|
argument.
|
8492 |
|
|
(tree_function_versioning): Likewise.
|
8493 |
|
|
* tree-inline.h (tree_function_versioning): Update prototype.
|
8494 |
|
|
|
8495 |
|
|
2008-08-29 Jan Hubicka
|
8496 |
|
|
|
8497 |
|
|
* loop-unswitch.c (unswitch_single_loop): Use
|
8498 |
|
|
optimize_loop_for_speed_p.
|
8499 |
|
|
* tree-ssa-threadupdate.c (mark_threaded_blocks):
|
8500 |
|
|
Use optimize_function_for_size_p.
|
8501 |
|
|
* tracer.c (ignore_bb_p): Use optimize_bb_for_size_p.
|
8502 |
|
|
* postreload-gcse.c (eliminate_partially_redundant_load):
|
8503 |
|
|
Use optimize_bb_for_size_p.
|
8504 |
|
|
* value-prof.c (gimple_divmod_fixed_value_transform,
|
8505 |
|
|
gimple_mod_pow2_value_transform, gimple_mod_subtract_transform,
|
8506 |
|
|
gimple_stringops_transform): Use optimize_bb_for_size_p.
|
8507 |
|
|
* ipa-cp.c (ipcp_insert_stage): Use optimize_function_for_size_p.
|
8508 |
|
|
* final.c (compute_alignments): Use optimize_function_for_size_p.
|
8509 |
|
|
* builtins.c (fold_builtin_cabs): Use optimize_function_for_speed_p.
|
8510 |
|
|
(fold_builtin_strcpy, fold_builtin_fputs): Use
|
8511 |
|
|
optimize_function_for_size_p.
|
8512 |
|
|
* fold-const.c (tree_swap_operands_p): Use
|
8513 |
|
|
optimize_function_for_size_p.
|
8514 |
|
|
* recog.c (relax_delay_slots): Likewise.
|
8515 |
|
|
* tree-ssa-math-opts.c (replace_reciprocal):
|
8516 |
|
|
Use optimize_bb_for_speed_p.
|
8517 |
|
|
(execute_cse_reciprocals): Use optimize_bb_for_size_p.
|
8518 |
|
|
* ipa-inline.c (cgraph_decide_recursive_inlining): Use
|
8519 |
|
|
optimize_function_for_size_p.
|
8520 |
|
|
(cgraph_decide_inlining_of_small_function): Use
|
8521 |
|
|
optimize_function_for_size_p.
|
8522 |
|
|
* global.c (find_reg): Use optimize_function_for_size_p.
|
8523 |
|
|
* opts.c (decode_options): Do not clear flag_tree_ch,
|
8524 |
|
|
flag_inline_functions, flag_unswitch_loops, flag_unroll_loops,
|
8525 |
|
|
flag_unroll_all_loops and flag_prefetch_loop_arrays. Those can
|
8526 |
|
|
work it out from profile.
|
8527 |
|
|
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Use
|
8528 |
|
|
optimize_loop_for_speed_p.
|
8529 |
|
|
* predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p):
|
8530 |
|
|
Constify argument.
|
8531 |
|
|
(optimize_loop_nest_for_size_p, optimize_loop_nest_for_speed_p): New.
|
8532 |
|
|
* tree-parloops.c (parallelize_loops): Use optimize_loop_for_size_p.
|
8533 |
|
|
* tree-eh.c (decide_copy_try_finally): Use
|
8534 |
|
|
optimize_function_for_size_p.
|
8535 |
|
|
* local-alloc.c (block_alloc): Pass BB pointer.
|
8536 |
|
|
(find_free_reg): Add BB pointer, use optimize_bb_for_size_p.
|
8537 |
|
|
* gcse.c (gcse_main): Use optimize_function_for_size_p.
|
8538 |
|
|
* loop-unroll.c (decide_unrolling_and_peeling):
|
8539 |
|
|
Use optimize_loop_for_size_p.
|
8540 |
|
|
(decide_peel_completely): Likewise.
|
8541 |
|
|
* tree-vect-analyze.c (vect_mark_for_runtime_alias_test): Use
|
8542 |
|
|
optimize_loop_for_size_p.
|
8543 |
|
|
(vect_enhance_data_refs_alignment): Likewise.
|
8544 |
|
|
* tree-ssa-coalesce.c (coalesce_cost): Add optimize_for_size argument.
|
8545 |
|
|
(coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map):
|
8546 |
|
|
Update call.
|
8547 |
|
|
* cfgcleanup.c (outgoing_edges_match): Use optimize_bb_for_speed_p.
|
8548 |
|
|
(try_crossjump_bb): Use optimize_bb_for_size_p.
|
8549 |
|
|
* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
|
8550 |
|
|
optimize_loop_for_speed_p.
|
8551 |
|
|
* bb-reorder.c (find_traces_1_round): Likewise.
|
8552 |
|
|
(copy_bb): Use optimize_bb_for_speed_p.
|
8553 |
|
|
(duplicate_computed_gotos): Likewise.
|
8554 |
|
|
* basic-block.h (optimize_loop_nest_for_size_p,
|
8555 |
|
|
optimize_loop_nest_for_speed_p): New.
|
8556 |
|
|
* stmt.c (expand_case): Use optimize_insn_for_size_p.
|
8557 |
|
|
|
8558 |
|
|
2008-08-29 Tristan Gingold
|
8559 |
|
|
|
8560 |
|
|
* gcov.c (main): Call expandargv.
|
8561 |
|
|
|
8562 |
|
|
2008-08-29 Jan Hubicka
|
8563 |
|
|
|
8564 |
|
|
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Check that loop
|
8565 |
|
|
is not cold.
|
8566 |
|
|
* predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p):
|
8567 |
|
|
Constify arguments.
|
8568 |
|
|
(optimize_loop_for_size_p, optimize_loop_for_speed_p): New functions.
|
8569 |
|
|
* basic-block.h (optimize_bb_for_size_p, optimize_bb_for_speed_p):
|
8570 |
|
|
Constify.
|
8571 |
|
|
(optimize_loop_for_size_p, optimize_loop_for_speed_p): Declare.
|
8572 |
|
|
|
8573 |
|
|
2008-08-29 Jan Hubicka
|
8574 |
|
|
|
8575 |
|
|
* tree-pass.h (pass_strip_predict_hints): Declare.
|
8576 |
|
|
* predict.c (strip_builtin_expect): Rename to ...
|
8577 |
|
|
(strip_predict_hints): ... this one; strip also GIMPLE_PREDICT.
|
8578 |
|
|
(tree_bb_level_predictions): Do not remove GIMPLE_PREDICT.
|
8579 |
|
|
(tree_estimate_probability): Do not strip builtin_expect.
|
8580 |
|
|
(pass_strip_predict_hints): New pass.
|
8581 |
|
|
* tree-inline.c (expand_call_inline): When inlining cold function,
|
8582 |
|
|
predict it as unlikely.
|
8583 |
|
|
* passes.c (init_optimization_passes): Add pass_strip_predict_hints.
|
8584 |
|
|
|
8585 |
|
|
2008-08-29 Richard Guenther
|
8586 |
|
|
|
8587 |
|
|
PR tree-optimization/37207
|
8588 |
|
|
* tree-vrp.c (extract_range_from_binary_expr): Also try
|
8589 |
|
|
to constant fold if only one of the operands is a constant.
|
8590 |
|
|
|
8591 |
|
|
2008-08-29 Nick Clifton
|
8592 |
|
|
|
8593 |
|
|
* config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Treat LABEL_REFs in
|
8594 |
|
|
the same way as SYMBOL_REFs.
|
8595 |
|
|
|
8596 |
|
|
2008-08-28 Bob Wilson
|
8597 |
|
|
|
8598 |
|
|
* config/xtensa/xtensa.md (mulsidi3): Use a temporary register.
|
8599 |
|
|
|
8600 |
|
|
2008-08-28 Adam Nemet
|
8601 |
|
|
|
8602 |
|
|
* config/mips/mips.h (ISA_HAS_BBIT): New macro.
|
8603 |
|
|
* config/mips/mips.md (branch_likely): Remove const. Fix
|
8604 |
|
|
comment formatting.
|
8605 |
|
|
(define_delay for type "branch"): Change to only apply for branch
|
8606 |
|
|
with likely variant.
|
8607 |
|
|
(define_delay for type "branch" and "branch_likely" no). New delay
|
8608 |
|
|
definition.
|
8609 |
|
|
(equality_op): New code iterator.
|
8610 |
|
|
(bbv, bbinv): New code attributes.
|
8611 |
|
|
(*branch_bit, *branch_bit_inverted): New
|
8612 |
|
|
patterns.
|
8613 |
|
|
|
8614 |
|
|
2008-08-28 Manuel Lopez-Ibanez
|
8615 |
|
|
Andrew Pinski
|
8616 |
|
|
|
8617 |
|
|
PR 18050
|
8618 |
|
|
* c-common.c (verify_tree): Fix handling of ADDR_EXPR.
|
8619 |
|
|
|
8620 |
|
|
2008-08-28 Paolo Carlini
|
8621 |
|
|
|
8622 |
|
|
* gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix
|
8623 |
|
|
rule that a symbolic constant must be defined and >= 0 for the
|
8624 |
|
|
corresponding facility to be present at compile-time.
|
8625 |
|
|
* gthr-posix.c: Likewise.
|
8626 |
|
|
|
8627 |
|
|
2008-08-28 Adam Nemet
|
8628 |
|
|
|
8629 |
|
|
* config/mips/mips.h (ISA_HAS_DMUL3): New macro.
|
8630 |
|
|
* config/mips/mips.md (D): New mode attribute.
|
8631 |
|
|
(mulsi3, muldi3): Merge it into ...
|
8632 |
|
|
(mul3): ... new template. Use _mul3 ending for 3-op patterns.
|
8633 |
|
|
(muldi3_mul3): New pattern.
|
8634 |
|
|
(mulsi3_mult3): Rename to mulsi3_mul3.
|
8635 |
|
|
|
8636 |
|
|
2008-08-28 Jan Hubicka
|
8637 |
|
|
|
8638 |
|
|
* expmed.c (store_bit_field_1): Be prepared for movstrict expander
|
8639 |
|
|
to fail.
|
8640 |
|
|
* predict.c (always_optimize_for_size_p): Rename to ...
|
8641 |
|
|
(optimize_function_for_size): ... this one; make extern.
|
8642 |
|
|
(optimize_function_for_speed_p): New.
|
8643 |
|
|
(optimize_bb_for_size_p, optimize_bb_for_size_p,
|
8644 |
|
|
optimize_edge_for_size_p,optimize_edge_for_size_p,
|
8645 |
|
|
optimize_insn_for_size_p, optimize_insn_for_size_p): Update.
|
8646 |
|
|
* basic-block.h (optimize_function_for_size_p,
|
8647 |
|
|
optimize_function_for_speed_p): Declare.
|
8648 |
|
|
* i386.md (optimize_size checks): Replace them by appropriate
|
8649 |
|
|
predicate.
|
8650 |
|
|
(standard_80387_constant_p, ix86_compute_frame_layout,
|
8651 |
|
|
ix86_expand_epilogue, ix86_decompose_address,
|
8652 |
|
|
print_operand, emit_i387_cw_initialization,
|
8653 |
|
|
inline_memory_move_cost, ix86_pad_returns,
|
8654 |
|
|
ix86_reorg): Replace optimize_size checks.
|
8655 |
|
|
|
8656 |
|
|
2008-08-28 Richard Sandiford
|
8657 |
|
|
|
8658 |
|
|
* rtl.h (simplify_subreg_regno): Declare.
|
8659 |
|
|
* rtlanal.c (simplify_subreg_regno): New function, split out from...
|
8660 |
|
|
* simplify-rtx.c (simplify_subreg): ...here.
|
8661 |
|
|
* reload.c (find_reloads): Use simplify_subreg_regno instead of
|
8662 |
|
|
subreg_offset_representable_p.
|
8663 |
|
|
|
8664 |
|
|
2008-08-28 Manuel Lopez-Ibanez
|
8665 |
|
|
|
8666 |
|
|
PR c/30949
|
8667 |
|
|
* c-typeck.c (convert_for_assignment): Give a note describing what
|
8668 |
|
|
was passed and what was expected.
|
8669 |
|
|
|
8670 |
|
|
2008-08-28 Joey Ye
|
8671 |
|
|
|
8672 |
|
|
* doc/extend.texi: Document AVX built-in functions.
|
8673 |
|
|
* doc/invoke.texi: Document -mavx.
|
8674 |
|
|
|
8675 |
|
|
2008-08-28 H.J. Lu
|
8676 |
|
|
Joey Ye
|
8677 |
|
|
Xuepeng Guo
|
8678 |
|
|
|
8679 |
|
|
* config.gcc (extra_headers): Add gmmintrin.h for x86 and x86-64.
|
8680 |
|
|
|
8681 |
|
|
* config/i386/cpuid.h (bit_FMA): New.
|
8682 |
|
|
(bit_XSAVE): Likewise.
|
8683 |
|
|
(bit_OSXSAVE): Likewise.
|
8684 |
|
|
(bit_AVX): Likewise.
|
8685 |
|
|
|
8686 |
|
|
* config/i386/gas.h (ASM_OUTPUT_OPCODE): Undefine before
|
8687 |
|
|
define. Use ASM_OUTPUT_AVX_PREFIX.
|
8688 |
|
|
|
8689 |
|
|
* config/i386/gmmintrin.h: New.
|
8690 |
|
|
|
8691 |
|
|
* config/i386/i386.c (x86_64_reg_class): Add X86_64_AVX_CLASS.
|
8692 |
|
|
(OPTION_MASK_ISA_AVX_SET): New.
|
8693 |
|
|
(OPTION_MASK_ISA_FMA_SET): Likewise.
|
8694 |
|
|
(OPTION_MASK_ISA_AVX_UNSET): Likewise.
|
8695 |
|
|
(OPTION_MASK_ISA_FMA_SET): Likewise.
|
8696 |
|
|
(OPTION_MASK_ISA_SSE4_2_UNSET): Updated.
|
8697 |
|
|
(ix86_handle_option): Handle OPT_mavx and OPT_mfma.
|
8698 |
|
|
(pta_flags): Add PTA_AVX and PTA_FMA.
|
8699 |
|
|
(override_options): Handle PTA_AVX and PTA_FMA.
|
8700 |
|
|
(init_cumulative_args): Handle warn_avx.
|
8701 |
|
|
(classify_argument): Return 0 for COImode and OImode. Return
|
8702 |
|
|
1 and X86_64_AVX_CLASS for 256bit vector types.
|
8703 |
|
|
(examine_argument): Handle X86_64_AVX_CLASS.
|
8704 |
|
|
(construct_container): Likewise.
|
8705 |
|
|
(function_arg_advance_32): Pass OImode and 256bit vector types
|
8706 |
|
|
in AVX register.
|
8707 |
|
|
(function_arg_advance_64): Take a new argument to indicate if a
|
8708 |
|
|
parameter is named. Handle 256bit vector types. Return
|
8709 |
|
|
immediately for unnamed 256bit vector mode parameters.
|
8710 |
|
|
(function_arg_advance): Updated.
|
8711 |
|
|
(function_arg_32): Add comments for TImode. Handle OImode
|
8712 |
|
|
and 256bit vector types.
|
8713 |
|
|
(function_arg_64): Take a new argument to indicate if a
|
8714 |
|
|
parameter is named. Handle 256bit vector types. Return NULL
|
8715 |
|
|
for unnamed 256bit vector mode parameters.
|
8716 |
|
|
(function_arg): Updated.
|
8717 |
|
|
(setup_incoming_varargs_64): Support
|
8718 |
|
|
AVX encoding for *sse_prologue_save_insn.
|
8719 |
|
|
(ix86_gimplify_va_arg): Handle 256bit vector mode parameters.
|
8720 |
|
|
(standard_sse_constant_p): Return -2 for all 1s if SSE2 isn't
|
8721 |
|
|
enabled. For all 1s in 256bit vector modes, return 3 if AVX is
|
8722 |
|
|
enabled, otherwise return -3.
|
8723 |
|
|
(standard_sse_constant_opcode): Handle AVX and 256bit vector
|
8724 |
|
|
modes.
|
8725 |
|
|
(print_reg): Support AVX registers. Handle 'x' and 't'.
|
8726 |
|
|
Handle 'd' to duplicate the operand.
|
8727 |
|
|
(print_operand): Likewise. Also support AVX vector compare
|
8728 |
|
|
instructions.
|
8729 |
|
|
(output_387_binary_op): Support AVX.
|
8730 |
|
|
(output_fp_compare): Likewise.
|
8731 |
|
|
(ix86_expand_vector_move_misalign): Likewise.
|
8732 |
|
|
(ix86_attr_length_vex_default): New.
|
8733 |
|
|
(ix86_builtins): Add IX86_BUILTIN_ADDPD256,
|
8734 |
|
|
IX86_BUILTIN_ADDPS256, IX86_BUILTIN_ADDSUBPD256,
|
8735 |
|
|
IX86_BUILTIN_ADDSUBPS256, IX86_BUILTIN_ANDPD256,
|
8736 |
|
|
IX86_BUILTIN_ANDPS256, IX86_BUILTIN_ANDNPD256,
|
8737 |
|
|
IX86_BUILTIN_ANDNPS256, IX86_BUILTIN_BLENDPD256,
|
8738 |
|
|
IX86_BUILTIN_BLENDPS256, IX86_BUILTIN_BLENDVPD256,
|
8739 |
|
|
IX86_BUILTIN_BLENDVPS256, IX86_BUILTIN_DIVPD256,
|
8740 |
|
|
IX86_BUILTIN_DIVPS256, IX86_BUILTIN_DPPS256,
|
8741 |
|
|
IX86_BUILTIN_HADDPD256, IX86_BUILTIN_HADDPS256,
|
8742 |
|
|
IX86_BUILTIN_HSUBPD256, IX86_BUILTIN_HSUBPS256,
|
8743 |
|
|
IX86_BUILTIN_MAXPD256, IX86_BUILTIN_MAXPS256,
|
8744 |
|
|
IX86_BUILTIN_MINPD256, IX86_BUILTIN_MINPS256,
|
8745 |
|
|
IX86_BUILTIN_MULPD256, IX86_BUILTIN_MULPS256,
|
8746 |
|
|
IX86_BUILTIN_ORPD256, IX86_BUILTIN_ORPS256,
|
8747 |
|
|
IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS256,
|
8748 |
|
|
IX86_BUILTIN_SUBPD256, IX86_BUILTIN_SUBPS256,
|
8749 |
|
|
IX86_BUILTIN_XORPD256, IX86_BUILTIN_XORPS256,
|
8750 |
|
|
IX86_BUILTIN_CMPSD, IX86_BUILTIN_CMPSS, IX86_BUILTIN_CMPPD,
|
8751 |
|
|
IX86_BUILTIN_CMPPS, IX86_BUILTIN_CMPPD256,
|
8752 |
|
|
IX86_BUILTIN_CMPPS256, IX86_BUILTIN_CVTDQ2PD256,
|
8753 |
|
|
IX86_BUILTIN_CVTDQ2PS256, IX86_BUILTIN_CVTPD2PS256,
|
8754 |
|
|
IX86_BUILTIN_CVTPS2DQ256, IX86_BUILTIN_CVTPS2PD256,
|
8755 |
|
|
IX86_BUILTIN_CVTTPD2DQ256, IX86_BUILTIN_CVTPD2DQ256,
|
8756 |
|
|
IX86_BUILTIN_CVTTPS2DQ256, IX86_BUILTIN_EXTRACTF128PD256,
|
8757 |
|
|
IX86_BUILTIN_EXTRACTF128PS256, IX86_BUILTIN_EXTRACTF128SI256,
|
8758 |
|
|
IX86_BUILTIN_VZEROALL, IX86_BUILTIN_VZEROUPPER,
|
8759 |
|
|
IX86_BUILTIN_VZEROUPPER_REX64, IX86_BUILTIN_VPERMILVARPD,
|
8760 |
|
|
IX86_BUILTIN_VPERMILVARPS, IX86_BUILTIN_VPERMILVARPD256,
|
8761 |
|
|
IX86_BUILTIN_VPERMILVARPS256, IX86_BUILTIN_VPERMILPD,
|
8762 |
|
|
IX86_BUILTIN_VPERMILPS, IX86_BUILTIN_VPERMILPD256,
|
8763 |
|
|
IX86_BUILTIN_VPERMILPS256, IX86_BUILTIN_VPERMIL2PD,
|
8764 |
|
|
IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256,
|
8765 |
|
|
IX86_BUILTIN_VPERMIL2PS256, IX86_BUILTIN_VPERM2F128PD256,
|
8766 |
|
|
IX86_BUILTIN_VPERM2F128PS256, IX86_BUILTIN_VPERM2F128SI256,
|
8767 |
|
|
IX86_BUILTIN_VBROADCASTSS, IX86_BUILTIN_VBROADCASTSD256,
|
8768 |
|
|
IX86_BUILTIN_VBROADCASTSS256, IX86_BUILTIN_VBROADCASTPD256,
|
8769 |
|
|
IX86_BUILTIN_VBROADCASTPS256, IX86_BUILTIN_VINSERTF128PD256,
|
8770 |
|
|
IX86_BUILTIN_VINSERTF128PS256, IX86_BUILTIN_VINSERTF128SI256,
|
8771 |
|
|
IX86_BUILTIN_LOADUPD256, IX86_BUILTIN_LOADUPS256,
|
8772 |
|
|
IX86_BUILTIN_STOREUPD256, IX86_BUILTIN_STOREUPS256,
|
8773 |
|
|
IX86_BUILTIN_LDDQU256, IX86_BUILTIN_LOADDQU256,
|
8774 |
|
|
IX86_BUILTIN_STOREDQU256, IX86_BUILTIN_MASKLOADPD,
|
8775 |
|
|
IX86_BUILTIN_MASKLOADPS, IX86_BUILTIN_MASKSTOREPD,
|
8776 |
|
|
IX86_BUILTIN_MASKSTOREPS, IX86_BUILTIN_MASKLOADPD256,
|
8777 |
|
|
IX86_BUILTIN_MASKLOADPS256, IX86_BUILTIN_MASKSTOREPD256,
|
8778 |
|
|
IX86_BUILTIN_MASKSTOREPS256, IX86_BUILTIN_MOVSHDUP256,
|
8779 |
|
|
IX86_BUILTIN_MOVSLDUP256, IX86_BUILTIN_MOVDDUP256,
|
8780 |
|
|
IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS256,
|
8781 |
|
|
IX86_BUILTIN_SQRTPS_NR256, IX86_BUILTIN_RSQRTPS256,
|
8782 |
|
|
IX86_BUILTIN_RSQRTPS_NR256, IX86_BUILTIN_RCPPS256,
|
8783 |
|
|
IX86_BUILTIN_ROUNDPD256, IX86_BUILTIN_ROUNDPS256,
|
8784 |
|
|
IX86_BUILTIN_UNPCKHPD256, IX86_BUILTIN_UNPCKLPD256,
|
8785 |
|
|
IX86_BUILTIN_UNPCKHPS256, IX86_BUILTIN_UNPCKLPS256,
|
8786 |
|
|
IX86_BUILTIN_SI256_SI, IX86_BUILTIN_PS256_PS,
|
8787 |
|
|
IX86_BUILTIN_PD256_PD, IX86_BUILTIN_SI_SI256,
|
8788 |
|
|
IX86_BUILTIN_PS_PS256, IX86_BUILTIN_PD_PD256,
|
8789 |
|
|
IX86_BUILTIN_VTESTZPD, IX86_BUILTIN_VTESTCPD,
|
8790 |
|
|
IX86_BUILTIN_VTESTNZCPD, IX86_BUILTIN_VTESTZPS,
|
8791 |
|
|
IX86_BUILTIN_VTESTCPS, IX86_BUILTIN_VTESTNZCPS,
|
8792 |
|
|
IX86_BUILTIN_VTESTZPD256, IX86_BUILTIN_VTESTCPD256,
|
8793 |
|
|
IX86_BUILTIN_VTESTNZCPD256, IX86_BUILTIN_VTESTZPS256,
|
8794 |
|
|
IX86_BUILTIN_VTESTCPS256, IX86_BUILTIN_VTESTNZCPS256,
|
8795 |
|
|
IX86_BUILTIN_PTESTZ256, IX86_BUILTIN_PTESTC256,
|
8796 |
|
|
IX86_BUILTIN_PTESTNZC256, IX86_BUILTIN_MOVMSKPD256
|
8797 |
|
|
and IX86_BUILTIN_MOVMSKPS256,
|
8798 |
|
|
(ix86_special_builtin_type): Add V32QI_FTYPE_PCCHAR,
|
8799 |
|
|
V8SF_FTYPE_PCV4SF, V8SF_FTYPE_PCFLOAT, V4DF_FTYPE_PCV2DF,
|
8800 |
|
|
V4DF_FTYPE_PCDOUBLE, V8SF_FTYPE_PCV8SF_V8SF,
|
8801 |
|
|
V4DF_FTYPE_PCV4DF_V4DF, V4SF_FTYPE_PCV4SF_V4SF,
|
8802 |
|
|
V2DF_FTYPE_PCV2DF_V2DF, VOID_FTYPE_PCHAR_V32QI,
|
8803 |
|
|
VOID_FTYPE_PFLOAT_V8SF, VOID_FTYPE_PDOUBLE_V4DF,
|
8804 |
|
|
VOID_FTYPE_PV8SF_V8SF_V8SF, VOID_FTYPE_PV4DF_V4DF_V4DF,
|
8805 |
|
|
VOID_FTYPE_PV4SF_V4SF_V4SF and VOID_FTYPE_PV2DF_V2DF_V2DF,
|
8806 |
|
|
(ix86_builtin_type): Add INT_FTYPE_V8SF_V8SF_PTEST,
|
8807 |
|
|
INT_FTYPE_V4DI_V4DI_PTEST, INT_FTYPE_V4DF_V4DF_PTEST,
|
8808 |
|
|
INT_FTYPE_V4SF_V4SF_PTEST, INT_FTYPE_V2DF_V2DF_PTEST,
|
8809 |
|
|
INT_FTYPE_V8SF, INT_FTYPE_V4DF, V8SI_FTYPE_V8SF, V8SI_FTYPE_V4SI,
|
8810 |
|
|
V8SF_FTYPE_V8SF, V8SF_FTYPE_V8SI, V8SF_FTYPE_V4SF,
|
8811 |
|
|
V4SI_FTYPE_V8SI, V4SI_FTYPE_V4DF, V4DF_FTYPE_V4DF,
|
8812 |
|
|
V4DF_FTYPE_V4SI, V4DF_FTYPE_V4SF, V4DF_FTYPE_V2DF,
|
8813 |
|
|
V4SF_FTYPE_V4DF, V4SF_FTYPE_V8SF, V2DF_FTYPE_V4DF,
|
8814 |
|
|
V8SF_FTYPE_V8SF_V8SF, V8SF_FTYPE_V8SF_V8SI,
|
8815 |
|
|
V4DF_FTYPE_V4DF_V4DF, V4DF_FTYPE_V4DF_V4DI,
|
8816 |
|
|
V4SF_FTYPE_V4SF_V4SI, V2DF_FTYPE_V2DF_V2DI,
|
8817 |
|
|
V8SF_FTYPE_V8SF_INT, V4SI_FTYPE_V8SI_INT, V4SF_FTYPE_V8SF_INT,
|
8818 |
|
|
V2DF_FTYPE_V4DF_INT, V4DF_FTYPE_V4DF_INT,
|
8819 |
|
|
V8SF_FTYPE_V8SF_V8SF_V8SF, V4DF_FTYPE_V4DF_V4DF_V4DF,
|
8820 |
|
|
V8SI_FTYPE_V8SI_V8SI_INT, V8SF_FTYPE_V8SF_V8SF_INT,
|
8821 |
|
|
V4DF_FTYPE_V4DF_V4DF_INT, V4DF_FTYPE_V4DF_V2DF_INT,
|
8822 |
|
|
V8SF_FTYPE_V8SF_V8SF_V8SI_INT, V4DF_FTYPE_V4DF_V4DF_V4DI_INT,
|
8823 |
|
|
V4SF_FTYPE_V4SF_V4SF_V4SI_INT and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
|
8824 |
|
|
(bdesc_special_args): Add IX86_BUILTIN_VZEROALL,
|
8825 |
|
|
IX86_BUILTIN_VZEROUPPER. IX86_BUILTIN_VZEROUPPER_REX64,
|
8826 |
|
|
IX86_BUILTIN_VBROADCASTSS, IX86_BUILTIN_VBROADCASTSD256,
|
8827 |
|
|
IX86_BUILTIN_VBROADCASTSS256, IX86_BUILTIN_VBROADCASTPD256,
|
8828 |
|
|
IX86_BUILTIN_VBROADCASTPS256, IX86_BUILTIN_LOADUPD256,
|
8829 |
|
|
IX86_BUILTIN_LOADUPS256, IX86_BUILTIN_STOREUPD256,
|
8830 |
|
|
IX86_BUILTIN_STOREUPS256, IX86_BUILTIN_LOADDQU256,
|
8831 |
|
|
IX86_BUILTIN_STOREDQU256, IX86_BUILTIN_LDDQU256,
|
8832 |
|
|
IX86_BUILTIN_MASKLOADPD, IX86_BUILTIN_MASKLOADPS,
|
8833 |
|
|
IX86_BUILTIN_MASKLOADPD256, IX86_BUILTIN_MASKLOADPS256,
|
8834 |
|
|
IX86_BUILTIN_MASKSTOREPD, IX86_BUILTIN_MASKSTOREPS,
|
8835 |
|
|
IX86_BUILTIN_MASKSTOREPD256 and IX86_BUILTIN_MASKSTOREPS256.
|
8836 |
|
|
(ix86_builtins): Add IX86_BUILTIN_ADDPD256,
|
8837 |
|
|
IX86_BUILTIN_ADDPS256, IX86_BUILTIN_ADDSUBPD256,
|
8838 |
|
|
IX86_BUILTIN_ADDSUBPS256, IX86_BUILTIN_ANDPD256,
|
8839 |
|
|
IX86_BUILTIN_ANDPS256, IX86_BUILTIN_ANDNPD256,
|
8840 |
|
|
IX86_BUILTIN_ANDNPS256, IX86_BUILTIN_DIVPD256,
|
8841 |
|
|
IX86_BUILTIN_DIVPS256, IX86_BUILTIN_HADDPD256,
|
8842 |
|
|
IX86_BUILTIN_HSUBPS256, IX86_BUILTIN_HSUBPD256,
|
8843 |
|
|
IX86_BUILTIN_HADDPS256, IX86_BUILTIN_MAXPD256,
|
8844 |
|
|
IX86_BUILTIN_MAXPS256, IX86_BUILTIN_MINPD256,
|
8845 |
|
|
IX86_BUILTIN_MINPS256, IX86_BUILTIN_MULPD256,
|
8846 |
|
|
IX86_BUILTIN_MULPS256, IX86_BUILTIN_ORPD256,
|
8847 |
|
|
IX86_BUILTIN_ORPS256, IX86_BUILTIN_SUBPD256,
|
8848 |
|
|
IX86_BUILTIN_SUBPS256, IX86_BUILTIN_XORPD256,
|
8849 |
|
|
IX86_BUILTIN_XORPS256, IX86_BUILTIN_VPERMILVARPD,
|
8850 |
|
|
IX86_BUILTIN_VPERMILVARPS, IX86_BUILTIN_VPERMILVARPD256,
|
8851 |
|
|
IX86_BUILTIN_VPERMILVARPS256, IX86_BUILTIN_BLENDPD256,
|
8852 |
|
|
IX86_BUILTIN_BLENDPS256, IX86_BUILTIN_BLENDVPD256,
|
8853 |
|
|
IX86_BUILTIN_BLENDVPS256, IX86_BUILTIN_DPPS256,
|
8854 |
|
|
IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS256,
|
8855 |
|
|
IX86_BUILTIN_CMPSD, IX86_BUILTIN_CMPSS, IX86_BUILTIN_CMPPD,
|
8856 |
|
|
IX86_BUILTIN_CMPPS,
|
8857 |
|
|
IX86_BUILTIN_CMPPD256,IX86_BUILTIN_CMPPS256,
|
8858 |
|
|
IX86_BUILTIN_EXTRACTF128PD256, IX86_BUILTIN_EXTRACTF128PS256,
|
8859 |
|
|
IX86_BUILTIN_EXTRACTF128SI256, IX86_BUILTIN_CVTDQ2PD256,
|
8860 |
|
|
IX86_BUILTIN_CVTDQ2PS256, IX86_BUILTIN_CVTPD2PS256,
|
8861 |
|
|
IX86_BUILTIN_CVTPS2DQ256, IX86_BUILTIN_CVTPS2PD256,
|
8862 |
|
|
IX86_BUILTIN_CVTTPD2DQ256, IX86_BUILTIN_CVTPD2DQ256,
|
8863 |
|
|
IX86_BUILTIN_CVTTPS2DQ256, IX86_BUILTIN_VPERM2F128PD256,
|
8864 |
|
|
IX86_BUILTIN_VPERM2F128PS256, IX86_BUILTIN_VPERM2F128SI256,
|
8865 |
|
|
IX86_BUILTIN_VPERMILPD, IX86_BUILTIN_VPERMILPS,
|
8866 |
|
|
IX86_BUILTIN_VPERMILPD256, IX86_BUILTIN_VPERMILPS256,
|
8867 |
|
|
IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMILPS,
|
8868 |
|
|
IX86_BUILTIN_VPERMILPD256, IX86_BUILTIN_VPERMILPS256,
|
8869 |
|
|
IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
|
8870 |
|
|
IX86_BUILTIN_VPERMIL2PD256, IX86_BUILTIN_VPERMIL2PS256,
|
8871 |
|
|
IX86_BUILTIN_VINSERTF128PD256, IX86_BUILTIN_VINSERTF128PS256,
|
8872 |
|
|
IX86_BUILTIN_VINSERTF128SI256, IX86_BUILTIN_MOVSHDUP256,
|
8873 |
|
|
IX86_BUILTIN_MOVSLDUP256, IX86_BUILTIN_MOVDDUP256,
|
8874 |
|
|
IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS256,
|
8875 |
|
|
IX86_BUILTIN_SQRTPS_NR256, IX86_BUILTIN_RSQRTPS256,
|
8876 |
|
|
IX86_BUILTIN_RSQRTPS_NR256, IX86_BUILTIN_RCPPS256,
|
8877 |
|
|
IX86_BUILTIN_ROUNDPD256, IX86_BUILTIN_ROUNDPS256,
|
8878 |
|
|
IX86_BUILTIN_UNPCKHPD256, IX86_BUILTIN_UNPCKLPD256,
|
8879 |
|
|
IX86_BUILTIN_UNPCKHPS256, IX86_BUILTIN_UNPCKLPS256,
|
8880 |
|
|
IX86_BUILTIN_SI256_SI, IX86_BUILTIN_PS256_PS,
|
8881 |
|
|
IX86_BUILTIN_PD256_PD, IX86_BUILTIN_SI_SI256,
|
8882 |
|
|
IX86_BUILTIN_PS_PS256, IX86_BUILTIN_PD_PD256,
|
8883 |
|
|
IX86_BUILTIN_VTESTZPD, IX86_BUILTIN_VTESTCPD,
|
8884 |
|
|
IX86_BUILTIN_VTESTNZCPD, IX86_BUILTIN_VTESTZPS,
|
8885 |
|
|
IX86_BUILTIN_VTESTCPS, IX86_BUILTIN_VTESTNZCPS,
|
8886 |
|
|
IX86_BUILTIN_VTESTZPD256, IX86_BUILTIN_VTESTCPD256,
|
8887 |
|
|
IX86_BUILTIN_VTESTNZCPD256, IX86_BUILTIN_VTESTZPS256,
|
8888 |
|
|
IX86_BUILTIN_VTESTCPS256, IX86_BUILTIN_VTESTNZCPS256,
|
8889 |
|
|
IX86_BUILTIN_PTESTZ256, IX86_BUILTIN_PTESTC256,
|
8890 |
|
|
IX86_BUILTIN_PTESTNZC256, IX86_BUILTIN_MOVMSKPD256 and
|
8891 |
|
|
IX86_BUILTIN_MOVMSKPS256.
|
8892 |
|
|
(ix86_init_mmx_sse_builtins): Support AVX builtins.
|
8893 |
|
|
(ix86_expand_args_builtin): Likewise.
|
8894 |
|
|
(ix86_expand_special_args_builtin): Likewise.
|
8895 |
|
|
(ix86_hard_regno_mode_ok): Handle AVX modes.
|
8896 |
|
|
(ix86_expand_vector_init_duplicate): Likewise.
|
8897 |
|
|
(ix86_expand_vector_init_one_nonzero): Likewise.
|
8898 |
|
|
(ix86_expand_vector_init_one_var): Likewise.
|
8899 |
|
|
(ix86_expand_vector_init_concat): Likewise.
|
8900 |
|
|
(ix86_expand_vector_init_general): Likewise.
|
8901 |
|
|
(ix86_expand_vector_set): Likewise.
|
8902 |
|
|
(ix86_vector_mode_supported_p): Likewise.
|
8903 |
|
|
(x86_extended_reg_mentioned_p): Check INSN_P before using
|
8904 |
|
|
PATTERN.
|
8905 |
|
|
|
8906 |
|
|
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
|
8907 |
|
|
OPTION_MASK_ISA_AVX and OPTION_MASK_ISA_FMA.
|
8908 |
|
|
|
8909 |
|
|
* config/i386/i386.h (TARGET_AVX): New.
|
8910 |
|
|
(TARGET_FMA): Likewise.
|
8911 |
|
|
(TARGET_CPU_CPP_BUILTINS): Handle TARGET_AVX and TARGET_FMA.
|
8912 |
|
|
(BIGGEST_ALIGNMENT): Set to 256 for TARGET_AVX.
|
8913 |
|
|
(VALID_AVX256_REG_MODE): New.
|
8914 |
|
|
(AVX256_VEC_FLOAT_MODE_P): Likewise.
|
8915 |
|
|
(AVX_FLOAT_MODE_P): Likewise.
|
8916 |
|
|
(AVX128_VEC_FLOAT_MODE_P): Likewise.
|
8917 |
|
|
(AVX256_VEC_FLOAT_MODE_P): Likewise.
|
8918 |
|
|
(AVX_VEC_FLOAT_MODE_P): Likewise.
|
8919 |
|
|
(ASM_OUTPUT_AVX_PREFIX): Likewise.
|
8920 |
|
|
(ASM_OUTPUT_OPCODE): Likewise.
|
8921 |
|
|
(UNITS_PER_SIMD_WORD): Add a FIXME for 32byte vectorizer
|
8922 |
|
|
support.
|
8923 |
|
|
(SSE_REG_MODE_P): Allow 256bit vector modes.
|
8924 |
|
|
(ix86_args): Add a warn_avx field.
|
8925 |
|
|
|
8926 |
|
|
* config/i386/i386.md (UNSPEC_PCMP): New.
|
8927 |
|
|
(UNSPEC_VPERMIL): Likewise.
|
8928 |
|
|
(UNSPEC_VPERMIL2): Likewise.
|
8929 |
|
|
(UNSPEC_VPERMIL2F128): Likewise.
|
8930 |
|
|
(UNSPEC_MASKLOAD): Likewise.
|
8931 |
|
|
(UNSPEC_MASKSTORE): Likewise.
|
8932 |
|
|
(UNSPEC_CAST): Likewise.
|
8933 |
|
|
(UNSPEC_VTESTP): Likewise.
|
8934 |
|
|
(UNSPECV_VZEROALL): Likewise.
|
8935 |
|
|
(UNSPECV_VZEROUPPER): Likewise.
|
8936 |
|
|
(XMM0_REG): Likewise.
|
8937 |
|
|
(XMM1_REG): Likewise.
|
8938 |
|
|
(XMM2_REG): Likewise.
|
8939 |
|
|
(XMM3_REG): Likewise.
|
8940 |
|
|
(XMM4_REG): Likewise.
|
8941 |
|
|
(XMM5_REG): Likewise.
|
8942 |
|
|
(XMM6_REG): Likewise.
|
8943 |
|
|
(XMM8_REG): Likewise.
|
8944 |
|
|
(XMM9_REG): Likewise.
|
8945 |
|
|
(XMM10_REG): Likewise.
|
8946 |
|
|
(XMM11_REG): Likewise.
|
8947 |
|
|
(XMM12_REG): Likewise.
|
8948 |
|
|
(XMM13_REG): Likewise.
|
8949 |
|
|
(XMM14_REG): Likewise.
|
8950 |
|
|
(XMM15_REG): Likewise.
|
8951 |
|
|
(prefix): Likewise.
|
8952 |
|
|
(prefix_vex_imm8): Likewise.
|
8953 |
|
|
(prefix_vex_w): Likewise.
|
8954 |
|
|
(length_vex): Likewise.
|
8955 |
|
|
(maxmin): Likewise.
|
8956 |
|
|
(movoi): Likewise.
|
8957 |
|
|
(*avx_ashlti3): Likewise.
|
8958 |
|
|
(*avx_lshrti3): Likewise.
|
8959 |
|
|
(*avx_setcc): Likewise.
|
8960 |
|
|
(*fop__comm_mixed_avx): Likewise.
|
8961 |
|
|
(*fop__comm_avx): Likewise.
|
8962 |
|
|
(*fop__1_mixed_avx): Likewise.
|
8963 |
|
|
(*fop__1_avx): Likewise.
|
8964 |
|
|
(*avx_3): Likewise.
|
8965 |
|
|
(*avx_ieee_smin3): Likewise.
|
8966 |
|
|
(*avx_ieee_smax3): Likewise.
|
8967 |
|
|
(mode): Add OI, V8SF and V4DF.
|
8968 |
|
|
(length): Support VEX prefix.
|
8969 |
|
|
(*cmpfp_i_mixed): Set prefix attribute.
|
8970 |
|
|
(*cmpfp_i_sse): Likewise.
|
8971 |
|
|
(*cmpfp_iu_mixed): Likewise.
|
8972 |
|
|
(*cmpfp_iu_sse): Likewise.
|
8973 |
|
|
(*movsi_1): Support AVX.
|
8974 |
|
|
(*movdi_2): Likewise.
|
8975 |
|
|
(*movdi_1_rex64): Likewise.
|
8976 |
|
|
(*movti_internal): Likewise.
|
8977 |
|
|
(*movti_rex64): Likewise.
|
8978 |
|
|
(*movsf_1): Likewise.
|
8979 |
|
|
(*movdf_nointeger): Likewise.
|
8980 |
|
|
(*movdf_integer_rex64): Likewise.
|
8981 |
|
|
(*movtf_internal): Likewise.
|
8982 |
|
|
(zero_extendsidi2_32): Likewise.
|
8983 |
|
|
(zero_extendsidi2_rex64): Likewise.
|
8984 |
|
|
(*extendsfdf2_mixed): Likewise.
|
8985 |
|
|
(*extendsfdf2_sse): Likewise.
|
8986 |
|
|
(*truncdfsf_fast_mixed): Likewise.
|
8987 |
|
|
(*truncdfsf_fast_sse): Likewise.
|
8988 |
|
|
(*truncdfsf_mixed): Likewise.
|
8989 |
|
|
(fix_truncdi_sse): Likewise.
|
8990 |
|
|
(fix_truncsi_sse): Likewise.
|
8991 |
|
|
(*float2_mixed_interunit): Likewise.
|
8992 |
|
|
(*float2_mixed_nointerunit): Likewise.
|
8993 |
|
|
(*float2_sse_interunit): Likewise.
|
8994 |
|
|
(*float2_sse_nointerunit): Likewise.
|
8995 |
|
|
(*rcpsf2_sse): Likewise.
|
8996 |
|
|
(*rsqrtsf2_sse): Likewise.
|
8997 |
|
|
(*sqrt2_sse): Likewise.
|
8998 |
|
|
(sse4_1_round2): Likewise.
|
8999 |
|
|
(*sse_prologue_save_insn): Disallow REX prefix for AVX.
|
9000 |
|
|
Support AVX. Set length attribute properly for AVX.
|
9001 |
|
|
|
9002 |
|
|
* config/i386/i386-modes.def (VECTOR_MODES (INT, 32)): New.
|
9003 |
|
|
(VECTOR_MODES (FLOAT, 32)): Likewise.
|
9004 |
|
|
(VECTOR_MODE (INT, DI, 8)): Likewise.
|
9005 |
|
|
(VECTOR_MODE (INT, HI, 32)): Likewise.
|
9006 |
|
|
(VECTOR_MODE (INT, QI, 64)): Likewise.
|
9007 |
|
|
(VECTOR_MODE (FLOAT, DF, 8)): Likewise.
|
9008 |
|
|
(VECTOR_MODE (FLOAT, SF, 16)): Likewise.
|
9009 |
|
|
(VECTOR_MODE (INT, DI, 4)): Removed.
|
9010 |
|
|
(VECTOR_MODE (INT, SI, 8)): Likewise.
|
9011 |
|
|
(VECTOR_MODE (INT, HI, 16)): Likewise.
|
9012 |
|
|
(VECTOR_MODE (INT, QI, 32)): Likewise.
|
9013 |
|
|
(VECTOR_MODE (FLOAT, SF, 8)): Likewise.
|
9014 |
|
|
(INT_MODE (OI, 32)): Likewise.
|
9015 |
|
|
|
9016 |
|
|
* config/i386/i386.opt (mavx): New.
|
9017 |
|
|
(mfma): Likewise.
|
9018 |
|
|
|
9019 |
|
|
* config/i386/i386-protos.h (ix86_attr_length_vex_default): New.
|
9020 |
|
|
|
9021 |
|
|
* config/i386/mmx.md (*mov_internal_rex64): Support AVX.
|
9022 |
|
|
(*mov_internal_avx): New.
|
9023 |
|
|
(*movv2sf_internal_rex64_avx): Likewise.
|
9024 |
|
|
(*movv2sf_internal_avx): Likewise.
|
9025 |
|
|
|
9026 |
|
|
* config/i386/predicates.md (const_4_to_5_operand): New.
|
9027 |
|
|
(const_6_to_7_operand): Likewise.
|
9028 |
|
|
(const_8_to_11_operand): Likewise.
|
9029 |
|
|
(const_12_to_15_operand): Likewise.
|
9030 |
|
|
(avx_comparison_float_operator): Likewise.
|
9031 |
|
|
|
9032 |
|
|
* config/i386/sse.md (AVX256MODEI): New.
|
9033 |
|
|
(AVX256MODE): Likewise.
|
9034 |
|
|
(AVXMODEQI): Likewise.
|
9035 |
|
|
(AVXMODE): Likewise.
|
9036 |
|
|
(AVX256MODEF2P): Likewise.
|
9037 |
|
|
(AVX256MODE2P): Likewise.
|
9038 |
|
|
(AVX256MODE4P): Likewise.
|
9039 |
|
|
(AVX256MODE8P): Likewise.
|
9040 |
|
|
(AVXMODEF2P): Likewise.
|
9041 |
|
|
(AVXMODEF4P): Likewise.
|
9042 |
|
|
(AVXMODEDCVTDQ2PS): Likewise.
|
9043 |
|
|
(AVXMODEDCVTPS2DQ): Likewise.
|
9044 |
|
|
(avxvecmode): Likewise.
|
9045 |
|
|
(avxvecpsmode): Likewise.
|
9046 |
|
|
(avxhalfvecmode): Likewise.
|
9047 |
|
|
(avxscalarmode): Likewise.
|
9048 |
|
|
(avxcvtvecmode): Likewise.
|
9049 |
|
|
(avxpermvecmode): Likewise.
|
9050 |
|
|
(avxmodesuffixf2c): Likewise.
|
9051 |
|
|
(avxmodesuffixp): Likewise.
|
9052 |
|
|
(avxmodesuffixs): Likewise.
|
9053 |
|
|
(avxmodesuffix): Likewise.
|
9054 |
|
|
(vpermilbits): Likewise.
|
9055 |
|
|
(pinsrbits): Likewise.
|
9056 |
|
|
(mov): Likewise.
|
9057 |
|
|
(*mov_internal): Likewise.
|
9058 |
|
|
(push1): Likewise.
|
9059 |
|
|
(movmisalign): Likewise.
|
9060 |
|
|
(avx_movup): Likewise.
|
9061 |
|
|
(avx_movdqu): Likewise.
|
9062 |
|
|
(avx_lddqu): Likewise.
|
9063 |
|
|
(3): Likewise.
|
9064 |
|
|
(*avx_3): Likewise.
|
9065 |
|
|
(*avx_vm3): Likewise.
|
9066 |
|
|
(mul3): Likewise.
|
9067 |
|
|
(*avx_mul3): Likewise.
|
9068 |
|
|
(*avx_vmmul3): Likewise.
|
9069 |
|
|
(divv8sf3): Likewise.
|
9070 |
|
|
(divv4df3): Likewise.
|
9071 |
|
|
(avx_div3): Likewise.
|
9072 |
|
|
(*avx_div3): Likewise.
|
9073 |
|
|
(*avx_vmdiv3): Likewise.
|
9074 |
|
|
(avx_rcpv8sf2): Likewise.
|
9075 |
|
|
(*avx_vmrcpv4sf2): Likewise.
|
9076 |
|
|
(sqrtv8sf2): Likewise.
|
9077 |
|
|
(avx_sqrtv8sf2): Likewise.
|
9078 |
|
|
(*avx_vmsqrt2): Likewise.
|
9079 |
|
|
(rsqrtv8sf2): Likewise.
|
9080 |
|
|
(avx_rsqrtv8sf2): Likewise.
|
9081 |
|
|
(*avx_vmrsqrtv4sf2): Likewise.
|
9082 |
|
|
(3): Likewise.
|
9083 |
|
|
(*avx_3_finite): Likewise.
|
9084 |
|
|
(*avx_3): Likewise.
|
9085 |
|
|
(*avx_vm3): Likewise.
|
9086 |
|
|
(*avx_ieee_smin3): Likewise.
|
9087 |
|
|
(*avx_ieee_smax3): Likewise.
|
9088 |
|
|
(avx_addsubv8sf3): Likewise.
|
9089 |
|
|
(avx_addsubv4df3): Likewise.
|
9090 |
|
|
(*avx_addsubv4sf3): Likewise.
|
9091 |
|
|
(*avx_addsubv2df3): Likewise.
|
9092 |
|
|
(avx_hv4df3): Likewise.
|
9093 |
|
|
(avx_hv8sf3): Likewise.
|
9094 |
|
|
(*avx_hv4sf3): Likewise.
|
9095 |
|
|
(*avx_hv2df3): Likewise.
|
9096 |
|
|
(avx_cmpp3): Likewise.
|
9097 |
|
|
(avx_cmps3): Likewise.
|
9098 |
|
|
(*avx_maskcmp3): Likewise.
|
9099 |
|
|
(avx_nand3): Likewise.
|
9100 |
|
|
(*avx_3): Likewise.
|
9101 |
|
|
(*avx_nand3): Likewise.
|
9102 |
|
|
(*avx_3): Likewise.
|
9103 |
|
|
(*avx_cvtsi2ss): Likewise.
|
9104 |
|
|
(*avx_cvtsi2ssq): Likewise.
|
9105 |
|
|
(*avx_cvtsi2sd): Likewise.
|
9106 |
|
|
(*avx_cvtsi2sdq): Likewise.
|
9107 |
|
|
(*avx_cvtsd2ss): Likewise.
|
9108 |
|
|
(avx_cvtss2sd): Likewise.
|
9109 |
|
|
(avx_cvtdq2ps): Likewise.
|
9110 |
|
|
(avx_cvtps2dq): Likewise.
|
9111 |
|
|
(avx_cvttps2dq): Likewise.
|
9112 |
|
|
(*avx_cvtsi2sd): Likewise.
|
9113 |
|
|
(*avx_cvtsi2sdq): Likewise.
|
9114 |
|
|
(avx_cvtdq2pd256): Likewise.
|
9115 |
|
|
(avx_cvtpd2dq256): Likewise.
|
9116 |
|
|
(avx_cvttpd2dq256): Likewise.
|
9117 |
|
|
(*avx_cvtsd2ss): Likewise.
|
9118 |
|
|
(*avx_cvtss2sd): Likewise.
|
9119 |
|
|
(avx_cvtpd2ps256): Likewise.
|
9120 |
|
|
(avx_cvtps2pd256): Likewise.
|
9121 |
|
|
(*avx_movhlps): Likewise.
|
9122 |
|
|
(*avx_movlhps): Likewise.
|
9123 |
|
|
(avx_unpckhps256): Likewise.
|
9124 |
|
|
(*avx_unpckhps): Likewise.
|
9125 |
|
|
(avx_unpcklps256): Likewise.
|
9126 |
|
|
(*avx_unpcklps): Likewise.
|
9127 |
|
|
(avx_movshdup256): Likewise.
|
9128 |
|
|
(avx_movsldup256): Likewise.
|
9129 |
|
|
(avx_shufps256): Likewise.
|
9130 |
|
|
(avx_shufps256_1): Likewise.
|
9131 |
|
|
(*avx_shufps_): Likewise.
|
9132 |
|
|
(*avx_loadhps): Likewise.
|
9133 |
|
|
(*avx_storelps): Likewise.
|
9134 |
|
|
(*avx_loadlps): Likewise.
|
9135 |
|
|
(*avx_movss): Likewise.
|
9136 |
|
|
(*vec_dupv4sf_avx): Likewise.
|
9137 |
|
|
(*vec_concatv2sf_avx): Likewise.
|
9138 |
|
|
(*vec_concatv4sf_avx): Likewise.
|
9139 |
|
|
(*vec_setv4sf_0_avx): Likewise.
|
9140 |
|
|
(*vec_setv4sf_avx): Likewise.
|
9141 |
|
|
(*avx_insertps): Likewise.
|
9142 |
|
|
(avx_vextractf128): Likewise.
|
9143 |
|
|
(vec_extract_lo_): Likewise.
|
9144 |
|
|
(vec_extract_hi_): Likewise.
|
9145 |
|
|
(vec_extract_lo_): Likewise.
|
9146 |
|
|
(vec_extract_hi_): Likewise.
|
9147 |
|
|
(vec_extract_lo_v16hi): Likewise.
|
9148 |
|
|
(vec_extract_hi_v16hi): Likewise.
|
9149 |
|
|
(vec_extract_lo_v32qi): Likewise.
|
9150 |
|
|
(vec_extract_hi_v32qi): Likewise.
|
9151 |
|
|
(avx_unpckhpd256): Likewise.
|
9152 |
|
|
(*avx_unpckhpd): Likewise.
|
9153 |
|
|
(avx_movddup256): Likewise.
|
9154 |
|
|
(*avx_movddup): Likewise.
|
9155 |
|
|
(avx_unpcklpd256): Likewise.
|
9156 |
|
|
(*avx_unpcklpd): Likewise.
|
9157 |
|
|
(avx_shufpd256): Likewise.
|
9158 |
|
|
(avx_shufpd256_1): Likewise.
|
9159 |
|
|
(*avx_punpckhqdq): Likewise.
|
9160 |
|
|
(*avx_punpcklqdq): Likewise.
|
9161 |
|
|
(*avx_shufpd_): Likewise.
|
9162 |
|
|
(*avx_storehpd): Likewise.
|
9163 |
|
|
(*avx_loadhpd): Likewise.
|
9164 |
|
|
(*avx_loadlpd): Likewise.
|
9165 |
|
|
(*avx_movsd): Likewise.
|
9166 |
|
|
(*vec_concatv2df_avx): Likewise.
|
9167 |
|
|
(*avx_3): Likewise.
|
9168 |
|
|
(*avx_3): Likewise.
|
9169 |
|
|
(*avx_mulv8hi3): Likewise.
|
9170 |
|
|
(*avxv8hi3_highpart): Likewise.
|
9171 |
|
|
(*avx_umulv8hi3_highpart): Likewise.
|
9172 |
|
|
(*avx_umulv2siv2di3): Likewise.
|
9173 |
|
|
(*avx_mulv2siv2di3): Likewise.
|
9174 |
|
|
(*avx_pmaddwd): Likewise.
|
9175 |
|
|
(*avx_mulv4si3): Likewise.
|
9176 |
|
|
(*avx_ashr3): Likewise.
|
9177 |
|
|
(*avx_lshr3): Likewise.
|
9178 |
|
|
(*avx_ashl3): Likewise.
|
9179 |
|
|
(*avx_3): Likewise.
|
9180 |
|
|
(*avx_eq3): Likewise.
|
9181 |
|
|
(*avx_gt3): Likewise.
|
9182 |
|
|
(*avx_nand3): Likewise.
|
9183 |
|
|
(*avx_nand3): Likewise.
|
9184 |
|
|
(*avx_3): Likewise.
|
9185 |
|
|
(*avx_3): Likewise.
|
9186 |
|
|
(*avx_packsswb): Likewise.
|
9187 |
|
|
(*avx_packssdw): Likewise.
|
9188 |
|
|
(*avx_packuswb): Likewise.
|
9189 |
|
|
(*avx_punpckhbw): Likewise.
|
9190 |
|
|
(*avx_punpcklbw): Likewise.
|
9191 |
|
|
(*avx_punpckhwd): Likewise.
|
9192 |
|
|
(*avx_punpcklwd): Likewise.
|
9193 |
|
|
(*avx_punpckhdq): Likewise.
|
9194 |
|
|
(*avx_punpckldq): Likewise.
|
9195 |
|
|
(*avx_pinsr): Likewise.
|
9196 |
|
|
(*avx_pinsrq): Likewise.
|
9197 |
|
|
(*avx_loadld): Likewise.
|
9198 |
|
|
(*vec_extractv2di_1_rex64_avx): Likewise.
|
9199 |
|
|
(*vec_extractv2di_1_avx): Likewise.
|
9200 |
|
|
(*vec_dupv2di_avx): Likewise.
|
9201 |
|
|
(*vec_concatv2si_avx): Likewise.
|
9202 |
|
|
(*vec_concatv4si_1_avx): Likewise.
|
9203 |
|
|
(*vec_concatv2di_avx): Likewise.
|
9204 |
|
|
(*vec_concatv2di_rex64_avx): Likewise.
|
9205 |
|
|
(*avx_uavgv16qi3): Likewise.
|
9206 |
|
|
(*avx_uavgv8hi3): Likewise.
|
9207 |
|
|
(*avx_psadbw): Likewise.
|
9208 |
|
|
(avx_movmskp256): Likewise.
|
9209 |
|
|
(*avx_phaddwv8hi3): Likewise.
|
9210 |
|
|
(*avx_phadddv4si3): Likewise.
|
9211 |
|
|
(*avx_phaddswv8hi3): Likewise.
|
9212 |
|
|
(*avx_phsubwv8hi3): Likewise.
|
9213 |
|
|
(*avx_phsubdv4si3): Likewise.
|
9214 |
|
|
(*avx_phsubswv8hi3): Likewise.
|
9215 |
|
|
(*avx_pmaddubsw128): Likewise.
|
9216 |
|
|
(*avx_pmulhrswv8hi3): Likewise.
|
9217 |
|
|
(*avx_pshufbv16qi3): Likewise.
|
9218 |
|
|
(*avx_psign3): Likewise.
|
9219 |
|
|
(*avx_palignrti): Likewise.
|
9220 |
|
|
(avx_blendp): Likewise.
|
9221 |
|
|
(avx_blendvp): Likewise.
|
9222 |
|
|
(avx_dpp): Likewise.
|
9223 |
|
|
(*avx_mpsadbw): Likewise.
|
9224 |
|
|
(*avx_packusdw): Likewise.
|
9225 |
|
|
(*avx_pblendvb): Likewise.
|
9226 |
|
|
(*avx_pblendw): Likewise.
|
9227 |
|
|
(avx_vtestp): Likewise.
|
9228 |
|
|
(avx_ptest256): Likewise.
|
9229 |
|
|
(avx_roundp256): Likewise.
|
9230 |
|
|
(*avx_rounds): Likewise.
|
9231 |
|
|
(*avx_aesenc): Likewise.
|
9232 |
|
|
(*avx_aesenclast): Likewise.
|
9233 |
|
|
(*avx_aesdec): Likewise.
|
9234 |
|
|
(*avx_aesdeclast): Likewise.
|
9235 |
|
|
(avx_vzeroupper): Likewise.
|
9236 |
|
|
(avx_vzeroupper_rex64): Likewise.
|
9237 |
|
|
(avx_vpermil): Likewise.
|
9238 |
|
|
(avx_vpermilvar3): Likewise.
|
9239 |
|
|
(avx_vpermil23): Likewise.
|
9240 |
|
|
(avx_vperm2f1283): Likewise.
|
9241 |
|
|
(avx_vbroadcasts): Likewise.
|
9242 |
|
|
(avx_vbroadcastss256): Likewise.
|
9243 |
|
|
(avx_vbroadcastf128_p256): Likewise.
|
9244 |
|
|
(avx_vinsertf128): Likewise.
|
9245 |
|
|
(vec_set_lo_): Likewise.
|
9246 |
|
|
(vec_set_hi_): Likewise.
|
9247 |
|
|
(vec_set_lo_): Likewise.
|
9248 |
|
|
(vec_set_hi_): Likewise.
|
9249 |
|
|
(vec_set_lo_v16hi): Likewise.
|
9250 |
|
|
(vec_set_hi_v16hi): Likewise.
|
9251 |
|
|
(vec_set_lo_v32qi): Likewise.
|
9252 |
|
|
(vec_set_hi_v32qi): Likewise.
|
9253 |
|
|
(avx_maskloadp): Likewise.
|
9254 |
|
|
(avx_maskstorep): Likewise.
|
9255 |
|
|
(avx__): Likewise.
|
9256 |
|
|
(avx__): Likewise.
|
9257 |
|
|
(vec_init): Likewise.
|
9258 |
|
|
(*vec_concat_avx): Likewise.
|
9259 |
|
|
(blendbits): Support V8SF and V4DF.
|
9260 |
|
|
(sse2_movq128): Support AVX.
|
9261 |
|
|
(_movnt): Likewise.
|
9262 |
|
|
(sse2_movntv2di): Likewise.
|
9263 |
|
|
(sse_rcpv4sf2): Likewise.
|
9264 |
|
|
(sse_sqrtv4sf2): Likewise.
|
9265 |
|
|
(sse_rsqrtv4sf2): Likewise.
|
9266 |
|
|
(_comi): Likewise.
|
9267 |
|
|
(_ucomi): Likewise.
|
9268 |
|
|
(sse_cvtss2si): Likewise.
|
9269 |
|
|
(sse_cvtss2si_2): Likewise.
|
9270 |
|
|
(sse_cvtss2siq): Likewise.
|
9271 |
|
|
(sse_cvtss2siq_2): Likewise.
|
9272 |
|
|
(sse_cvttss2si): Likewise.
|
9273 |
|
|
(sse_cvttss2siq): Likewise.
|
9274 |
|
|
(sse2_cvtsd2si): Likewise.
|
9275 |
|
|
(sse2_cvtsd2si_2): Likewise.
|
9276 |
|
|
(sse2_cvtsd2siq): Likewise.
|
9277 |
|
|
(sse2_cvtsd2siq_2): Likewise.
|
9278 |
|
|
(sse2_cvttsd2si): Likewise.
|
9279 |
|
|
(sse2_cvttsd2siq): Likewise.
|
9280 |
|
|
(sse2_cvtdq2pd): Likewise.
|
9281 |
|
|
(*sse2_cvtpd2dq): Likewise.
|
9282 |
|
|
(*sse2_cvttpd2dq): Likewise.
|
9283 |
|
|
(*sse2_cvtpd2ps): Likewise.
|
9284 |
|
|
(sse2_cvtps2pd): Likewise.
|
9285 |
|
|
(sse3_movshdup): Likewise.
|
9286 |
|
|
(sse3_movsldup): Likewise.
|
9287 |
|
|
(sse_storehps): Likewise.
|
9288 |
|
|
(*sse4_1_extractps): Likewise.
|
9289 |
|
|
(sse2_storelpd): Likewise.
|
9290 |
|
|
(vec_dupv2df_sse3): Likewise.
|
9291 |
|
|
(*vec_concatv2df_sse3): Likewise.
|
9292 |
|
|
(*sse4_1_pextrb): Likewise.
|
9293 |
|
|
(*sse4_1_pextrb_memory): Likewise.
|
9294 |
|
|
(*sse2_pextrw): Likewise.
|
9295 |
|
|
(*sse4_1_pextrw_memory): Likewise.
|
9296 |
|
|
(*sse4_1_pextrd): Likewise.
|
9297 |
|
|
(*sse4_1_pextrq): Likewise.
|
9298 |
|
|
(sse2_pshufd_1): Likewise.
|
9299 |
|
|
(sse2_pshuflw_1): Likewise.
|
9300 |
|
|
(sse2_pshufhw_1): Likewise.
|
9301 |
|
|
(*sse2_storeq_rex64): Likewise.
|
9302 |
|
|
(*vec_dupv4si): Likewise.
|
9303 |
|
|
(_movmskp): Likewise.
|
9304 |
|
|
(sse2_pmovmskb): Likewise.
|
9305 |
|
|
(*sse2_maskmovdqu): Likewise.
|
9306 |
|
|
(*sse2_maskmovdqu_rex64): Likewise.
|
9307 |
|
|
(sse_ldmxcsr): Likewise.
|
9308 |
|
|
(sse_stmxcsr): Likewise.
|
9309 |
|
|
(abs2): Likewise.
|
9310 |
|
|
(sse4_1_movntdqa): Likewise.
|
9311 |
|
|
(sse4_1_phminposuw): Likewise.
|
9312 |
|
|
(sse4_1_extendv8qiv8hi2): Likewise.
|
9313 |
|
|
(*sse4_1_extendv8qiv8hi2): Likewise.
|
9314 |
|
|
(sse4_1_extendv4qiv4si2): Likewise.
|
9315 |
|
|
(*sse4_1_extendv4qiv4si2): Likewise.
|
9316 |
|
|
(sse4_1_extendv2qiv2di2): Likewise.
|
9317 |
|
|
(*sse4_1_extendv2qiv2di2): Likewise.
|
9318 |
|
|
(sse4_1_extendv4hiv4si2): Likewise.
|
9319 |
|
|
(*sse4_1_extendv4hiv4si2): Likewise.
|
9320 |
|
|
(sse4_1_extendv2hiv2di2): Likewise.
|
9321 |
|
|
(*sse4_1_extendv2hiv2di2): Likewise.
|
9322 |
|
|
(sse4_1_extendv2siv2di2): Likewise.
|
9323 |
|
|
(*sse4_1_extendv2siv2di2): Likewise.
|
9324 |
|
|
(sse4_1_zero_extendv8qiv8hi2): Likewise.
|
9325 |
|
|
(*sse4_1_zero_extendv8qiv8hi2): Likewise.
|
9326 |
|
|
(sse4_1_zero_extendv4qiv4si2): Likewise.
|
9327 |
|
|
(*sse4_1_zero_extendv4qiv4si2): Likewise.
|
9328 |
|
|
(sse4_1_zero_extendv2qiv2di2): Likewise.
|
9329 |
|
|
(*sse4_1_zero_extendv2qiv2di2): Likewise.
|
9330 |
|
|
(sse4_1_zero_extendv4hiv4si2): Likewise.
|
9331 |
|
|
(*sse4_1_zero_extendv4hiv4si2): Likewise.
|
9332 |
|
|
(sse4_1_zero_extendv2hiv2di2): Likewise.
|
9333 |
|
|
(*sse4_1_zero_extendv2hiv2di2): Likewise.
|
9334 |
|
|
(sse4_1_zero_extendv2siv2di2): Likewise.
|
9335 |
|
|
(*sse4_1_zero_extendv2siv2di2): Likewise.
|
9336 |
|
|
(sse4_1_ptest): Likewise.
|
9337 |
|
|
(sse4_1_roundp): Likewise.
|
9338 |
|
|
(sse4_2_pcmpestri): Likewise.
|
9339 |
|
|
(sse4_2_pcmpestrm): Likewise.
|
9340 |
|
|
(sse4_2_pcmpistri): Likewise.
|
9341 |
|
|
(sse4_2_pcmpistrm): Likewise.
|
9342 |
|
|
(aesimc): Likewise.
|
9343 |
|
|
(aeskeygenassist): Likewise.
|
9344 |
|
|
|
9345 |
|
|
2008-08-28 Uros Bizjak
|
9346 |
|
|
|
9347 |
|
|
* config/i386/predicates.md (vzeroall_operation): New.
|
9348 |
|
|
|
9349 |
|
|
* config/i386/sse.md (avx_vzeroall): New.
|
9350 |
|
|
(*avx_vzeroall): Likewise.
|
9351 |
|
|
|
9352 |
|
|
2008-08-28 Paul Brook
|
9353 |
|
|
Mark Shinwell
|
9354 |
|
|
Richard Earnshaw
|
9355 |
|
|
|
9356 |
|
|
* config/arm/arm.c (TARGET_MAX_ANCHOR_OFFSET): New.
|
9357 |
|
|
(TARGET_MIN_ANCHOR_OFFSET): New.
|
9358 |
|
|
(arm_override_options): Set correct anchor ranges for Thumb-1
|
9359 |
|
|
and Thumb-2 if required.
|
9360 |
|
|
(legitimize_pic_address): Handle case involving a TLS symbol
|
9361 |
|
|
reference with an addend.
|
9362 |
|
|
(arm_optimization_options): Enable section anchors at -O1 and
|
9363 |
|
|
above.
|
9364 |
|
|
* config/arm/arm.h (OPTIMIZATION_OPTIONS): New.
|
9365 |
|
|
* config/arm/arm-protos.h (arm_optimization_options): New.
|
9366 |
|
|
|
9367 |
|
|
2008-08-28 Nick Clifton
|
9368 |
|
|
|
9369 |
|
|
* config/stormy16/stormy16.h (IRA_COVER_CLASSES): Define.
|
9370 |
|
|
* config/stormy16/stormy16.md (zero_extendqihi2): Fix length
|
9371 |
|
|
attribute.
|
9372 |
|
|
|
9373 |
|
|
* config/v850/v850.h (IRA_COVER_CLASSES): Define.
|
9374 |
|
|
* config/v850/v850.md (return): Remove frame size restriction.
|
9375 |
|
|
|
9376 |
|
|
* config/mcore/mcore.h (IRA_COVER_CLASSES): Define.
|
9377 |
|
|
|
9378 |
|
|
* config/iq2000/iq2000.h (IRA_COVER_CLASSES): Define.
|
9379 |
|
|
|
9380 |
|
|
* config/fr30/fr30.h (IRA_COVER_CLASSES): Define.
|
9381 |
|
|
|
9382 |
|
|
* config/m32r/m32r.h (IRA_COVER_CLASSES): Define.
|
9383 |
|
|
|
9384 |
|
|
2008-08-28 Paul Brook
|
9385 |
|
|
|
9386 |
|
|
* config/arm/vfp11.md: Update license notice.
|
9387 |
|
|
* config/arm/cortex-r4.md: Ditto.
|
9388 |
|
|
|
9389 |
|
|
2008-08-28 Richard Guenther
|
9390 |
|
|
|
9391 |
|
|
PR tree-optimization/37207
|
9392 |
|
|
* tree-ssa-ifcombine.c (recognize_single_bit_test): Fix
|
9393 |
|
|
tuplification bug.
|
9394 |
|
|
|
9395 |
|
|
2008-08-28 Dodji Seketeli
|
9396 |
|
|
|
9397 |
|
|
PR c++/36741
|
9398 |
|
|
* tree.c (int_fits_type_p): Don't forget unsigned integers
|
9399 |
|
|
of type sizetype which higher end word equals -1.
|
9400 |
|
|
|
9401 |
|
|
2008-08-28 Ira Rosen
|
9402 |
|
|
|
9403 |
|
|
* target.h (struct vectorize): Add new target builtin.
|
9404 |
|
|
* tree-vectorizer.c (destroy_loop_vec_info): Call
|
9405 |
|
|
vect_free_slp_instance instead of vect_free_slp_node.
|
9406 |
|
|
* tree-vectorizer.h (enum slp_load_perm_type): New.
|
9407 |
|
|
(struct _slp_instance): Add new fields.
|
9408 |
|
|
(SLP_INSTANCE_LOAD_PERMUTATION): New.
|
9409 |
|
|
(SLP_INSTANCE_LOADS): New.
|
9410 |
|
|
(vect_free_slp_tree): Remove.
|
9411 |
|
|
(vect_free_slp_instance): Declare.
|
9412 |
|
|
(SLP_TREE_LOADS_PERM_TYPE, TARG_VEC_PERMUTE_COST): New.
|
9413 |
|
|
(vectorizable_load): Add argument.
|
9414 |
|
|
(vect_transform_slp_perm_load): New.
|
9415 |
|
|
* tree-vect-analyze.c (vect_analyze_operations): Add an argument to
|
9416 |
|
|
vectorizable_load.
|
9417 |
|
|
(vect_get_place_in_interleaving_chain): New function.
|
9418 |
|
|
(vect_free_slp_tree): Make static.
|
9419 |
|
|
(vect_free_slp_instance): New function.
|
9420 |
|
|
(vect_build_slp_tree): Add new arguments. Allow load permutations and
|
9421 |
|
|
collect the load location in the interleaving chain.
|
9422 |
|
|
(vect_supported_slp_permutation_p): New function.
|
9423 |
|
|
(vect_supported_load_permutation_p): Likewise.
|
9424 |
|
|
(vect_analyze_slp_instance): In case of loads permutation, call
|
9425 |
|
|
vect_supported_load_permutation_p to check that the permutation is
|
9426 |
|
|
supported.
|
9427 |
|
|
* target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM): New.
|
9428 |
|
|
* tree-vect-transform.c (vect_transform_stmt): Add new argument.
|
9429 |
|
|
(vect_create_mask_and_perm): New function.
|
9430 |
|
|
(vect_get_mask_element, vect_transform_slp_perm_load): Likewise.
|
9431 |
|
|
(vectorizable_load): Add an argument. Don't keep the created vectors
|
9432 |
|
|
statements in the node if permutation is required. Call
|
9433 |
|
|
vect_transform_slp_perm_load to generate the permutation.
|
9434 |
|
|
(vect_transform_stmt): Add new argument. Call vectorizable_load with
|
9435 |
|
|
additional argument.
|
9436 |
|
|
(vect_schedule_slp_instance): In case of loads permutation, allocate
|
9437 |
|
|
vectorized statements structure for all the related SLP nodes. Call
|
9438 |
|
|
vect_transform_stmt with addditional argument.
|
9439 |
|
|
(vect_transform_loop): Call vect_transform_stmt with correct arguments.
|
9440 |
|
|
* config/spu/spu.c (spu_builtin_vec_perm): New.
|
9441 |
|
|
(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Redefine.
|
9442 |
|
|
* config/spu/spu.h (TARG_VEC_PERMUTE_COS): Define.
|
9443 |
|
|
* config/rs6000/rs6000.c (rs6000_builtin_vec_perm): New.
|
9444 |
|
|
(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Redefine.
|
9445 |
|
|
|
9446 |
|
|
2008-08-28 Chris Fairles
|
9447 |
|
|
|
9448 |
|
|
* gthr-posix.h (__gthread_create, __gthread_join, __gthread_detach,
|
9449 |
|
|
__gthread_mutex_timed_lock, __gthread_recursive_mutex_timed_lock,
|
9450 |
|
|
__gthread_cond_signal, __gthread_cond_timedwait,
|
9451 |
|
|
__gthread_cond_timedwait_recursive): New functions.
|
9452 |
|
|
* gthr-posix.c (pthread_mutex_timedlock, pthread_cond_timedwait):
|
9453 |
|
|
Likewise.
|
9454 |
|
|
* gthr.h: Comment on defining __GTHREADS_CXX0X macro in conforming
|
9455 |
|
|
thread interfaces.
|
9456 |
|
|
|
9457 |
|
|
2008-08-28 Richard Guenther
|
9458 |
|
|
|
9459 |
|
|
PR middle-end/37005
|
9460 |
|
|
* fold-const.c (maybe_canonicalize_comparison_1): Require
|
9461 |
|
|
undefined overflow only for canonicalizing A +- CST cmp CST.
|
9462 |
|
|
Make sure to not generate new constants that are not inside
|
9463 |
|
|
their TYPE_MIN/MAX_VALUE range.
|
9464 |
|
|
(maybe_canonicalize_comparison): Remove undefined overflow
|
9465 |
|
|
checking from here.
|
9466 |
|
|
(fold_binary): Remove now duplicate folding.
|
9467 |
|
|
|
9468 |
|
|
2008-08-27 Paolo Carlini
|
9469 |
|
|
|
9470 |
|
|
* c-typeck.c (convert_for_assignment): Adjust WARN_FOR_ASSIGNMENT
|
9471 |
|
|
use not updated in the last change.
|
9472 |
|
|
|
9473 |
|
|
2008-08-27 Kaz Kojima
|
9474 |
|
|
|
9475 |
|
|
* config/sh/sh.h (REG_CLASS_CONTENTS): Drop fr32 from FPUL_REGS.
|
9476 |
|
|
(IRA_COVER_CLASSES): Add FPUL_REGS.
|
9477 |
|
|
|
9478 |
|
|
2008-08-27 Manuel Lopez-Ibanez
|
9479 |
|
|
|
9480 |
|
|
PR 37217
|
9481 |
|
|
* c-common.c (conversion_warning): Check for null operands.
|
9482 |
|
|
|
9483 |
|
|
2008-08-27 Manuel Lopez-Ibanez
|
9484 |
|
|
|
9485 |
|
|
PR c/31673
|
9486 |
|
|
* c-decl.c (check_for_loop_decls): Improve error message. Give
|
9487 |
|
|
hint.
|
9488 |
|
|
|
9489 |
|
|
2008-08-27 Manuel Lopez-Ibanez
|
9490 |
|
|
|
9491 |
|
|
PR c/37186
|
9492 |
|
|
* c-typeck.c (WARN_FOR_ASSIGNMENT): Add OPT parameter.
|
9493 |
|
|
(convert_for_assignment): Pass corrent OPT_W* parameter to
|
9494 |
|
|
WARN_FOR_ASSIGNMENT.
|
9495 |
|
|
|
9496 |
|
|
2008-08-27 Paolo Carlini
|
9497 |
|
|
|
9498 |
|
|
PR c++/35321
|
9499 |
|
|
* c-common.c (fold_offsetof_1): Handle TARGET_EXPR like CALL_EXPR.
|
9500 |
|
|
|
9501 |
|
|
2008-08-27 Paul Brook
|
9502 |
|
|
|
9503 |
|
|
* config.gcc: Loosen checks for arm uclinux eabi targets.
|
9504 |
|
|
|
9505 |
|
|
2008-08-27 Paul Brook
|
9506 |
|
|
|
9507 |
|
|
* config/arm/t-arm-coff (LIB1ASMFUNCS): Add missing undescrore on
|
9508 |
|
|
_clzsi2.
|
9509 |
|
|
* config/arm/t-linux (LIB1ASMFUNCS): Ditto.
|
9510 |
|
|
|
9511 |
|
|
2008-08-26 Douglas Gregor
|
9512 |
|
|
|
9513 |
|
|
* c-common.c (do_switch_warnings): Look through the CONST_DECLs in
|
9514 |
|
|
the enumerators of an ENUMERAL_TYPE.
|
9515 |
|
|
* dbxout.c (dbxout_type): Ditto.
|
9516 |
|
|
|
9517 |
|
|
2008-08-26 Andrew Pinski
|
9518 |
|
|
|
9519 |
|
|
PR rtl-opt/37219
|
9520 |
|
|
* fwprop.c (fwprop): Check that the loop_father is the outer loop.
|
9521 |
|
|
(fwprop_addr): Check that the loop_father is not the outer loop.
|
9522 |
|
|
|
9523 |
|
|
2008-08-26 Paul Brook
|
9524 |
|
|
|
9525 |
|
|
* config/arm/vfp.md: Document fmul{s,d} and fmac{s,d} types.
|
9526 |
|
|
Remove documentation entry for fmul type.
|
9527 |
|
|
Use fmuls to annotate single-precision multiplication patterns,
|
9528 |
|
|
fmuld to annotate double-precision multiplication patterns,
|
9529 |
|
|
fmacs to annotate single-precision multiply-accumulate patterns
|
9530 |
|
|
and fmacd to annotate double-precision multiply-accumulate patterns.
|
9531 |
|
|
* config/arm/vfp11.md: Update reservations accordingly.
|
9532 |
|
|
* config/arm/arm.md: Note that certain values of the "type"
|
9533 |
|
|
attribute are documented in vfp.md.
|
9534 |
|
|
* config/arm/arm1020e.md: Remove out of date duplicate comment.
|
9535 |
|
|
(v10_cvt): Use new fmul types.
|
9536 |
|
|
|
9537 |
|
|
2008-08-26 Paul Brook
|
9538 |
|
|
|
9539 |
|
|
* config/arm/vfp.md: Move pipeline description for VFP11 to...
|
9540 |
|
|
* config/arm/vfp11.md: ...here. New.
|
9541 |
|
|
* config/arm/arm.md: Include vfp11.md.
|
9542 |
|
|
|
9543 |
|
|
2008-08-26 Hans-Peter Nilsson
|
9544 |
|
|
|
9545 |
|
|
* opts.c (decode_options) [!IRA_COVER_CLASSES]: Add missing
|
9546 |
|
|
parameter to inform call.
|
9547 |
|
|
|
9548 |
|
|
2008-08-26 Jeff Law
|
9549 |
|
|
|
9550 |
|
|
* mn10300.md (movqi, movhi): Split i->d*a case into two cases to
|
9551 |
|
|
avoid the possibility of getting DATA_OR_ADDRESS_REGS as the
|
9552 |
|
|
preferred class when copying a constant into a partial word register.
|
9553 |
|
|
|
9554 |
|
|
2008-08-26 Ben Elliston
|
9555 |
|
|
|
9556 |
|
|
* rtlanal.c: Fix uses of "it's" with "its" where appropriate.
|
9557 |
|
|
* cp/typeck.c: Likewise.
|
9558 |
|
|
* cp/tree.c: Likewise.
|
9559 |
|
|
* gimple-low.c: Likewise.
|
9560 |
|
|
* jump.c: Likewise.
|
9561 |
|
|
|
9562 |
|
|
2008-08-26 Vladimir Makarov
|
9563 |
|
|
|
9564 |
|
|
* ira-build.c, ira-color.c, ira-costs.c, ira.h, ira-lives.c,
|
9565 |
|
|
ira.c, ira-conflicts.c, ira-emit.c, ira-int.h: New files.
|
9566 |
|
|
|
9567 |
|
|
* doc/passes.texi: Describe IRA.
|
9568 |
|
|
|
9569 |
|
|
* doc/tm.texi (IRA_COVER_CLASSES,
|
9570 |
|
|
IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Describe the new macros.
|
9571 |
|
|
|
9572 |
|
|
* doc/invoke.texi (ira-max-loops-num): Describe the new parameter.
|
9573 |
|
|
(-fira, -fira-algorithm, -fira-coalesce, -fno-ira-move-spills,
|
9574 |
|
|
-fira-propagate-cost, -fno-ira-share-save-slots,
|
9575 |
|
|
-fno-ira-share-spill-slots, -fira-verbose): Describe new options.
|
9576 |
|
|
|
9577 |
|
|
* flags.h (ira_algorithm): New enumeration.
|
9578 |
|
|
(flag_ira_algorithm, flag_ira_verbose): New external variable
|
9579 |
|
|
declarations.
|
9580 |
|
|
|
9581 |
|
|
* postreload.c (gate_handle_postreload): Don't do post reload
|
9582 |
|
|
optimizations unless the reload is completed.
|
9583 |
|
|
|
9584 |
|
|
* reload.c (push_reload, find_dummy_reload): Use DF_LR_OUT for
|
9585 |
|
|
IRA.
|
9586 |
|
|
|
9587 |
|
|
* tree-pass.h (pass_ira): New external variable declaration.
|
9588 |
|
|
|
9589 |
|
|
* reload.h: Add 2008 to the Copyright.
|
9590 |
|
|
|
9591 |
|
|
* cfgloopanal.c: Include params.h.
|
9592 |
|
|
(estimate_reg_pressure_cost): Decrease cost for IRA optimization
|
9593 |
|
|
mode.
|
9594 |
|
|
|
9595 |
|
|
* params.h (IRA_MAX_LOOPS_NUM): New macro.
|
9596 |
|
|
|
9597 |
|
|
* toplev.c (ira.h): New include.
|
9598 |
|
|
(flag_ira_algorithm, flag_ira_verbose): New external variables.
|
9599 |
|
|
(backend_init_target): Call ira_init.
|
9600 |
|
|
(backend_init): Call ira_init_once.
|
9601 |
|
|
(finalize): Call finish_ira_once.
|
9602 |
|
|
|
9603 |
|
|
* toplev.h (flag_ira, flag_ira_coalesce, flag_ira_move_spills,
|
9604 |
|
|
flag_ira_share_save_slots, flag_ira_share_spill_slots): New
|
9605 |
|
|
external variables.
|
9606 |
|
|
|
9607 |
|
|
* regs.h (contains_reg_of_mode, move_cost, may_move_in_cost,
|
9608 |
|
|
may_move_out_cost): New external variable declarations.
|
9609 |
|
|
(move_table): New typedef.
|
9610 |
|
|
|
9611 |
|
|
* caller-save.c: Include headers output.h and ira.h.
|
9612 |
|
|
(no_caller_save_reg_set): New global variable.
|
9613 |
|
|
(save_slots_num, save_slots): New variables.
|
9614 |
|
|
(reg_save_code, reg_restore_code, add_stored_regs): Add
|
9615 |
|
|
prototypes.
|
9616 |
|
|
(init_caller_save): Set up no_caller_save_reg_set.
|
9617 |
|
|
(init_save_areas): Reset save_slots_num.
|
9618 |
|
|
(saved_hard_reg): New structure.
|
9619 |
|
|
(hard_reg_map, saved_regs_num, all_saved_regs): New variables.
|
9620 |
|
|
(initiate_saved_hard_regs, new_saved_hard_reg,
|
9621 |
|
|
finish_saved_hard_regs, saved_hard_reg_compare_func): New
|
9622 |
|
|
functions.
|
9623 |
|
|
(setup_save_areas): Add code for sharing stack slots.
|
9624 |
|
|
(all_blocks): New variable.
|
9625 |
|
|
(save_call_clobbered_regs): Process pseudo-register too.
|
9626 |
|
|
(mark_set_regs): Process pseudo-register too.
|
9627 |
|
|
(insert_one_insn): Put the insn after bb note in a empty basic
|
9628 |
|
|
block. Add insn check.
|
9629 |
|
|
|
9630 |
|
|
* global.c (eliminable_regset): Make it external.
|
9631 |
|
|
(mark_elimination): Use DF_LR_IN for IRA.
|
9632 |
|
|
(pseudo_for_reload_consideration_p): New.
|
9633 |
|
|
(build_insn_chain): Make it external. Don't ignore spilled
|
9634 |
|
|
pseudos for IRA. Use pseudo_for_reload_consideration_p.
|
9635 |
|
|
(gate_handle_global_alloc): New function.
|
9636 |
|
|
(pass_global_alloc): Add the gate function.
|
9637 |
|
|
|
9638 |
|
|
* opts.c (decode_options): Set up flag_ira. Print the warning for
|
9639 |
|
|
-fira.
|
9640 |
|
|
(common_handle_option): Process -fira-algorithm and -fira-verbose.
|
9641 |
|
|
|
9642 |
|
|
* timevar.def (TV_IRA, TV_RELOAD): New passes.
|
9643 |
|
|
|
9644 |
|
|
* regmove.c (regmove_optimize): Don't do replacement of output for
|
9645 |
|
|
IRA.
|
9646 |
|
|
|
9647 |
|
|
* hard-reg-set.h (no_caller_save_reg_set, reg_class_subclasses):
|
9648 |
|
|
New external variable declarations.
|
9649 |
|
|
|
9650 |
|
|
* local-alloc.c (update_equiv_regs): Make it external. Return
|
9651 |
|
|
true if jump label rebuilding should be done. Rescan new_insn for
|
9652 |
|
|
notes.
|
9653 |
|
|
(gate_handle_local_alloc): New function.
|
9654 |
|
|
(pass_local_alloc): Add the gate function.
|
9655 |
|
|
|
9656 |
|
|
* alias.c (value_addr_p, stack_addr_p): New functions.
|
9657 |
|
|
(nonoverlapping_memrefs_p): Use them for IRA.
|
9658 |
|
|
|
9659 |
|
|
* common.opt (fira, fira-algorithm, fira-coalesce,
|
9660 |
|
|
fira-move-spills, fira-share-save-slots, fira-share-spill-slots,
|
9661 |
|
|
fira-verbose): New options.
|
9662 |
|
|
|
9663 |
|
|
* regclass.c (reg_class_subclasses, contains_reg_of_mode,
|
9664 |
|
|
move_cost, may_move_in_cost, may_move_out_cost): Make the
|
9665 |
|
|
variables external.
|
9666 |
|
|
(move_table): Remove typedef.
|
9667 |
|
|
(init_move_cost): Make it external.
|
9668 |
|
|
(allocate_reg_info, resize_reg_info, setup_reg_classes): New
|
9669 |
|
|
functions.
|
9670 |
|
|
|
9671 |
|
|
* rtl.h (init_move_cost, allocate_reg_info, resize_reg_info,
|
9672 |
|
|
setup_reg_classes): New function prototypes.
|
9673 |
|
|
(eliminable_regset): New external variable declaration.
|
9674 |
|
|
(build_insn_chain, update_equiv_regs): New function prototypes.
|
9675 |
|
|
|
9676 |
|
|
* Makefile.in (IRA_INT_H): New definition.
|
9677 |
|
|
(OBJS-common): Add ira.o, ira-build.o, ira-costs.o,
|
9678 |
|
|
ira-conflicts.o, ira-color.o, ira-emit.o, and ira-lives.o.
|
9679 |
|
|
(reload1.o, toplev.o): Add dependence on ira.h.
|
9680 |
|
|
(cfgloopanal.o): Add PARAMS_H.
|
9681 |
|
|
(caller-save.o): Add dependence on output.h and ira.h.
|
9682 |
|
|
(ira.o, ira-build.o, ira-costs.o, ira-conflicts.o, ira-color.o,
|
9683 |
|
|
ira-emit.o, ira-lives.o): New entries.
|
9684 |
|
|
|
9685 |
|
|
* passes.c (pass_ira): New pass.
|
9686 |
|
|
|
9687 |
|
|
* params.def (PARAM_IRA_MAX_LOOPS_NUM): New parameter.
|
9688 |
|
|
|
9689 |
|
|
* reload1.c (ira.h): Include the header.
|
9690 |
|
|
(changed_allocation_pseudos): New bitmap.
|
9691 |
|
|
(init_reload): Initiate the bitmap.
|
9692 |
|
|
(compute_use_by_pseudos): Permits spilled registers in FROM.
|
9693 |
|
|
(temp_pseudo_reg_arr): New variable.
|
9694 |
|
|
(reload): Allocate and free temp_pseudo_reg_arr. Sort pseudos for
|
9695 |
|
|
IRA. Call alter_reg with the additional parameter. Don't clear
|
9696 |
|
|
spilled_pseudos for IRA. Restore original insn chain for IRA.
|
9697 |
|
|
Clear changed_allocation_pseudos at the end of reload.
|
9698 |
|
|
(calculate_needs_all_insns): Call IRA's mark_memory_move_deletion.
|
9699 |
|
|
(hard_regno_to_pseudo_regno): New variable.
|
9700 |
|
|
(count_pseudo): Check spilled pseudos. Set up
|
9701 |
|
|
hard_regno_to_pseudo_regno.
|
9702 |
|
|
(count_spilled_pseudo): Check spilled pseudos. Update
|
9703 |
|
|
hard_regno_to_pseudo_regno.
|
9704 |
|
|
(find_reg): Use better_spill_reload_regno_p. Check
|
9705 |
|
|
hard_regno_to_pseudo_regno.
|
9706 |
|
|
(alter_reg): Set up spilled_pseudos. Add a new parameter. Add
|
9707 |
|
|
code for IRA.
|
9708 |
|
|
(eliminate_regs_1): Use additional parameter for alter_reg.
|
9709 |
|
|
(finish_spills): Set up pseudo_previous_regs only for spilled
|
9710 |
|
|
pseudos. Call reassign_pseudos once for all spilled pseudos, pass
|
9711 |
|
|
more arguments. Don't clear live_throughout and dead_or_set for
|
9712 |
|
|
spilled pseudos. Use additional parameter for alter_reg. Call
|
9713 |
|
|
mark_allocation_change. Set up changed_allocation_pseudos.
|
9714 |
|
|
Remove sanity check.
|
9715 |
|
|
(emit_input_reload_insns, delete_output_reload): Use additional
|
9716 |
|
|
parameter for alter_reg. Call mark_allocation_change.
|
9717 |
|
|
(substitute, gen_reload_chain_without_interm_reg_p): New
|
9718 |
|
|
functions.
|
9719 |
|
|
(reloads_conflict): Use gen_reload_chain_without_interm_reg_p.
|
9720 |
|
|
|
9721 |
|
|
* testsuite/gcc.dg/20080410-1.c: New file.
|
9722 |
|
|
|
9723 |
|
|
* config/s390/s390.h (IRA_COVER_CLASSES,
|
9724 |
|
|
IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Define.
|
9725 |
|
|
|
9726 |
|
|
* config/sparc/sparc.h (IRA_COVER_CLASSES): New macro.
|
9727 |
|
|
|
9728 |
|
|
* config/i386/i386.h (IRA_COVER_CLASSES): Ditto.
|
9729 |
|
|
|
9730 |
|
|
* config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
|
9731 |
|
|
|
9732 |
|
|
* config/rs6000/rs6000.h (IRA_COVER_CLASSES): Ditto.
|
9733 |
|
|
|
9734 |
|
|
* config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
|
9735 |
|
|
|
9736 |
|
|
* config/alpha/alpha.h (IRA_COVER_CLASSES): Ditto.
|
9737 |
|
|
|
9738 |
|
|
2008-08-24 Jeff Law
|
9739 |
|
|
* ira.c (setup_reg_class_intersect_union): Prefer smallest class
|
9740 |
|
|
when ignoring unavailable registers.
|
9741 |
|
|
|
9742 |
|
|
2008-08-24 Jeff Law
|
9743 |
|
|
* ira-color.c (coalesced_pseudo_reg_slot_compare): Check
|
9744 |
|
|
FRAME_GROWS_DOWNWARD and STACK_GROWS_DOWNWARD.
|
9745 |
|
|
* ira.c (setup_eliminable_regset): Check stack_realign_needed.
|
9746 |
|
|
* config/mn10300/mn10300.h (IRA_COVER_CLASSES): New macro.
|
9747 |
|
|
|
9748 |
|
|
2008-06-03 Steve Chamberlain
|
9749 |
|
|
* ira-build.c (allocno_range_compare_func): Stabilize sort.
|
9750 |
|
|
|
9751 |
|
|
2008-05-29 Andy Hutchinson
|
9752 |
|
|
* config/avr/avr.h (IRA_COVER_CLASSES): New macro.
|
9753 |
|
|
* reload1.c (find_reg): Process registers in register allocation order.
|
9754 |
|
|
|
9755 |
|
|
2008-05-10 Richard Sandiford
|
9756 |
|
|
* toplev.c (backend_init_target): Move ira_init call from
|
9757 |
|
|
here...
|
9758 |
|
|
(lang_dependent_init_target): ...to here.
|
9759 |
|
|
|
9760 |
|
|
2008-05-10 Richard Sandiford
|
9761 |
|
|
* ira.c (setup_class_subset_and_memory_move_costs): Don't
|
9762 |
|
|
calculate memory move costs for NO_REGS.
|
9763 |
|
|
|
9764 |
|
|
2008-05-05 Kaz Kojima
|
9765 |
|
|
* ira-color.c (ira_fast_allocation): Use no_stack_reg_p only if
|
9766 |
|
|
STACK_REGS is defined.
|
9767 |
|
|
|
9768 |
|
|
2008-04-08 Andrew Pinski
|
9769 |
|
|
* config/spu/spu.h (IRA_COVER_CLASSES): New macro.
|
9770 |
|
|
|
9771 |
|
|
2008-04-04 Bernd Schmidt
|
9772 |
|
|
* config/bfin/bfin.h (IRA_COVER_CLASSES): New macro.
|
9773 |
|
|
|
9774 |
|
|
2008-04-04 Kaz Kojima
|
9775 |
|
|
* config/sh/sh.h (IRA_COVER_CLASSES): Define.
|
9776 |
|
|
* config/sh/sh.md (movsicc_true+3): Check if emit returns a
|
9777 |
|
|
barrier.
|
9778 |
|
|
|
9779 |
|
|
2008-08-26 Victor Kaplansky
|
9780 |
|
|
Dorit Nuzman
|
9781 |
|
|
|
9782 |
|
|
* gcc/config/spu/spu.md (vec_extract_evenv4si,
|
9783 |
|
|
vec_extract_evenv4sf, vec_extract_evenv8hi,
|
9784 |
|
|
vec_extract_evenv16qi, vec_extract_oddv4si,
|
9785 |
|
|
vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
|
9786 |
|
|
vec_interleave_highv4sf, vec_interleave_lowv4sf,
|
9787 |
|
|
vec_interleave_highv4si, vec_interleave_lowv4si,
|
9788 |
|
|
vec_interleave_highv8hi, vec_interleave_lowv8hi,
|
9789 |
|
|
vec_interleave_highv16qi, vec_interleave_lowv16qi,
|
9790 |
|
|
vec_pack_trunc_v8hi, vec_pack_trunc_v4si): Implement.S
|
9791 |
|
|
|
9792 |
|
|
2008-08-25 Janis Johnson
|
9793 |
|
|
|
9794 |
|
|
PR target/36756
|
9795 |
|
|
* config/rs6000/rs6000.c (optimization_options): Don't default to
|
9796 |
|
|
section anchors without toplevel reorder.
|
9797 |
|
|
|
9798 |
|
|
2008-08-25 Ulrich Weigand
|
9799 |
|
|
|
9800 |
|
|
* config/spu/spu_mfcio.h (mfc_begin_critical_section): New function.
|
9801 |
|
|
(mfc_end_critical_section): Likewise.
|
9802 |
|
|
|
9803 |
|
|
2008-08-25 Ulrich Weigand
|
9804 |
|
|
|
9805 |
|
|
* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Propagate
|
9806 |
|
|
all type qualifiers from element type to vector type.
|
9807 |
|
|
|
9808 |
|
|
2008-08-25 David Daney
|
9809 |
|
|
|
9810 |
|
|
* config/mips/mips.md (immediate_insn): Move up in file, fix
|
9811 |
|
|
comment typo, reformat.
|
9812 |
|
|
(fetchop_bit, atomic_hiqi_op memory_barrier,
|
9813 |
|
|
sync_compare_and_swap, compare_and_swap_12, sync_add,
|
9814 |
|
|
sync_, sync__12, sync_old_,
|
9815 |
|
|
sync_old__12, sync_new_, sync_new__12,
|
9816 |
|
|
sync_nand, sync_nand_12, sync_old_nand,
|
9817 |
|
|
sync_old_nand_12, sync_new_nand, sync_new_nand_12,
|
9818 |
|
|
sync_sub, sync_old_add, sync_old_sub,
|
9819 |
|
|
sync_new_add, sync_new_sub, sync_,
|
9820 |
|
|
sync_old_, sync_new_, sync_nand,
|
9821 |
|
|
sync_old_nand, sync_new_nand,
|
9822 |
|
|
sync_lock_test_and_set, sync_lock_test_and_set,
|
9823 |
|
|
test_and_set_12): Moved to sync.md.
|
9824 |
|
|
(sync.md): Include.
|
9825 |
|
|
* config/mips/sync.md: New file.
|
9826 |
|
|
|
9827 |
|
|
2008-08-25 Richard Henderson
|
9828 |
|
|
|
9829 |
|
|
* dwarf2out.c (def_cfa_1): Don't scale by DWARF_CIE_DATA_ALIGNMENT.
|
9830 |
|
|
(regsave): Likewise.
|
9831 |
|
|
(lookup_cfa_1): Don't rescale by DWARF_CIE_DATA_ALIGNMENT.
|
9832 |
|
|
(output_cfi_directive): Likewise.
|
9833 |
|
|
(div_data_align): New.
|
9834 |
|
|
(output_cfi): Use it.
|
9835 |
|
|
|
9836 |
|
|
2008-08-24 Adam Nemet
|
9837 |
|
|
|
9838 |
|
|
* config.gcc (mips64*-*-linux*): Handle mips64octeon*-*-linux*.
|
9839 |
|
|
* config/mips/mips.h (enum processor_type): Add PROCESSOR_OCTEON.
|
9840 |
|
|
(TARGET_OCTEON): New macro.
|
9841 |
|
|
(TARGET_CPU_CPP_BUILTINS): Define __OCTEON__ for Octeon.
|
9842 |
|
|
(MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC): Handle -march=octeon.
|
9843 |
|
|
(ISA_HAS_POP): New macro.
|
9844 |
|
|
* config/mips/driver-native.c (host_detect_local_cpu): Handle
|
9845 |
|
|
Octeon.
|
9846 |
|
|
* config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data):
|
9847 |
|
|
Handle Octeon.
|
9848 |
|
|
* config/mips/mips.md (cpu): Add octeon.
|
9849 |
|
|
(type): Add pop attribute value.
|
9850 |
|
|
(popcount2): New pattern.
|
9851 |
|
|
* doc/invoke.texi (-march=@var{arch}): Add octeon.
|
9852 |
|
|
|
9853 |
|
|
2008-08-24 Jan Hubicka
|
9854 |
|
|
|
9855 |
|
|
* doc/invoke.texi (-fipa-cp-clone): New option.
|
9856 |
|
|
(-fipa-cp): Update docs.
|
9857 |
|
|
(--param ipcp-unit-growth):New.
|
9858 |
|
|
* ipa-cp.c: Include fibheap.h, params.h
|
9859 |
|
|
(ipcp_initialize_node_lattices): When not cloning, all externally
|
9860 |
|
|
visible functions are bottom.
|
9861 |
|
|
(ipcp_need_redirect_p): Accept clones.
|
9862 |
|
|
(ipcp_insert_stage): Use cost driven heuristics.
|
9863 |
|
|
(max_count, dead_nodes): New static vars.
|
9864 |
|
|
(ipcp_need_original_clone_p, ipcp_estimate_cloning_cost,
|
9865 |
|
|
ipcp_const_param_count): New functions.
|
9866 |
|
|
* common.opt (ipa-cp-clone): New command line option.
|
9867 |
|
|
* params.def (ipcp-unit-growth): New.
|
9868 |
|
|
|
9869 |
|
|
2008-08-24 Jan Hubicka
|
9870 |
|
|
|
9871 |
|
|
* tree-inline.c (tree_function_versioning): Look harder
|
9872 |
|
|
for referenced vars.
|
9873 |
|
|
|
9874 |
|
|
2008-08-24 Razya Ladelsky
|
9875 |
|
|
|
9876 |
|
|
PR tree-optimization/37185
|
9877 |
|
|
* matrix-reorg.c (transform_access_sites): Update changed stmt.
|
9878 |
|
|
|
9879 |
|
|
2008-08-23 Jan Hubicka
|
9880 |
|
|
|
9881 |
|
|
* ipa-cp.c (ipcp_analyze_node): New function.
|
9882 |
|
|
(ipcp_update_cloned_node): Use it.
|
9883 |
|
|
(ipcp_init_stage): Likewise.
|
9884 |
|
|
* ipa-inline.c (function_insertion_hook_holder): New static var.
|
9885 |
|
|
(analyze_function): Break out from ....
|
9886 |
|
|
(inline_generate_summary): Here; register insertion hook.
|
9887 |
|
|
(cgraph_decide_inlining): Remove hook.
|
9888 |
|
|
(add_new_function): New function.
|
9889 |
|
|
|
9890 |
|
|
2008-08-23 Jan Hubicka
|
9891 |
|
|
|
9892 |
|
|
* opts.c (decode_options): Revert accidental change enabling ipa-cp.
|
9893 |
|
|
|
9894 |
|
|
2008-08-23 Jan Hubicka
|
9895 |
|
|
|
9896 |
|
|
* ipa-cp.c (constant_val_insert): Remove.
|
9897 |
|
|
(ipcp_propagate_one_const): Remove.
|
9898 |
|
|
(ipcp_create_replace_map): Always insert replacements to the map.
|
9899 |
|
|
(ipcp_insert_stage): Do not try to insert statements by hand.
|
9900 |
|
|
* tree-inline.c (insert_init_stmt): Break out from ...
|
9901 |
|
|
(setup_one_parameter): ... here; allow NULL BB pointer.
|
9902 |
|
|
(tree_function_versioning): Use setup_one_parameter to process
|
9903 |
|
|
replacement map.
|
9904 |
|
|
|
9905 |
|
|
2008-08-23 Jan Hubicka
|
9906 |
|
|
|
9907 |
|
|
* tree.c (decl_address_ip_invariant_p): New function.
|
9908 |
|
|
* tree.h (decl_address_ip_invariant_p): Declare.
|
9909 |
|
|
* gimple.c (strip_invariant_refs): Break out from ...
|
9910 |
|
|
(is_gimple_invariant_address): ... here
|
9911 |
|
|
(is_gimple_ip_invariant_address): New function.
|
9912 |
|
|
(is_gimple_ip_invariant): New function.
|
9913 |
|
|
* gimple.h (is_gimple_ip_invariant_address, is_gimple_ip_invariant):
|
9914 |
|
|
Declare.
|
9915 |
|
|
|
9916 |
|
|
* ipa-cp.c (ipcp_lat_is_const): Remove handling of IPA_CONST_VALUE_REF.
|
9917 |
|
|
(ipcp_lat_is_insertable): All constants are insertable.
|
9918 |
|
|
(ipcp_lattice_from_jfunc, ipcp_print_all_lattices): Remove handling of
|
9919 |
|
|
IPA_CONST_VALUE_REF.
|
9920 |
|
|
(ipcp_initialize_node_lattices): Propagate all types of operands.
|
9921 |
|
|
(build_const_val): Do not handle IPA_CONST_VALUE_REF.
|
9922 |
|
|
(ipcp_create_replace_map): Reformat.
|
9923 |
|
|
(ipcp_need_redirect_p): Simplify.
|
9924 |
|
|
(ipcp_insert_stage): Check that argument is used before clonning.
|
9925 |
|
|
* ipa-prop.c (ipa_print_node_jump_functions): Do not handle
|
9926 |
|
|
IPA_CONST_REF.
|
9927 |
|
|
(compute_scalar_jump_functions): Simplify using is_gimple_ip_invariat.
|
9928 |
|
|
(determine_cst_member_ptr): Keep wrapping ADDR_EXPR of members.
|
9929 |
|
|
(update_call_notes_after_inlining): Expect ADDR_EXPR in operand.
|
9930 |
|
|
* ipa-prop.h (jump_func_type): Remove IPA_CONST_REF.
|
9931 |
|
|
(jump_func_type): Remove IPA_CONST_VALUE_REF.
|
9932 |
|
|
* tree-inline.c (tree_function_versioning): Add variables referenced
|
9933 |
|
|
by replacing trees.
|
9934 |
|
|
|
9935 |
|
|
2008-08-23 Jan Hubicka
|
9936 |
|
|
|
9937 |
|
|
PR target/37094
|
9938 |
|
|
* i386.c (standard_80387_constant_p): Use optimize_size.
|
9939 |
|
|
|
9940 |
|
|
2008-08-23 Ira Rosen
|
9941 |
|
|
|
9942 |
|
|
PR tree-optimization/37161
|
9943 |
|
|
* tree-vectorizer.h (vect_get_smallest_scalar_type): Declare.
|
9944 |
|
|
* tree-vect-analyze.c (vect_get_smallest_scalar_type): New function.
|
9945 |
|
|
(vect_determine_vectorization_factor): Move the scalar type
|
9946 |
|
|
retrieval to vect_get_smallest_scalar_type.
|
9947 |
|
|
(vect_build_slp_tree): Call vect_get_smallest_scalar_type to get
|
9948 |
|
|
scalar type. Remove redundant computation.
|
9949 |
|
|
* tree-vect-transform.c (vect_get_constant_vectors): Add argument.
|
9950 |
|
|
(vect_get_slp_defs): Take the type of RHS into account if
|
9951 |
|
|
necessary by calling vect_get_smallest_scalar_type. Call
|
9952 |
|
|
vect_get_constant_vectors with additional argument.
|
9953 |
|
|
|
9954 |
|
|
2008-08-23 Manuel Lopez-Ibanez
|
9955 |
|
|
|
9956 |
|
|
PR 35648
|
9957 |
|
|
* doc/invoke.texi (Wwrite-strings): Clarify description.
|
9958 |
|
|
|
9959 |
|
|
2008-08-23 Ira Rosen
|
9960 |
|
|
|
9961 |
|
|
PR tree-optimization/37174
|
9962 |
|
|
* tree-vect-analyze.c (vect_get_and_check_slp_defs): Check that the
|
9963 |
|
|
def stmt is a part of the loop before accessing its stmt_vec_info.
|
9964 |
|
|
|
9965 |
|
|
2008-08-22 Anatoly Sokolov
|
9966 |
|
|
|
9967 |
|
|
PR target/11259
|
9968 |
|
|
* config/avr/avr.md (UNSPEC_SWAP): New constants.
|
9969 |
|
|
(*swap): New insn pattern.
|
9970 |
|
|
(*ashlqi3): Rename from ashlqi3 insn pattern.
|
9971 |
|
|
(ashlqi3): New expanders.
|
9972 |
|
|
(*lshrqi3): Rename from lshrqi3 insn pattern.
|
9973 |
|
|
(lshrqi3): New expanders.
|
9974 |
|
|
(ashlqi3_const4, ashlqi3_const5, ashlqi3_const6, lshrqi3_const4,
|
9975 |
|
|
lshrqi3_const5, lshrqi3_const6): New splitters.
|
9976 |
|
|
(andi, ashlqi3_l_const4, ashlqi3_l_const5, ashlqi3_l_const6,
|
9977 |
|
|
lshrqi3_l_const4, lshrqi3_l_const5, lshrqi3_l_const6): Define
|
9978 |
|
|
peephole2 patterns.
|
9979 |
|
|
|
9980 |
|
|
2008-08-22 Richard Guenther
|
9981 |
|
|
|
9982 |
|
|
PR tree-optimization/37078
|
9983 |
|
|
* tree-vrp.c (extract_range_from_unary_expr): Avoid generating
|
9984 |
|
|
[+INF, +INF] ranges.
|
9985 |
|
|
|
9986 |
|
|
2008-08-22 Richard Guenther
|
9987 |
|
|
|
9988 |
|
|
PR tree-optimization/37143
|
9989 |
|
|
* tree-vect-transform.c (vect_create_cond_for_align_checks): Build
|
9990 |
|
|
a conversion statement instead of a copy.
|
9991 |
|
|
|
9992 |
|
|
2008-08-22 Uros Bizjak
|
9993 |
|
|
|
9994 |
|
|
PR target/37184
|
9995 |
|
|
* config/i386/i386.c (ix86_match_ccmode): Handle CCAmode,
|
9996 |
|
|
CCCmode, CCOmode and CCSmode destination modes.
|
9997 |
|
|
|
9998 |
|
|
PR target/37191
|
9999 |
|
|
* config/i386/mmx.md (*vec_extractv2sf_0): Avoid combining registers
|
10000 |
|
|
from different units in a single alternative.
|
10001 |
|
|
(*vec_extractv2sf_1): Ditto.
|
10002 |
|
|
(*vec_extractv2si_0): Ditto.
|
10003 |
|
|
(*vec_extractv2si_1): Ditto.
|
10004 |
|
|
* config/i386/sse.md (sse2_storehpd): Ditto.
|
10005 |
|
|
(sse2_storelpd): Ditto.
|
10006 |
|
|
(sse2_loadhpd): Ditto.
|
10007 |
|
|
(sse2_loadlpd): Ditto.
|
10008 |
|
|
|
10009 |
|
|
PR target/37197
|
10010 |
|
|
* config/i386/i386.md (clzsi2_abm): Fix operand 1 constraints.
|
10011 |
|
|
(popcountsi2): Ditto.
|
10012 |
|
|
(clzdi2_abm): Ditto.
|
10013 |
|
|
(popcountdi2): Ditto.
|
10014 |
|
|
(clzhi2_abm): Ditto.
|
10015 |
|
|
(popcounthi2): Ditto.
|
10016 |
|
|
|
10017 |
|
|
2008-08-22 Richard Guenther
|
10018 |
|
|
|
10019 |
|
|
PR middle-end/36548
|
10020 |
|
|
PR middle-end/37125
|
10021 |
|
|
* fold-const.c (extract_muldiv_1): Optimize (X * C1) % C2 only
|
10022 |
|
|
if the multiplication does not overflow.
|
10023 |
|
|
|
10024 |
|
|
2008-08-21 Nathan Sidwell
|
10025 |
|
|
|
10026 |
|
|
* c-ppoutput.c (init_pp_output): Initialize src_line to 1.
|
10027 |
|
|
|
10028 |
|
|
2008-08-21 Richard Henderson
|
10029 |
|
|
|
10030 |
|
|
* configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Remove
|
10031 |
|
|
spurrious comma from test.
|
10032 |
|
|
* configure: Rebuild.
|
10033 |
|
|
|
10034 |
|
|
2008-08-21 Manuel Lopez-Ibanez
|
10035 |
|
|
|
10036 |
|
|
PR 30457
|
10037 |
|
|
* builtins.c (fold_builtin_next_arg): Add warning about undefined
|
10038 |
|
|
behaviour.
|
10039 |
|
|
|
10040 |
|
|
2008-08-21 Aldy Hernandez
|
10041 |
|
|
|
10042 |
|
|
* c-tree.h (grokfield): New argument.
|
10043 |
|
|
* c-decl.c (grokfield): Handle new location argument.
|
10044 |
|
|
* c-parser.c (c_parser_struct_declaration): Pass location to grokfield.
|
10045 |
|
|
|
10046 |
|
|
2008-08-21 Richard Guenther
|
10047 |
|
|
|
10048 |
|
|
* tree-ssa-ccp.c (ccp_fold): Fold VIEW_CONVERT_EXPRs of constants.
|
10049 |
|
|
|
10050 |
|
|
2008-08-21 Jan Hubicka
|
10051 |
|
|
|
10052 |
|
|
* cgraph.c (first_cgraph_function_insertion_hook): New variable.
|
10053 |
|
|
(cgraph_add_function_insertion_hook,
|
10054 |
|
|
cgraph_remove_function_insertion_hook,
|
10055 |
|
|
cgraph_call_function_insertion_hooks): New functions.
|
10056 |
|
|
* cgraph.h (cgraph_add_function_insertion_hook,
|
10057 |
|
|
cgraph_remove_function_insertion_hook,
|
10058 |
|
|
cgraph_call_function_insertion_hooks): Declare.
|
10059 |
|
|
* ipa-reference.c (function_insertion_hook_holder): New variable.
|
10060 |
|
|
(check_operand, look_for_address_of): When checking late, do not care
|
10061 |
|
|
about module bitmaps.
|
10062 |
|
|
(add_new_function): New function.
|
10063 |
|
|
(generate_summary): Register hooks; zero module bitmaps.
|
10064 |
|
|
(propagate): Unregister hooks.
|
10065 |
|
|
* ipa-pure-const.c (function_insertion_hook_holder): New variable.
|
10066 |
|
|
(add_new_function): New function.
|
10067 |
|
|
(generate_summary): Register hook.
|
10068 |
|
|
(propagate): Remove hook.
|
10069 |
|
|
|
10070 |
|
|
* ipa-cp.c (ipcp_need_redirect_p): Fix to not be constant 0.
|
10071 |
|
|
|
10072 |
|
|
* tree-pass.h (pass_ipa_cp): Make ipa_opt_pass.
|
10073 |
|
|
* ipa-cp.c (ipcp_update_cloned_node): New function.
|
10074 |
|
|
(build_const_val): Handle functions correctly; bring type logic
|
10075 |
|
|
into sync with tree-inline.c
|
10076 |
|
|
(ipcp_init_stage): Take care of computing stuff needed by
|
10077 |
|
|
indirect inlining; update clones.
|
10078 |
|
|
(ipcp_generate_summary): Break out of ipcp_driver.
|
10079 |
|
|
(ipcp_driver): Do only execution and transformation.
|
10080 |
|
|
(pass_ipa_cp): Make IPA_PASS.
|
10081 |
|
|
* tree-ssa-ccp.c (fold_stmt_r): Check type before trying to fold
|
10082 |
|
|
offset to address.
|
10083 |
|
|
* ipa-inline.c (inline_indirect_intraprocedural_analysis): When doing
|
10084 |
|
|
ipcp, some info is already available.
|
10085 |
|
|
* ipa-prop.c (ipa_count_arguments): Grow edge lists as needed.
|
10086 |
|
|
* tree-inline.c (remap_ssa_name): Unshare expression.
|
10087 |
|
|
|
10088 |
|
|
2008-08-21 Richard Guenther
|
10089 |
|
|
|
10090 |
|
|
* tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
|
10091 |
|
|
a PHI ask VN if it is already available.
|
10092 |
|
|
* tree-ssa-sccvn.h (vn_phi_lookup): Declare.
|
10093 |
|
|
* tree-ssa-sccvn.c (vn_phi_lookup): Export.
|
10094 |
|
|
|
10095 |
|
|
2008-08-21 Richard Guenther
|
10096 |
|
|
|
10097 |
|
|
PR middle-end/36817
|
10098 |
|
|
* tree-chrec.c (chrec_apply): Always call chrec_fold_plus which
|
10099 |
|
|
makes sure to produce a result of the correct type.
|
10100 |
|
|
|
10101 |
|
|
2008-08-21 Jan Hubicka
|
10102 |
|
|
Backport from LTO branch:
|
10103 |
|
|
|
10104 |
|
|
2008-05-05 Kenneth Zadeck
|
10105 |
|
|
Jan Hubicka
|
10106 |
|
|
|
10107 |
|
|
* ipa-pure-const.c
|
10108 |
|
|
(init_state, finish_state, set_function_state, generate_summary):
|
10109 |
|
|
New functions.
|
10110 |
|
|
(scan_stmt): Renamed from scan_function. Changed to keep state in
|
10111 |
|
|
local static vars rather than cgraph aux field.
|
10112 |
|
|
(propagate): Renamed from static_execute. Changed to keep state in
|
10113 |
|
|
local static vars rather than cgraph aux field.
|
10114 |
|
|
(pass_ipa_pure_const): Changed from SIMPLE_IPA_PASS to IPA_PASS.
|
10115 |
|
|
* tree-pass.h (pass_ipa_pure_const): Turn into IPA_PASS.
|
10116 |
|
|
|
10117 |
|
|
2008-07-15 Kenneth Zadeck
|
10118 |
|
|
|
10119 |
|
|
* tree-pass.h (pass_ipa_reference): Make into ipa_opt_pass.
|
10120 |
|
|
* ipa-reference.c (init_function_info, generate_summary,
|
10121 |
|
|
propagate): New functions.
|
10122 |
|
|
(analyze_function): Call init_function_info.
|
10123 |
|
|
(static_execute): Stripped into generate_summary and propagate.
|
10124 |
|
|
(pass_ipa_reference): Made into ipa_opt_pass.
|
10125 |
|
|
|
10126 |
|
|
2008-08-21 Richard Guenther
|
10127 |
|
|
|
10128 |
|
|
PR tree-optimization/37181
|
10129 |
|
|
* tree-vrp.c (extract_range_from_binary_expr): Check for NULL
|
10130 |
|
|
folding result.
|
10131 |
|
|
(extract_range_from_unary_expr): Likewise.
|
10132 |
|
|
|
10133 |
|
|
2008-08-21 Manuel Lopez-Ibanez
|
10134 |
|
|
|
10135 |
|
|
* diagnostic.c (pedwarn_at): Rename as pedwarn.
|
10136 |
|
|
(pedwarn): Delete.
|
10137 |
|
|
* toplev.h (pedwarn_at): Likewise.
|
10138 |
|
|
* builtins.c: Update all calls to pedwarn.
|
10139 |
|
|
* c-lex.c: Likewise.
|
10140 |
|
|
* toplev.c: Likewise.
|
10141 |
|
|
* c-tree.h: Likewise.
|
10142 |
|
|
* c-decl.c: Likewise.
|
10143 |
|
|
* c-errors.c: Likewise.
|
10144 |
|
|
* c-typeck.c: Likewise.
|
10145 |
|
|
* c-common.c: Likewise.
|
10146 |
|
|
* c-parser.c: Likewise.
|
10147 |
|
|
|
10148 |
|
|
2008-08-20 Joseph Myers
|
10149 |
|
|
|
10150 |
|
|
PR target/31070
|
10151 |
|
|
* config/sparc/sparc.c (function_arg_slotno): Handle structure
|
10152 |
|
|
with MODE_VECTOR_INT mode.
|
10153 |
|
|
|
10154 |
|
|
2008-08-21 Manuel Lopez-Ibanez
|
10155 |
|
|
|
10156 |
|
|
PR middle-end/179
|
10157 |
|
|
* tree-ssa.c (warn_uninit): Do not warn for variables that can be
|
10158 |
|
|
initialized outside the current module.
|
10159 |
|
|
(warn_uninitialized_var): Ignore left-hand side when walking the
|
10160 |
|
|
trees. Ignore address expressions. Examine VUSE operands in gimple
|
10161 |
|
|
statements with a variable declaration on the right-hand side.
|
10162 |
|
|
|
10163 |
|
|
2008-08-20 Richard Sandiford
|
10164 |
|
|
|
10165 |
|
|
PR bootstrap/37155
|
10166 |
|
|
* rtlanal.c (subreg_offset_representable_p): Revert last change.
|
10167 |
|
|
|
10168 |
|
|
2008-08-20 Manuel Lopez-Ibanez
|
10169 |
|
|
|
10170 |
|
|
PR 35701
|
10171 |
|
|
* c-common.c (conversion_warning): Do not warn if applying bit-and
|
10172 |
|
|
operator to unsigned constant that fits in the target type.
|
10173 |
|
|
|
10174 |
|
|
2008-08-20 Manuel Lopez-Ibanez
|
10175 |
|
|
|
10176 |
|
|
PR c++/35602
|
10177 |
|
|
* c-common.c (conversion_warning): Do not warn for artificial
|
10178 |
|
|
expressions.
|
10179 |
|
|
|
10180 |
|
|
2008-08-20 Richard Guenther
|
10181 |
|
|
|
10182 |
|
|
* tree-vrp.c (op_with_constant_singleton_value_range): New function.
|
10183 |
|
|
(extract_range_from_binary_expr): Fall back to constant propagation.
|
10184 |
|
|
(extract_range_from_unary_expr): Likewise.
|
10185 |
|
|
|
10186 |
|
|
2008-08-20 Richard Guenther
|
10187 |
|
|
|
10188 |
|
|
* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Do not mess
|
10189 |
|
|
with TREE_THIS_VOLATILE on shared nodes.
|
10190 |
|
|
(fold_stmt_r): Likewise.
|
10191 |
|
|
|
10192 |
|
|
2008-08-20 Jakub Jelinek
|
10193 |
|
|
|
10194 |
|
|
PR c/37171
|
10195 |
|
|
* c-parser.c (c_parser_attributes): For keywords use canonical
|
10196 |
|
|
spelling for attr_name.
|
10197 |
|
|
|
10198 |
|
|
2008-08-20 Manuel Lopez-Ibanez
|
10199 |
|
|
|
10200 |
|
|
* value-prof.c (check_counter): Revert wrong call to error.
|
10201 |
|
|
|
10202 |
|
|
2008-08-20 Manuel Lopez-Ibanez
|
10203 |
|
|
|
10204 |
|
|
* profile.c: Update calls to inform.
|
10205 |
|
|
* value-prof.c: Update calls to inform.
|
10206 |
|
|
|
10207 |
|
|
2008-08-20 Manuel Lopez-Ibanez
|
10208 |
|
|
|
10209 |
|
|
* diagnostic.c (inform): Add an explicit location_t parameter.
|
10210 |
|
|
* toplev.h (inform): Update declaration.
|
10211 |
|
|
* builtins.c: Update all calls to inform.
|
10212 |
|
|
* c-common.c: Likewise.
|
10213 |
|
|
* c-decl.c: Likewise.
|
10214 |
|
|
* c-opts.c: Likewise.
|
10215 |
|
|
* c-pch.c: Likewise.
|
10216 |
|
|
* c-pragma.c: Likewise.
|
10217 |
|
|
* c-typeck.c: Likewise.
|
10218 |
|
|
* coverage.c: Likewise.
|
10219 |
|
|
* opts.c: Likewise.
|
10220 |
|
|
* toplev.c: Likewise.
|
10221 |
|
|
* tree-cfg.c: Likewise.
|
10222 |
|
|
* tree-ssa.c: Likewise.
|
10223 |
|
|
|
10224 |
|
|
2008-08-20 H.J. Lu
|
10225 |
|
|
|
10226 |
|
|
PR target/37169
|
10227 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): In
|
10228 |
|
|
V2DI mode, for SSE4.1, use movq instead of vector set if the
|
10229 |
|
|
second element is zero and inter-unit moves are OK.
|
10230 |
|
|
|
10231 |
|
|
2008-08-20 Richard Guenther
|
10232 |
|
|
|
10233 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): More
|
10234 |
|
|
properly handle conversion/copy chains after tuplification.
|
10235 |
|
|
|
10236 |
|
|
2008-08-20 Richard Guenther
|
10237 |
|
|
|
10238 |
|
|
* passes.c (init_optimization_passes): Move the second
|
10239 |
|
|
forwprop pass before alias computation. Remove the second
|
10240 |
|
|
DCE pass. Remove the first dominator and phi copy/const
|
10241 |
|
|
prop passes.
|
10242 |
|
|
|
10243 |
|
|
2008-08-20 Nick Clifton
|
10244 |
|
|
|
10245 |
|
|
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Always test for assembler
|
10246 |
|
|
support of this feature. Do not assume that a sufficiently new
|
10247 |
|
|
assembler will support the feature regardless of the target type.
|
10248 |
|
|
(HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
|
10249 |
|
|
* configure: Regenerate.
|
10250 |
|
|
|
10251 |
|
|
2008-08-20 Richard Guenther
|
10252 |
|
|
|
10253 |
|
|
* tree-vrp.c (found_in_subgraph): Remove.
|
10254 |
|
|
(live): New global static.
|
10255 |
|
|
(live_on_edge): New function.
|
10256 |
|
|
(blocks_visited): Remove.
|
10257 |
|
|
(register_edge_assert_for_2): Use live_on_edge.
|
10258 |
|
|
(find_conditional_asserts): Remove code dealing with
|
10259 |
|
|
found_in_subgraph. Do not walk the CFG.
|
10260 |
|
|
(find_switch_asserts): Likewise.
|
10261 |
|
|
(find_assert_locations_1): Renamed from find_assert_locations.
|
10262 |
|
|
Move finding assert locations for conditional and switch
|
10263 |
|
|
statements first. Update live bitmap. Do not walk the CFG.
|
10264 |
|
|
(find_assert_locations): New function.
|
10265 |
|
|
(insert_range_assertions): Remove entry of CFG walk.
|
10266 |
|
|
Adjust call to find_assert_locations.
|
10267 |
|
|
* tree-ssa-pre.c (do_regular_insertion): Ignore critical edges
|
10268 |
|
|
that only can appear because of fake exit edges but assert we
|
10269 |
|
|
never try to insert on those.
|
10270 |
|
|
(fini_pre): Do not remove fake exit edges here...
|
10271 |
|
|
(execute_pre): ...but here, before committing edge inserts.
|
10272 |
|
|
|
10273 |
|
|
2008-08-19 Richard Guenther
|
10274 |
|
|
|
10275 |
|
|
* passes.c (init_optimization_passes): Exchange store-ccp
|
10276 |
|
|
with a ccp pass.
|
10277 |
|
|
|
10278 |
|
|
2008-08-19 Rafael Espíndola
|
10279 |
|
|
|
10280 |
|
|
* varasm.c (weak_decls): Move earlier in the file.
|
10281 |
|
|
(assemble_external): Add weak decls to the weak_decls list.
|
10282 |
|
|
(declare_weak): Don't add decls to the weak_decls list.
|
10283 |
|
|
|
10284 |
|
|
2008-08-19 H.J. Lu
|
10285 |
|
|
|
10286 |
|
|
PR target/37157
|
10287 |
|
|
* config/i386/sse.md (sse2_punpckhqdq, sse2_punpcklqdq): Moved
|
10288 |
|
|
before (sse2_shufpd_).
|
10289 |
|
|
|
10290 |
|
|
2008-08-19 Jakub Jelinek
|
10291 |
|
|
|
10292 |
|
|
PR debug/37156
|
10293 |
|
|
* pretty-print.c (pp_base_format): Deal with recursive BLOCK trees.
|
10294 |
|
|
* tree.c (block_nonartificial_location): Likewise.
|
10295 |
|
|
|
10296 |
|
|
2008-08-19 Richard Guenther
|
10297 |
|
|
|
10298 |
|
|
PR tree-optimization/35972
|
10299 |
|
|
PR tree-optimization/23094
|
10300 |
|
|
* tree-ssa-sccvn.h (vn_reference_lookup_pieces): Add maywalk
|
10301 |
|
|
parameter.
|
10302 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
|
10303 |
|
|
handle MISALIGNED_INDIRECT_REF.
|
10304 |
|
|
(get_ref_from_reference_ops): New helper.
|
10305 |
|
|
(vn_reference_lookup_pieces): Walk the use-def chain using the
|
10306 |
|
|
alias-oracle if requested.
|
10307 |
|
|
* tree-ssa-pre.c (phi_translate_1): Do reference lookup with
|
10308 |
|
|
walking the use-def chain.
|
10309 |
|
|
(compute_avail): But not here.
|
10310 |
|
|
(create_component_ref_by_pieces_1): Properly handle
|
10311 |
|
|
MISALIGNED_INDIRECT_REF.
|
10312 |
|
|
(do_regular_insertion): Handle fully redundant
|
10313 |
|
|
expressions after PHI-translation also for SSA_NAME values, not
|
10314 |
|
|
only constants. Correctly use edoubleprime for that.
|
10315 |
|
|
|
10316 |
|
|
2008-08-19 Ira Rosen
|
10317 |
|
|
|
10318 |
|
|
* tree-vectorizer.c (supportable_widening_operation): Support
|
10319 |
|
|
multi-step conversion, return the number of steps in such conversion
|
10320 |
|
|
and the required intermediate types.
|
10321 |
|
|
(supportable_narrowing_operation): Likewise.
|
10322 |
|
|
* tree-vectorizer.h (vect_pow2): New function.
|
10323 |
|
|
(supportable_widening_operation): Change argument types.
|
10324 |
|
|
(supportable_narrowing_operation): Likewise.
|
10325 |
|
|
(vectorizable_type_promotion): Add an argument.
|
10326 |
|
|
(vectorizable_type_demotion): Likewise.
|
10327 |
|
|
* tree-vect-analyze.c (vect_analyze_operations): Call
|
10328 |
|
|
vectorizable_type_promotion and vectorizable_type_demotion with
|
10329 |
|
|
additional argument.
|
10330 |
|
|
(vect_get_and_check_slp_defs): Detect patterns.
|
10331 |
|
|
(vect_build_slp_tree): Add an argument, don't fail in case of multiple
|
10332 |
|
|
types.
|
10333 |
|
|
(vect_analyze_slp_instance): Don't fail in case of multiple types.
|
10334 |
|
|
Call vect_build_slp_tree with correct arguments. Calculate unrolling
|
10335 |
|
|
factor according to the smallest type in the loop.
|
10336 |
|
|
(vect_detect_hybrid_slp_stmts): Include statements from patterns.
|
10337 |
|
|
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Call
|
10338 |
|
|
supportable_widening_operation with correct arguments.
|
10339 |
|
|
* tree-vect-transform.c (vect_get_slp_defs): Allocate output vector
|
10340 |
|
|
operands lists according to the number of vector statements in left
|
10341 |
|
|
or right node, if exists.
|
10342 |
|
|
(vect_gen_widened_results_half): Remove unused argument.
|
10343 |
|
|
(vectorizable_conversion): Call supportable_widening_operation,
|
10344 |
|
|
supportable_narrowing_operation, and vect_gen_widened_results_half
|
10345 |
|
|
with correct arguments.
|
10346 |
|
|
(vectorizable_assignment): Change documentation, support multiple
|
10347 |
|
|
types in SLP.
|
10348 |
|
|
(vectorizable_operation): Likewise.
|
10349 |
|
|
(vect_get_loop_based_defs): New function.
|
10350 |
|
|
(vect_create_vectorized_demotion_stmts): Likewise.
|
10351 |
|
|
(vectorizable_type_demotion): Support loop-aware SLP and general
|
10352 |
|
|
multi-step conversion. Call vect_get_loop_based_defs and
|
10353 |
|
|
vect_create_vectorized_demotion_stmts for transformation.
|
10354 |
|
|
(vect_create_vectorized_promotion_stmts): New function.
|
10355 |
|
|
(vectorizable_type_promotion): Support loop-aware SLP and general
|
10356 |
|
|
multi-step conversion. Call vect_create_vectorized_promotion_stmts
|
10357 |
|
|
for transformation.
|
10358 |
|
|
(vectorizable_store): Change documentation, support multiple
|
10359 |
|
|
types in SLP.
|
10360 |
|
|
(vectorizable_load): Likewise.
|
10361 |
|
|
(vect_transform_stmt): Pass SLP_NODE to
|
10362 |
|
|
vectorizable_type_promotion and vectorizable_type_demotion.
|
10363 |
|
|
(vect_schedule_slp_instance): Move here the calculation of number
|
10364 |
|
|
of vectorized statements for each node from...
|
10365 |
|
|
(vect_schedule_slp): ... here.
|
10366 |
|
|
(vect_transform_loop): Call vect_schedule_slp without the last
|
10367 |
|
|
argument.
|
10368 |
|
|
|
10369 |
|
|
2008-08-19 Dorit Nuzman
|
10370 |
|
|
|
10371 |
|
|
PR bootstrap/37152
|
10372 |
|
|
* tree-vect-transform.c (vect_create_epilog_for_reduction): Change =
|
10373 |
|
|
to == in assert statement.
|
10374 |
|
|
(vectorizable_reduction): Fix typo.
|
10375 |
|
|
|
10376 |
|
|
2008-08-18 H.J. Lu
|
10377 |
|
|
|
10378 |
|
|
PR bootstrap/37153
|
10379 |
|
|
* value-prof.c (check_counter): Dereference pointer to overall
|
10380 |
|
|
count when printing it.
|
10381 |
|
|
|
10382 |
|
|
2008-08-18 H.J. Lu
|
10383 |
|
|
|
10384 |
|
|
* profile.h: Really add it.
|
10385 |
|
|
|
10386 |
|
|
2008-08-18 H.J. Lu
|
10387 |
|
|
|
10388 |
|
|
* mcf.c: Really add it.
|
10389 |
|
|
|
10390 |
|
|
2008-08-18 Paul Yuan
|
10391 |
|
|
Vinodha Ramasamy
|
10392 |
|
|
|
10393 |
|
|
* cgraph.c (cgraph_edge): Handle inconsistent counts when setting
|
10394 |
|
|
count_scale.
|
10395 |
|
|
* value-prof.c (check_counter): Fix the counter if
|
10396 |
|
|
flag_profile_correction is true.
|
10397 |
|
|
(tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
|
10398 |
|
|
tree_mod_subtract_transform):
|
10399 |
|
|
Follow check_counter parameter change.
|
10400 |
|
|
* common.opt (fprofile-correction): New option.
|
10401 |
|
|
* mcf.c: New file.
|
10402 |
|
|
* profile.h: Likewise.
|
10403 |
|
|
* profile.c (edge_info, EDGE_INFO): Moved to new file profile.h.
|
10404 |
|
|
(sum_edge_counts, is_edge_inconsistent, correct_negative_edge_counts,
|
10405 |
|
|
is_inconsistent, set_bb_counts, read_profile_edge_counts): New
|
10406 |
|
|
functions.
|
10407 |
|
|
(compute_branch_probabilities): Refactored. Invokes mcf_smooth_cfg if
|
10408 |
|
|
flag_profile_correction is set.
|
10409 |
|
|
|
10410 |
|
|
2008-08-18 Richard Sandiford
|
10411 |
|
|
|
10412 |
|
|
* rtlanal.c (subreg_offset_representable_p): Check HARD_REGNO_MODE_OK.
|
10413 |
|
|
|
10414 |
|
|
2008-08-18 Tomas Bily
|
10415 |
|
|
|
10416 |
|
|
* tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to CONVERT_EXPR_CODE_P.
|
10417 |
|
|
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Use
|
10418 |
|
|
CONVERT_EXPR_P.
|
10419 |
|
|
* tree-data-ref.c (split_constant_offset_1): Likewise.
|
10420 |
|
|
* tree-inline.c (estimate_operator_cost): Use CASE_CONVERT.
|
10421 |
|
|
* tree-sra.c (sra_walk_expr): Likewise.
|
10422 |
|
|
* matrix-reorg.c (ssa_accessed_in_assign_rhs): Likewise.
|
10423 |
|
|
* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
|
10424 |
|
|
* gimple.h (gimple_assign_cast_p): Use CONVERT_EXPR_CODE_P.
|
10425 |
|
|
* tree-ssa-structalias.c (find_func_aliases, find_func_aliases):
|
10426 |
|
|
Likewise.
|
10427 |
|
|
* gimple.c (gimple_assign_unary_nop_p): Likewise.
|
10428 |
|
|
* tree-vect-transform.c (vectorizable_type_demotion)
|
10429 |
|
|
(vectorizable_type_promotion): Likewise.
|
10430 |
|
|
* tree-inline.c (expand_call_inline):
|
10431 |
|
|
* tree-ssa-forwprop.c (get_prop_source_stmt, can_propagate_from)
|
10432 |
|
|
(forward_propagate_addr_expr_1, forward_propagate_comparison)
|
10433 |
|
|
(tree_ssa_forward_propagate_single_use_vars): Likewise.
|
10434 |
|
|
* expr.c (expand_expr_real_1): Likewise.
|
10435 |
|
|
* tree-ssa-dom.c (hashable_expr_equal_p, iterative_hash_hashable_expr)
|
10436 |
|
|
(gimple_assign_unary_useless_conversion_p): Likewise.
|
10437 |
|
|
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
|
10438 |
|
|
* tree-ssa-ccp.c (ccp_fold, fold_gimple_assign): Likewise.
|
10439 |
|
|
* fold-const.c (fold_unary): Likewise.
|
10440 |
|
|
* tree.h (CONVERT_EXPR_P): Likewise.
|
10441 |
|
|
* tree.c (simple_cst_equal, iterative_hash_expr): Likewise.
|
10442 |
|
|
* tree-ssa-loop-im.c (rewrite_bittest): Likewise.
|
10443 |
|
|
* tree-vrp.c:
|
10444 |
|
|
(register_edge_assert_for_2, extract_range_from_unary_expr)
|
10445 |
|
|
(register_edge_assert_for_1): Likewise.
|
10446 |
|
|
|
10447 |
|
|
2008-08-18 Manuel Lopez-Ibanez
|
10448 |
|
|
|
10449 |
|
|
* real.h (dconst_e, dconst_third, dconst_sqrt2, dconst_e_ptr,
|
10450 |
|
|
dconst_third_ptr, dconst_sqrt2_ptr): Declare.
|
10451 |
|
|
(enum real_value_const): Delete.
|
10452 |
|
|
(get_real_const): Delete.
|
10453 |
|
|
* real.c (get_real_const): Delete.
|
10454 |
|
|
(dconst_e_ptr): Define.
|
10455 |
|
|
(dconst_third_ptr): Define.
|
10456 |
|
|
(dconst_sqrt2_ptr): Define.
|
10457 |
|
|
* builtins.c: Update all callers.
|
10458 |
|
|
|
10459 |
|
|
2008-08-18 Richard Guenther
|
10460 |
|
|
|
10461 |
|
|
* tree-ssa-reassoc.c (reassociate_bb): Properly reset the
|
10462 |
|
|
statement iterator after statement removal.
|
10463 |
|
|
|
10464 |
|
|
2008-08-18 Andreas Tobler
|
10465 |
|
|
|
10466 |
|
|
* config/rs6000/driver-rs6000.c (detect_caches_freebsd): New function.
|
10467 |
|
|
(detect_processor_freebsd): Likewise.
|
10468 |
|
|
(host_detect_local_cpu): Call newly added functions for FreeBSD.
|
10469 |
|
|
|
10470 |
|
|
2008-08-18 Richard Guenther
|
10471 |
|
|
|
10472 |
|
|
* tree-cfg.c (verify_types_in_gimple_assign): Verify copies
|
10473 |
|
|
and loads have the correct types.
|
10474 |
|
|
|
10475 |
|
|
2008-08-18 Manuel Lopez-Ibanez
|
10476 |
|
|
|
10477 |
|
|
PR cpp/7263
|
10478 |
|
|
* c-opts.c (cpp_opts): Remove static.
|
10479 |
|
|
* c-parser.c (cpp_opts): Declare it extern.
|
10480 |
|
|
(disable_extension_diagnostics): Handle cpp options.
|
10481 |
|
|
(enable_extension_diagnostics): Likewise.
|
10482 |
|
|
|
10483 |
|
|
2008-08-18 Manuel Lopez-Ibanez
|
10484 |
|
|
|
10485 |
|
|
* diagnostics.c (permerror_at): Rename as permerror.
|
10486 |
|
|
(permerror): Delete.
|
10487 |
|
|
* toplev.h: Likewise.
|
10488 |
|
|
|
10489 |
|
|
2008-08-18 Richard Guenther
|
10490 |
|
|
|
10491 |
|
|
* passes.c (init_optimization_passes): Remove cleanup_cfg1,
|
10492 |
|
|
sdse1 and addressables2 passes. Replace dce1 with cddce1.
|
10493 |
|
|
Move call_cdce before build_alias. Move copyrename2,
|
10494 |
|
|
cunrolli and ccp2 beafore build_alias. Re-add addressable2
|
10495 |
|
|
right after final inlining.
|
10496 |
|
|
* tree-cfg.c (build_gimple_cfg): Do not dump function here.
|
10497 |
|
|
(pass_build_cfg): But instead via TODO_dump_func.
|
10498 |
|
|
|
10499 |
|
|
2008-08-18 Richard Guenther
|
10500 |
|
|
|
10501 |
|
|
* tree-sra.c (generate_element_init_1): Deal with NULL constructor
|
10502 |
|
|
element index.
|
10503 |
|
|
(scalarize_init): If we failed to generate some initializers
|
10504 |
|
|
do not generate zeros for not instantiated members. Instead
|
10505 |
|
|
rely on the copy out.
|
10506 |
|
|
* tree-ssa-operands.c (get_addr_dereference_operands): Warn
|
10507 |
|
|
about missing flow-sensitive alias info only if we have
|
10508 |
|
|
aliases computed.
|
10509 |
|
|
|
10510 |
|
|
2008-08-17 Nick Clifton
|
10511 |
|
|
|
10512 |
|
|
* doc/extend.texi (Function Attributes): Fix typo in description
|
10513 |
|
|
if hot function attribute.
|
10514 |
|
|
|
10515 |
|
|
2008-08-17 Daniel Jacobowitz
|
10516 |
|
|
Richard Sandiford
|
10517 |
|
|
|
10518 |
|
|
* doc/install.texi (--with-mips-plt): Document.
|
10519 |
|
|
* doc/invoke.texi (-mplt, -mno-plt): Document.
|
10520 |
|
|
* config.gcc (mips*-*-*): Add mips-plt to supported_defaults
|
10521 |
|
|
and handle ${with_mips_plt}.
|
10522 |
|
|
* config/mips/mips.opt (mplt): New option.
|
10523 |
|
|
* config/mips/mips.h (TARGET_ABICALLS_PIC0): New macro.
|
10524 |
|
|
(TARGET_ABICALLS_PIC2): Likewise.
|
10525 |
|
|
(TARGET_GPWORD): Return false for TARGET_ABSOLUTE_ABICALLS.
|
10526 |
|
|
(OPTION_DEFAULT_SPECS): Add a mips-plt entry.
|
10527 |
|
|
(ASM_SPEC): Use !mabi=* instead of !mabi*.
|
10528 |
|
|
(MIPS_CALL): Use TARGET_ABICALLS_PIC2 instead of TARGET_ABICALLS
|
10529 |
|
|
to decide whether to output ".option picX" directives.
|
10530 |
|
|
* config/mips/linux.h (SUBTARGET_ASM_SPEC): Remove -mabi=64 handling.
|
10531 |
|
|
Pass -call_nonpic rather than -KPIC for -mplt.
|
10532 |
|
|
(BASE_DRIVER_SELF_SPECS): Remove -mplt if -mno-shared is not present
|
10533 |
|
|
on the command line. Also remove it when -mabi=64 is used without
|
10534 |
|
|
-msym32.
|
10535 |
|
|
* config/mips/linux64.h (SUBTARGET_ASM_SPEC): Delete.
|
10536 |
|
|
* config/mips/mips.c (mips_use_pic_fn_addr_reg_p): Handle
|
10537 |
|
|
TARGET_ABICALLS_PIC0.
|
10538 |
|
|
(mips_classify_symbol): Use TARGET_ABICALLS_PIC2 instead of
|
10539 |
|
|
TARGET_ABICALLS.
|
10540 |
|
|
(mips16_build_function_stub): Only output ".option pic" directives
|
10541 |
|
|
and PIC stubs if TARGET_ABICALLS_PIC2. Call through $25 instead of $1.
|
10542 |
|
|
(mips16_build_call_stub): Fix comment and remove redundant
|
10543 |
|
|
".set at"/"set .noat" directives.
|
10544 |
|
|
(mips_function_rodata_section): Use the default behaviour for
|
10545 |
|
|
TARGET_ABSOLUTE_ABICALLS.
|
10546 |
|
|
(mips_file_start): Emit ".option pic0" for TARGET_ABICALLS_PIC0.
|
10547 |
|
|
(mips_global_pointer): Handle TARGET_ABICALLS_PIC0.
|
10548 |
|
|
(mips_restore_gp): Do nothing if the current function doesn't use
|
10549 |
|
|
a global pointer.
|
10550 |
|
|
(mips_expand_prologue): Only save $gp if the current function uses it.
|
10551 |
|
|
Use a normal move for TARGET_ABICALLS_PIC0.
|
10552 |
|
|
(mips_override_options): Only set flag_pic if TARGET_ABICALLS_PIC2.
|
10553 |
|
|
|
10554 |
|
|
2008-08-17 Richard Sandiford
|
10555 |
|
|
|
10556 |
|
|
* config/mips/mips.c (mips_save_reg_p): Don't short-circuit rest
|
10557 |
|
|
of function when handling GLOBAL_POINTER_REGNUM.
|
10558 |
|
|
|
10559 |
|
|
2008-08-16 Eric Botcazou
|
10560 |
|
|
|
10561 |
|
|
PR ada/20548
|
10562 |
|
|
* common.opt (-fstack-check): Do not declare the variable here.
|
10563 |
|
|
(-fstack-check=): New option variant.
|
10564 |
|
|
* doc/invoke.texi (Code Gen Options): Document it.
|
10565 |
|
|
* expr.h (STACK_OLD_CHECK_PROTECT): New macro.
|
10566 |
|
|
(STACK_CHECK_PROTECT): Bump to 3 pages if DWARF-2 EH is used.
|
10567 |
|
|
(STACK_CHECK_STATIC_BUILTIN): New macro.
|
10568 |
|
|
* doc/tm.texi (Stack Checking): Document STACK_CHECK_STATIC_BUILTIN.
|
10569 |
|
|
* opts.c: Include expr.h.
|
10570 |
|
|
(common_handle_option) : New case.
|
10571 |
|
|
: Likewise.
|
10572 |
|
|
* calls.c (initialize_argument_information): Use TYPE_SIZE_UNIT
|
10573 |
|
|
consistently in the test for variable-sized types. Adjust for
|
10574 |
|
|
new behaviour of flag_stack_check.
|
10575 |
|
|
* explow.c: Include except.h.
|
10576 |
|
|
(allocate_dynamic_stack_space): Do not take into account
|
10577 |
|
|
STACK_CHECK_MAX_FRAME_SIZE for static builtin stack checking.
|
10578 |
|
|
* function.c (gimplify_parameters): Use DECL_SIZE_UNIT in the test
|
10579 |
|
|
for variable-sized parameters. Treat all parameters whose size is
|
10580 |
|
|
greater than STACK_CHECK_MAX_VAR_SIZE as variable-sized if generic
|
10581 |
|
|
stack checking is enabled.
|
10582 |
|
|
* gimplify.c (gimplify_decl_expr): Treat non-static objects whose
|
10583 |
|
|
size is greater than STACK_CHECK_MAX_VAR_SIZE as variable-sized
|
10584 |
|
|
if generic stack checking is enabled.
|
10585 |
|
|
(expand_function_end): Adjust for new behaviour of flag_stack_check.
|
10586 |
|
|
* reload1.c (reload): Likewise.
|
10587 |
|
|
* stmt.c (expand_decl): Assert that all automatic variables have
|
10588 |
|
|
fixed size at this point and remove dead code.
|
10589 |
|
|
* flags.h (stack_check_type): New enumeration type.
|
10590 |
|
|
(flag_stack_check): Declare.
|
10591 |
|
|
* toplev.c (flag_stack_check): New global variable.
|
10592 |
|
|
* Makefile.in (opts.o): Add dependency on EXPR_H.
|
10593 |
|
|
(explow.o): Add dependency on except.h.
|
10594 |
|
|
|
10595 |
|
|
2008-08-16 Andy Hutchinson
|
10596 |
|
|
|
10597 |
|
|
* config/avr/avr.c (avr_override_options): Reduce value of
|
10598 |
|
|
PARAM_INLINE_CALL_COST.
|
10599 |
|
|
|
10600 |
|
|
2008-08-15 Eric Botcazou
|
10601 |
|
|
|
10602 |
|
|
* expr.c (expand_expr_real_1) : When converting
|
10603 |
|
|
to BLKmode, try to fetch an inner memory reference. Use 'mode' in
|
10604 |
|
|
lieu of TYPE_MODE (type) throughout.
|
10605 |
|
|
|
10606 |
|
|
2008-08-15 Joseph Myers
|
10607 |
|
|
|
10608 |
|
|
* config/arm/arm.c (add_minipool_backward_ref): Check for
|
10609 |
|
|
8-byte-aligned entries in second case of forcing insertion after a
|
10610 |
|
|
particular entry. Change third case to avoid inserting
|
10611 |
|
|
non-8-byte-aligned entries before 8-byte-aligned ones.
|
10612 |
|
|
|
10613 |
|
|
2008-08-15 Richard Guenther
|
10614 |
|
|
|
10615 |
|
|
* tree-ssa-ccp.c (maybe_fold_offset_to_reference): Do not
|
10616 |
|
|
strip components for unknown size accesses.
|
10617 |
|
|
|
10618 |
|
|
2008-08-15 Wolfgang Gellerich
|
10619 |
|
|
|
10620 |
|
|
* config/s390/2097.md New file.
|
10621 |
|
|
* config/s390/s390.md ("z10prop" attribute): Define none,
|
10622 |
|
|
z10_super, z10_super_E1, z10_super_A1, z10_super_c,
|
10623 |
|
|
z10_super_c_E1, z10_fwd, z10_fwd_A1, z10_fwd_A3, z10_fwd_E1,
|
10624 |
|
|
z10_rec, z10_fr, z10_fr_A3, z10_fr_E1, z10_c, and z10_cobra as
|
10625 |
|
|
possible values and apply them to insns as appropriate.
|
10626 |
|
|
("type" attribute): Removed itof and added ftrunctf,ftruncdf,
|
10627 |
|
|
ftruncsd, ftruncdd, itoftf, itofdf, itofsf, itofdd, itoftd,
|
10628 |
|
|
fdivdd, fdivtd, floaddd, floadsd, fmuldd, fmultd, fsimpdd,
|
10629 |
|
|
fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible values.
|
10630 |
|
|
("bfp" mode attribute): Removed. Every occurence replaced
|
10631 |
|
|
with .
|
10632 |
|
|
* config/s390/s390.c (struct "z10_cost"): Updated entries.
|
10633 |
|
|
* config/s390/2084.md (insn_reservation "x_itof"): Updated
|
10634 |
|
|
type attribute.
|
10635 |
|
|
|
10636 |
|
|
2008-08-14 Manuel Lopez-Ibanez
|
10637 |
|
|
|
10638 |
|
|
PR c/28152
|
10639 |
|
|
* c-parser.c (c_lex_one_token): Do not store the canonical spelling
|
10640 |
|
|
for keywords.
|
10641 |
|
|
|
10642 |
|
|
2008-08-14 Dorit Nuzman
|
10643 |
|
|
|
10644 |
|
|
* tree-vect-transform.c (vect_create_epilog_for_reduction): Takes an
|
10645 |
|
|
additional argument. Support reduction when duplication is needed due
|
10646 |
|
|
to data-types of different sizes in the loop.
|
10647 |
|
|
(get_initial_def_for_induction): Fix printout.
|
10648 |
|
|
(vect_get_vec_def_for_stmt_copy): Support case where the
|
10649 |
|
|
vec_stmt_for_operand is a phi node.
|
10650 |
|
|
(vectorizable_reduction): Support reduction when duplication is needed
|
10651 |
|
|
due to data-types of different sizes in the loop.
|
10652 |
|
|
(vectorizable_call): Remove restriction to not vectorize in case we
|
10653 |
|
|
have data-types of different sizes in the loop.
|
10654 |
|
|
(vectorizable_conversion): Likewise.
|
10655 |
|
|
(vectorizable_operation): Likewise.
|
10656 |
|
|
(vectorizable_type_demotion): Likewise.
|
10657 |
|
|
(vectorizable_type_promotion): Likewise.
|
10658 |
|
|
(vectorizable_induction): Add restriction to not vectorize in case
|
10659 |
|
|
we have data-types of different sizes in the loop.
|
10660 |
|
|
|
10661 |
|
|
2008-08-14 Christophe Saout
|
10662 |
|
|
Uros Bizjak
|
10663 |
|
|
|
10664 |
|
|
PR target/37101
|
10665 |
|
|
* config/i386/sse.md (vec_concatv2di): Remove movlps alternative.
|
10666 |
|
|
(*vec_concatv2di_rex64_sse4_1): Ditto.
|
10667 |
|
|
(*vec_concatv2di_rex64_sse): Ditto.
|
10668 |
|
|
|
10669 |
|
|
2008-08-14 Jakub Jelinek
|
10670 |
|
|
|
10671 |
|
|
PR middle-end/37103
|
10672 |
|
|
* fold-const.c (fold_widened_comparison): Do not allow
|
10673 |
|
|
sign changes that change the result even if shorter type
|
10674 |
|
|
is wider than arg1_unw's type.
|
10675 |
|
|
|
10676 |
|
|
2008-08-13 Kazu Hirata
|
10677 |
|
|
|
10678 |
|
|
* gcc.dg/arm-g2.c, gcc.dg/arm-mmx-1.c, gcc.dg/arm-scd42-2.c:
|
10679 |
|
|
Skip if the multilib testing specifies -march that does not
|
10680 |
|
|
agree with the one specified in the testcase.
|
10681 |
|
|
|
10682 |
|
|
2008-08-13 Joseph Myers
|
10683 |
|
|
|
10684 |
|
|
* config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or
|
10685 |
|
|
zero extend SImode values being converted to TFmode before passing
|
10686 |
|
|
to libcalls.
|
10687 |
|
|
|
10688 |
|
|
2008-08-13 Ulrich Weigand
|
10689 |
|
|
|
10690 |
|
|
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
|
10691 |
|
|
__PPU__ when targeting the Cell/B.E. PPU processor.
|
10692 |
|
|
|
10693 |
|
|
2008-08-13 Eric Botcazou
|
10694 |
|
|
|
10695 |
|
|
* gimple.h (gimple_call_set_chain): Accept SSA variables.
|
10696 |
|
|
* tree-ssa-pre.c (create_component_ref_by_pieces_1) :
|
10697 |
|
|
Rematerialize the static chain, if any.
|
10698 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_call): Also copy the
|
10699 |
|
|
static chain.
|
10700 |
|
|
|
10701 |
|
|
2008-08-13 H.J. Lu
|
10702 |
|
|
|
10703 |
|
|
* dwarf2out.c (dwarf_stack_op_name): Remove prototype.
|
10704 |
|
|
(new_loc_descr): Likewise.
|
10705 |
|
|
(add_loc_descr): Likewise.
|
10706 |
|
|
(size_of_loc_descr): Likewise.
|
10707 |
|
|
(size_of_locs): Likewise.
|
10708 |
|
|
(output_loc_operands): Likewise.
|
10709 |
|
|
(output_loc_sequence): Likewise.
|
10710 |
|
|
(new_reg_loc_descr): New.
|
10711 |
|
|
(build_cfa_loc): Use it.
|
10712 |
|
|
(build_cfa_aligned_loc): Likewise.
|
10713 |
|
|
(one_reg_loc_descriptor): Likewise.
|
10714 |
|
|
(based_loc_descr): Likewise.
|
10715 |
|
|
|
10716 |
|
|
2008-08-13 Manuel Lopez-Ibanez
|
10717 |
|
|
|
10718 |
|
|
PR 30551
|
10719 |
|
|
* doc/invoke.texi (Wmain): Update.
|
10720 |
|
|
* c-decl.c (start_decl): warn_main is only 0 or 1.
|
10721 |
|
|
(start_function): Likewise. Fix formatting.
|
10722 |
|
|
(finish_function): Delete redundant warning.
|
10723 |
|
|
* c.opt (Wmain): Add Var(warn_main) and Init(-1).
|
10724 |
|
|
* c-opts (c_common_handle_option): -Wall only has effect if
|
10725 |
|
|
warn_main is uninitialized. OPT_Wmain is automatically
|
10726 |
|
|
handled. -pedantic also enables Wmain.
|
10727 |
|
|
(c_common_post_options): Handle all logic for Wmain here.
|
10728 |
|
|
* c-common.c (warn_main): Delete.
|
10729 |
|
|
(check_main_parameter_types): Make pedwarns conditional on OPT_Wmain.
|
10730 |
|
|
* c-common.h (warn_main): Delete.
|
10731 |
|
|
|
10732 |
|
|
2008-08-13 H.J. Lu
|
10733 |
|
|
|
10734 |
|
|
PR middle-end/36701
|
10735 |
|
|
* expr.c (emit_group_store): Allocate stack temp with the
|
10736 |
|
|
largest alignment when copying from register to stack.
|
10737 |
|
|
|
10738 |
|
|
2008-08-13 Richard Guenther
|
10739 |
|
|
|
10740 |
|
|
* tree.h (maybe_fold_offset_to_address): Declare.
|
10741 |
|
|
* tree-ssa-ccp.c (surely_varying_stmt_p): Fix typo in last commit.
|
10742 |
|
|
(ccp_fold): Handle pointer conversions the same as fold_stmt.
|
10743 |
|
|
Likewise for POINTER_PLUS_EXPR.
|
10744 |
|
|
(maybe_fold_offset_to_reference): Enable disabled code.
|
10745 |
|
|
(maybe_fold_offset_to_address): New function.
|
10746 |
|
|
(fold_stmt_r): Use it.
|
10747 |
|
|
(fold_gimple_assign): Likewise.
|
10748 |
|
|
* gimplify.c (gimplify_conversion): Use maybe_fold_offset_to_address.
|
10749 |
|
|
(gimplify_expr): Likewise.
|
10750 |
|
|
|
10751 |
|
|
2008-08-13 Manuel Lopez-Ibanez
|
10752 |
|
|
|
10753 |
|
|
* toplev.h (pedwarn_at): Fix declaration.
|
10754 |
|
|
|
10755 |
|
|
2008-08-13 Joseph Myers
|
10756 |
|
|
|
10757 |
|
|
* config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
|
10758 |
|
|
LINK_SPEC): Use %R in -Y P argument.
|
10759 |
|
|
|
10760 |
|
|
2008-08-13 Manuel Lopez-Ibanez
|
10761 |
|
|
|
10762 |
|
|
PR c/15236
|
10763 |
|
|
* diagnostic.c (pedwarn_at): New.
|
10764 |
|
|
* toplev.h (pedwarn_at): Declare.
|
10765 |
|
|
* c-tree.h (build_enumerator): Update declaration.
|
10766 |
|
|
* c-decl.c (finish_enum): Update comment.
|
10767 |
|
|
(build_enumerator): Take a location parameter. Give a pedwarn but do
|
10768 |
|
|
not perform any conversion.
|
10769 |
|
|
* c-parser.c (c_parser_enum_specifier): Set correct location for
|
10770 |
|
|
enumerator.
|
10771 |
|
|
|
10772 |
|
|
2008-08-13 Manuel Lopez-Ibanez
|
10773 |
|
|
|
10774 |
|
|
PR 35635
|
10775 |
|
|
* c-common.c (conversion_warning): Use a switch. Ignore boolean
|
10776 |
|
|
expressions except for conversions to signed:1 bitfields. Handle
|
10777 |
|
|
COND_EXPR with constant operands.
|
10778 |
|
|
|
10779 |
|
|
2008-08-13 Richard Guenther
|
10780 |
|
|
|
10781 |
|
|
PR tree-optimization/15255
|
10782 |
|
|
* tree-ssa-reassoc.c (linearize_expr_tree): Declare.
|
10783 |
|
|
(struct oecount_s): New struct and VEC types.
|
10784 |
|
|
(cvec): New global.
|
10785 |
|
|
(oecount_hash): New function.
|
10786 |
|
|
(oecount_eq): Likewise.
|
10787 |
|
|
(oecount_cmp): Likewise.
|
10788 |
|
|
(zero_one_operation): New function.
|
10789 |
|
|
(build_and_add_sum): Likewise.
|
10790 |
|
|
(undistribute_ops_list): Perform un-distribution of multiplication
|
10791 |
|
|
and division on the chain of summands.
|
10792 |
|
|
(should_break_up_subtract): Also break up subtracts for factors.
|
10793 |
|
|
(reassociate_bb): Delete dead visited statements.
|
10794 |
|
|
Call undistribute_ops_list. Re-sort and optimize if it did something.
|
10795 |
|
|
* passes.c (init_optimization_passes): Move DSE before
|
10796 |
|
|
reassociation.
|
10797 |
|
|
* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Correctly handle
|
10798 |
|
|
PHI nodes.
|
10799 |
|
|
|
10800 |
|
|
2008-08-12 Janis Johnson
|
10801 |
|
|
|
10802 |
|
|
* doc/invoke.texi (-fipa-pta): Say the option is experimental.
|
10803 |
|
|
|
10804 |
|
|
* doc/invoke.texi: Revert unintended checkin.
|
10805 |
|
|
|
10806 |
|
|
2008-08-12 Nathan Froyd
|
10807 |
|
|
|
10808 |
|
|
PR libgomp/26165
|
10809 |
|
|
* gcc.c (include_spec_function): Tweak call to find_a_file.
|
10810 |
|
|
|
10811 |
|
|
2008-08-12 Jakub Jelinek
|
10812 |
|
|
|
10813 |
|
|
PR middle-end/37014
|
10814 |
|
|
* expr.c (expand_expr_real_1): Handle TRUTH_ANDIF_EXPR
|
10815 |
|
|
and TRUTH_ORIF_EXPR.
|
10816 |
|
|
* dojump.c (do_jump): Likewise.
|
10817 |
|
|
|
10818 |
|
|
PR tree-optimization/37084
|
10819 |
|
|
* tree-inline.c (copy_bb): Call gimple_regimplify_operands
|
10820 |
|
|
if id->regimplify, don't assume stmt is a cast assignment.
|
10821 |
|
|
|
10822 |
|
|
2008-08-12 Anatoly Sokolov
|
10823 |
|
|
|
10824 |
|
|
* final.c (final_scan_insn): Use app_enable/app_disable functions.
|
10825 |
|
|
|
10826 |
|
|
2008-08-12 Ulrich Weigand
|
10827 |
|
|
|
10828 |
|
|
PR bootstrap/37097
|
10829 |
|
|
* builtins.c (do_mpfr_bessel_n): Fix copy-and-paste bug introduced
|
10830 |
|
|
by last change.
|
10831 |
|
|
|
10832 |
|
|
2008-08-12 Ulrich Weigand
|
10833 |
|
|
|
10834 |
|
|
* defaults.h (TARGET_FLOAT_FORMAT): Remove.
|
10835 |
|
|
(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.
|
10836 |
|
|
|
10837 |
|
|
* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
|
10838 |
|
|
* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
|
10839 |
|
|
* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
|
10840 |
|
|
* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
|
10841 |
|
|
* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.
|
10842 |
|
|
|
10843 |
|
|
* doc/tm.texi (Storage Layout): Remove documentation for
|
10844 |
|
|
TARGET_FLOAT_FORMAT.
|
10845 |
|
|
|
10846 |
|
|
* simplify-rtx.c (simplify_binary_operation_1): Replace
|
10847 |
|
|
TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.
|
10848 |
|
|
|
10849 |
|
|
2008-08-12 Ulrich Weigand
|
10850 |
|
|
|
10851 |
|
|
* real.h (struct real_format): New member has_sign_dependent_rounding.
|
10852 |
|
|
* real.c (ieee_single_format, mips_single_format, motorola_single_format,
|
10853 |
|
|
spu_single_format, ieee_double_format, mips_double_format,
|
10854 |
|
|
motorola_double_format, ieee_extended_motorola_format,
|
10855 |
|
|
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
|
10856 |
|
|
ieee_extended_intel_96_round_53_format, ibm_extended_format,
|
10857 |
|
|
mips_extended_format, ieee_quad_format, mips_quad_format,
|
10858 |
|
|
vax_f_format, vax_d_format, vax_g_format): Initialize it.
|
10859 |
|
|
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
|
10860 |
|
|
|
10861 |
|
|
* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
|
10862 |
|
|
MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
|
10863 |
|
|
* config/spu/spu.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
|
10864 |
|
|
MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
|
10865 |
|
|
(ROUND_TOWARDS_ZERO): Likewise.
|
10866 |
|
|
|
10867 |
|
|
* real.h (REAL_MODE_FORMAT): Protect MODE against macro expansion.
|
10868 |
|
|
(FLOAT_MODE_FORMAT): New macro.
|
10869 |
|
|
(REAL_MODE_FORMAT_COMPOSITE_P): Remove, replace by ...
|
10870 |
|
|
(MODE_COMPOSITE_P): ... this new macro.
|
10871 |
|
|
(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
|
10872 |
|
|
MODE_HAS_SIGN_DEPENDENT_ROUNDING): New macros.
|
10873 |
|
|
* machmode.h (GET_MODE_INNER): Cast result to enum machine_mode.
|
10874 |
|
|
|
10875 |
|
|
* flags.h: Include "real.h".
|
10876 |
|
|
|
10877 |
|
|
* fold-const.c (const_binop): Use MODE_COMPOSITE_P instead of
|
10878 |
|
|
REAL_MODE_FORMAT_COMPOSITE_P.
|
10879 |
|
|
* simplify-rtx.c (simplify_const_binary_operation): Likewise.
|
10880 |
|
|
|
10881 |
|
|
* doc/tm.texi (Storage Layout): Remove documentation of
|
10882 |
|
|
MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
|
10883 |
|
|
MODE_HAS_SIGN_DEPENDENT_ROUNDING. Update documentation of
|
10884 |
|
|
ROUND_TOWARDS_ZERO and LARGEST_EXPONENT_IS_NORMAL to clarify
|
10885 |
|
|
they only apply to libgcc2.a.
|
10886 |
|
|
|
10887 |
|
|
2008-08-12 Ulrich Weigand
|
10888 |
|
|
|
10889 |
|
|
* config/spu/float_disf.c: New file.
|
10890 |
|
|
* config/spu/float_unsdisf.c: New file.
|
10891 |
|
|
* config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them.
|
10892 |
|
|
(LIB2FUNCS_EXCLUDE): Define.
|
10893 |
|
|
|
10894 |
|
|
2008-08-12 Ulrich Weigand
|
10895 |
|
|
Trevor Smigiel
|
10896 |
|
|
|
10897 |
|
|
* real.h (struct real_format): New member round_towards_zero.
|
10898 |
|
|
* real.c (round_for_format): Respect fmt->round_towards_zero.
|
10899 |
|
|
(ieee_single_format, mips_single_format, motorola_single_format,
|
10900 |
|
|
spu_single_format, ieee_double_format, mips_double_format,
|
10901 |
|
|
motorola_double_format, ieee_extended_motorola_format,
|
10902 |
|
|
ieee_extended_intel_96_format, ieee_extended_intel_128_format,
|
10903 |
|
|
ieee_extended_intel_96_round_53_format, ibm_extended_format,
|
10904 |
|
|
mips_extended_format, ieee_quad_format, mips_quad_format,
|
10905 |
|
|
vax_f_format, vax_d_format, vax_g_format): Initialize it.
|
10906 |
|
|
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
|
10907 |
|
|
|
10908 |
|
|
* builtins.s (do_mpfr_arg1): Consider round_towards_zero member of
|
10909 |
|
|
real_format to choose rounding mode when calling MPFR functions.
|
10910 |
|
|
(do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise.
|
10911 |
|
|
(do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise.
|
10912 |
|
|
|
10913 |
|
|
* real.h (real_to_decimal_for_mode): Add prototype.
|
10914 |
|
|
* real.c (real_to_decimal_for_mode): Renames old real_to_decimal.
|
10915 |
|
|
Respect target rounding mode when generating decimal representation.
|
10916 |
|
|
(real_to_decimal): New stub for backwards compatibility.
|
10917 |
|
|
* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use
|
10918 |
|
|
real_to_decimal_for_mode instead of real_to_decimal.
|
10919 |
|
|
|
10920 |
|
|
* config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New.
|
10921 |
|
|
|
10922 |
|
|
2008-08-12 Ulrich Weigand
|
10923 |
|
|
Trevor Smigiel
|
10924 |
|
|
|
10925 |
|
|
* real.c (spu_single_format): New variable.
|
10926 |
|
|
* real.h (spu_single_format): Declare.
|
10927 |
|
|
|
10928 |
|
|
* config/spu/spu.c (spu_override_options): Install SFmode format.
|
10929 |
|
|
(spu_split_immediate): Use integer mode to operate on pieces of
|
10930 |
|
|
floating-point values in all cases.
|
10931 |
|
|
|
10932 |
|
|
* config/spu/spu.md (UNSPEC_FLOAT_EXTEND, UNSPEC_FLOAT_TRUNCATE): New.
|
10933 |
|
|
("extendsfdf2"): Use UNSPEC_FLOAT_EXTEND instead of FLOAT_EXTEND.
|
10934 |
|
|
("truncdfsf2"): Use UNSPEC_FLOAT_TRUNCATE instead of FLOAT_TRUNCATE.
|
10935 |
|
|
|
10936 |
|
|
2008-08-12 Ulrich Weigand
|
10937 |
|
|
|
10938 |
|
|
* config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA.
|
10939 |
|
|
|
10940 |
|
|
2008-08-12 Ulrich Weigand
|
10941 |
|
|
|
10942 |
|
|
* config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define.
|
10943 |
|
|
|
10944 |
|
|
2008-08-12 Jakub Jelinek
|
10945 |
|
|
|
10946 |
|
|
PR c++/36688
|
10947 |
|
|
* gimplify.c (gimplify_modify_expr_rhs): Test TREE_READONLY
|
10948 |
|
|
on the VAR_DECL instead of TYPE_READONLY on its type.
|
10949 |
|
|
|
10950 |
|
|
2008-08-12 Ira Rosen
|
10951 |
|
|
|
10952 |
|
|
* tree-vectorizer.c: Depend on langhooks.h.
|
10953 |
|
|
(supportable_widening_operation): Add two arguments. Support double
|
10954 |
|
|
type conversions.
|
10955 |
|
|
(supportable_narrowing_operation): Likewise.
|
10956 |
|
|
* tree-vectorizer.h (supportable_widening_operation): Add two
|
10957 |
|
|
arguments.
|
10958 |
|
|
(supportable_narrowing_operation): Likewise.
|
10959 |
|
|
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Call
|
10960 |
|
|
supportable_widening_operation with correct arguments.
|
10961 |
|
|
* tree-vect-transform.c (vectorizable_conversion): Likewise.
|
10962 |
|
|
(vectorizable_type_demotion): Support double type conversions.
|
10963 |
|
|
(vectorizable_type_promotion): Likewise.
|
10964 |
|
|
* Makefile.in (tree-vectorizer.o): Depend on langhooks.h.
|
10965 |
|
|
|
10966 |
|
|
2008-08-11 Michael Matz
|
10967 |
|
|
|
10968 |
|
|
* i386/i386.c (override_options): Move initialisation from
|
10969 |
|
|
flag_schedule_insns_after_reload to here from ...
|
10970 |
|
|
(optimization_options): ... here.
|
10971 |
|
|
|
10972 |
|
|
2008-08-11 Jakub Jelinek
|
10973 |
|
|
|
10974 |
|
|
PR rtl-optimization/36998
|
10975 |
|
|
* dwarf2out.c (compute_barrier_args_size_1,
|
10976 |
|
|
compute_barrier_args_size): Temporarily remove assertions.
|
10977 |
|
|
|
10978 |
|
|
2008-08-10 Manuel Lopez-Ibanez
|
10979 |
|
|
|
10980 |
|
|
PR middle-end/20644
|
10981 |
|
|
* tree-ssa.c (struct walk_data): Add new flag
|
10982 |
|
|
warn_possibly_uninitialized.
|
10983 |
|
|
(warn_uninitialized_var): Use it.
|
10984 |
|
|
(warn_uninitialized_vars): New.
|
10985 |
|
|
(execute_early_warn_uninitialized): Call it.
|
10986 |
|
|
(execute_late_warn_uninitialized): Likewise.
|
10987 |
|
|
|
10988 |
|
|
2008-08-09 Andrew Pinski
|
10989 |
|
|
|
10990 |
|
|
PR middle-end/36238
|
10991 |
|
|
* reload1.c (gen_reload): Guard calls to get_secondary_mem
|
10992 |
|
|
for memory subregs.
|
10993 |
|
|
|
10994 |
|
|
2008-08-09 Jan Hubicka
|
10995 |
|
|
|
10996 |
|
|
PR target/37055
|
10997 |
|
|
* optabs.c (maybe_emit_unop_insn): Remove produced code if
|
10998 |
|
|
expansion failed.
|
10999 |
|
|
(expand_fix): Be prepared for expansion to fail.
|
11000 |
|
|
(expand_sfix_optab): Remove instructions if expansion failed.
|
11001 |
|
|
|
11002 |
|
|
2008-08-09 Anatoly Sokolov
|
11003 |
|
|
|
11004 |
|
|
* config/avr/avr.c (avr_mcu_types): Move the AT43USB320 device to
|
11005 |
|
|
avr31 architecture.
|
11006 |
|
|
* config/avr/avr.h (CRT_BINUTILS_SPECS): (Ditto.).
|
11007 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
|
11008 |
|
|
|
11009 |
|
|
2008-08-09 Richard Sandiford
|
11010 |
|
|
|
11011 |
|
|
* config.gcc (mips*-*-linux*, mips64*-*-linux*): Add
|
11012 |
|
|
mips/t-libgcc-mips16 to tmake_file.
|
11013 |
|
|
* config/mips/mips-protos.h (mips_call_type): New enum.
|
11014 |
|
|
(mips_pic_base_register, mips_got_load): Declare.
|
11015 |
|
|
(mips_restore_gp): Take an rtx argument.
|
11016 |
|
|
(mips_use_pic_fn_addr_reg_p): Declare.
|
11017 |
|
|
(mips_expand_call): Replace the sibcall_p argument with
|
11018 |
|
|
a mips_call_type argument. Add a lazy_p parameter.
|
11019 |
|
|
(mips_split_call): Declare.
|
11020 |
|
|
* config/mips/mips.h (MIPS16_PIC_TEMP_REGNUM): New macro.
|
11021 |
|
|
(MIPS16_PIC_TEMP): Likewise.
|
11022 |
|
|
(reg_class): Delete M16_NA_REGS.
|
11023 |
|
|
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
|
11024 |
|
|
(SYMBOL_FLAG_BIND_NOW, SYMBOL_REF_BIND_NOW_P): New macros.
|
11025 |
|
|
(mips_split_hi_p): Declare.
|
11026 |
|
|
* config/mips/mips.c (mips_split_hi_p): New array.
|
11027 |
|
|
(mips_regno_to_class): Change M16_NA_REGS entries to M16_REGS.
|
11028 |
|
|
(mips_got_symbol_type_p): New function.
|
11029 |
|
|
(mips_global_symbol_p): Check SYMBOL_REF_EXTERNAL_P.
|
11030 |
|
|
(mips16_stub_function_p): New function.
|
11031 |
|
|
(mips16_local_function_p): Likewise.
|
11032 |
|
|
(mips_use_pic_fn_addr_reg_p): Likewise.
|
11033 |
|
|
(mips_cannot_force_const_mem): Return false for HIGHs.
|
11034 |
|
|
Extend CONST_INT and symbolic handling to MIPS16, using
|
11035 |
|
|
mips_symbol_insns to check that the base symbol type is a
|
11036 |
|
|
legitimate constant. Reject GOT-based constants if
|
11037 |
|
|
TARGET_MIPS16_PCREL_LOADS.
|
11038 |
|
|
(mips_const_insns): Check targetm.cannot_force_const_mem when
|
11039 |
|
|
decomposing a symbolic base and a large offset.
|
11040 |
|
|
(mips_emit_call_insn): Add ORIG_ADDR and ADDR parameters.
|
11041 |
|
|
When calling a function that needs $25 from MIPS16 code,
|
11042 |
|
|
move the target address into $25 separately and add a USE
|
11043 |
|
|
to the call insn.
|
11044 |
|
|
(mips16_gp_pseudo_reg): Insert the initializer immediately
|
11045 |
|
|
before the first real insn.
|
11046 |
|
|
(mips_pic_base_register, mips_got_load): New functions.
|
11047 |
|
|
(mips_split_symbol): Generalize the name of the LO_SUM_OUT
|
11048 |
|
|
parameter to LOW_OUT. Say that it can be any valid SET_SRC
|
11049 |
|
|
when splitting a load-address operation. Split SYMBOL_GOT_DISP
|
11050 |
|
|
constants and highs of SYMBOL_GOT_PAGE_OFST constants.
|
11051 |
|
|
(mips_call_tls_get_addr): Update the call to mips_expand_call,
|
11052 |
|
|
also passing NULL_RTX rather than const0_rtx as the aux argument.
|
11053 |
|
|
(mips_rewrite_small_data_p): Check mips_lo_relocs and mips_split_p
|
11054 |
|
|
instead of TARGET_EXPLICIT_RELOCS.
|
11055 |
|
|
(mips_ok_for_lazy_binding_p): Check SYMBOL_REF_BIND_NOW_P.
|
11056 |
|
|
(mips_load_call_address): Replace the sibcall_p argument with
|
11057 |
|
|
a mips_call_type argument. Use mips_got_load.
|
11058 |
|
|
(mips16_local_alias): New structure.
|
11059 |
|
|
(mips16_local_aliases): New variable.
|
11060 |
|
|
(mips16_local_aliases_hash): New function.
|
11061 |
|
|
(mips16_local_aliases_eq): Likewise.
|
11062 |
|
|
(mips16_local_alias): Likewise.
|
11063 |
|
|
(mips16_stub_function): Likewise.
|
11064 |
|
|
(mips16_build_function_stub): Create a local alias for the target
|
11065 |
|
|
function. Handle TARGET_ABICALLS. For PIC abicalls, emit a
|
11066 |
|
|
.cpload directive and an R_MIPS_NONE relocation for the target
|
11067 |
|
|
function, then load the alias rather than the function itself.
|
11068 |
|
|
Wrap the non-PIC abicalls version in ".option pic0/.option pic2".
|
11069 |
|
|
(mips16_copy_fpr_return_value): Use mips16_stub_function and
|
11070 |
|
|
mips_expand_call. Set SYMBOL_REF_BIND_NOW on the symbol.
|
11071 |
|
|
(mips16_build_call_stub): Replace the FN parameter with an
|
11072 |
|
|
FN_PTR parameter. Force the address into a register if it
|
11073 |
|
|
isn't a call_insn_operand; don't rely on the caller to do this.
|
11074 |
|
|
If a call to a locally-defined and locally-binding MIPS16
|
11075 |
|
|
function must be made indirectly, redirect the call to the
|
11076 |
|
|
function's local alias. Use mips16_stub_function_p,
|
11077 |
|
|
mips16_stub_function, mips_expand_call and use_reg.
|
11078 |
|
|
Set SYMBOL_FLAG_BIND_NOW on __mips_call_* symbols.
|
11079 |
|
|
Use explicit %hi and %lo accesses where possible.
|
11080 |
|
|
Use MIPS_CALL to generate the correct code form of a
|
11081 |
|
|
jal instruction. Add clobbers of $18 instead of uses.
|
11082 |
|
|
Update the call to mips_emit_call_insn.
|
11083 |
|
|
(mips_expand_call): Replace the SIBCALL_P argument with a
|
11084 |
|
|
mips_call_type argument and handle the new MIPS_CALL_EPILOGUE value.
|
11085 |
|
|
Take a LAZY_P parameter. Call mips16_build_call_stub first,
|
11086 |
|
|
allowing it to modify the call address. Update the calls to
|
11087 |
|
|
mips_load_call_address and mips_emit_call_insn.
|
11088 |
|
|
(mips_split_call): New function.
|
11089 |
|
|
(mips_init_relocs): Clear mips_split_hi_p. Only use %gp_rel if
|
11090 |
|
|
!TARGET_MIPS16. Split SYMBOL_GOT_DISP, and the high parts of
|
11091 |
|
|
SYMBOL_GOT_PAGE_OFST, for MIPS16 code.
|
11092 |
|
|
(mips_global_pointer): Check mips16_cfun_returns_in_fpr_p.
|
11093 |
|
|
(mips_extra_live_on_entry): Include MIPS16_PIC_TEMP_REGNUM
|
11094 |
|
|
if TARGET_MIPS16.
|
11095 |
|
|
(mips_cprestore_slot): New function.
|
11096 |
|
|
(mips_restore_gp): Take a TEMP parameter. Handle TARGET_MIPS16
|
11097 |
|
|
and use mips_cprestore_slot.
|
11098 |
|
|
(mips_output_function_prologue): Handle TARGET_MIPS16 for
|
11099 |
|
|
LOADGP_OLDABI.
|
11100 |
|
|
(mips_emit_loadgp): Move into MIPS16_PIC_TEMP for MIPS16,
|
11101 |
|
|
then use a copygp_mips16 instruction to set up $28.
|
11102 |
|
|
(mips_expand_prologue): Initialize the cprestore slot for MIPS16 too.
|
11103 |
|
|
(mips16_lay_out_constants): Call split_all_insns_noflow.
|
11104 |
|
|
(mips_reorg_process_insns): Explicitly set all_noreorder_p to
|
11105 |
|
|
false if TARGET_MIPS16.
|
11106 |
|
|
(mips_reorg): Don't call vr4130_align_insns if TARGET_MIPS16.
|
11107 |
|
|
(mips_output_mi_thunk): Use mips_got_symbol_type_p. Use the
|
11108 |
|
|
mips_dangerous_for_la25_p approach for MIPS16 PIC calls too.
|
11109 |
|
|
(mips_set_mips16_mode): Always set MASK_EXPLICIT_RELOCS for
|
11110 |
|
|
MIPS16 code. Allow MIPS16 o32 PIC.
|
11111 |
|
|
(mips_override_options): Allow MIPS16 o32 PIC.
|
11112 |
|
|
* config/mips/mips.md: Lower CONST_GP_P moves into register moves
|
11113 |
|
|
after reload if TARGET_USE_GOT.
|
11114 |
|
|
(UNSPEC_COPYGP): New constant.
|
11115 |
|
|
(length): Use a default length of 8 for MIPS16 GOT loads.
|
11116 |
|
|
(*got_disp): Check mips_split_p instead of TARGET_XGOT.
|
11117 |
|
|
(*got_page): Check mips_split_hi_p.
|
11118 |
|
|
(*got_disp, *got_page): Use mips_got_load.
|
11119 |
|
|
(unspec_got, unspec_call): New expanders.
|
11120 |
|
|
(load_got, load_call): Remove the length attributes.
|
11121 |
|
|
Use a got attribute instead of a type attribute.
|
11122 |
|
|
(copygp_mips16): New insn.
|
11123 |
|
|
(restore_gp): Add a scratch clobber and pass it to mips_restore_gp.
|
11124 |
|
|
(load_call): Use a "d" constraint instead of an "r" constraint.
|
11125 |
|
|
(sibcall, sibcall_value, call, call_value): Update the calls
|
11126 |
|
|
to mips_expand_call.
|
11127 |
|
|
(call_internal, call_value_internal): Use mips_split_call.
|
11128 |
|
|
(call_value_multiple_internal): Likewise.
|
11129 |
|
|
(call_split): Move after call_internal (the insn it is split from).
|
11130 |
|
|
(call_internal_direct, call_value_internal_direct): Turn into
|
11131 |
|
|
define_insn_and_splits. Split if TARGET_SPLIT_CALLS.
|
11132 |
|
|
(call_direct_split, call_value_direct_split): New patterns.
|
11133 |
|
|
* config/mips/constraints.md (c): Handle TARGET_MIPS16 first
|
11134 |
|
|
and use M16_REGS instead of M16_NA_REGS.
|
11135 |
|
|
* config/mips/predicates.md (const_call_insn_operand): Replace
|
11136 |
|
|
the TARGET_ABSOLUTE_ABICALLS-based check with a more general
|
11137 |
|
|
mips_use_pic_fn_addr_reg_p check.
|
11138 |
|
|
(move_operand): Reject HIGHs if mips_split_hi_p.
|
11139 |
|
|
* config/mips/mips16.S: Assembly as empty if the ABI is not suitable.
|
11140 |
|
|
(__mips16_floatunsisf): Inline __mips16_floatsisf.
|
11141 |
|
|
(CALL_STUB_NO_RET, CALL_STUB_REG): Copy the target register to $25.
|
11142 |
|
|
* config/mips/libgcc-mips16.ver: New file.
|
11143 |
|
|
* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Add
|
11144 |
|
|
$(srcdir)/config/mips/libgcc-mips16.ver.
|
11145 |
|
|
|
11146 |
|
|
2008-08-09 Richard Sandiford
|
11147 |
|
|
|
11148 |
|
|
* config/mips/mips.c (mips_unspec_address_offset): Move earlier
|
11149 |
|
|
in file.
|
11150 |
|
|
(mips_unspec_address, mips_unspec_offset_high): Likewise.
|
11151 |
|
|
(mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise.
|
11152 |
|
|
(mips16_cfun_returns_in_fpr_p): Likewise.
|
11153 |
|
|
|
11154 |
|
|
2008-08-09 Richard Sandiford
|
11155 |
|
|
|
11156 |
|
|
* config/mips/mips.h (MASK_RETURN_ADDR): Expand commentary.
|
11157 |
|
|
* config/mips/linux-unwind.h (mips_fallback_frame_state): Add 2
|
11158 |
|
|
rather than 4 to PC.
|
11159 |
|
|
|
11160 |
|
|
2008-08-09 Richard Sandiford
|
11161 |
|
|
|
11162 |
|
|
* config/mips/mips.h (STATIC_CHAIN_REGNUM): Remap to $15.
|
11163 |
|
|
(FUNCTION_PROFILER): Save the static chain pointer into $2
|
11164 |
|
|
beforehand and restore it aftewards.
|
11165 |
|
|
(TRAMPOLINE_TEMPLATE): Adjust accordingly. Load the target
|
11166 |
|
|
address directly into $25 and call the function through $25;
|
11167 |
|
|
do not clobber $3. Pad the DImode version to cover the space
|
11168 |
|
|
left by the deleted $25 <- $3 move.
|
11169 |
|
|
(TRAMPOLINE_SIZE): Adjust the size of the SImode version after
|
11170 |
|
|
the removal of the $25 <- $3 move.
|
11171 |
|
|
(INITIALIZE_TRAMPOLINE): Update offsets accordingly.
|
11172 |
|
|
* config/mips/sdemtk.h (FUNCTION_PROFILER): As for mips.h.
|
11173 |
|
|
|
11174 |
|
|
2008-08-09 Richard Sandiford
|
11175 |
|
|
Daniel Jacobowitz
|
11176 |
|
|
|
11177 |
|
|
* config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Delete.
|
11178 |
|
|
* config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Delete.
|
11179 |
|
|
(ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED): Delete.
|
11180 |
|
|
* config/mips/mips.c (mips_start_function_definition): New function.
|
11181 |
|
|
(mips_end_function_definition): Likewise.
|
11182 |
|
|
(mips_output_function_prologue): Use mips_start_function_definition.
|
11183 |
|
|
(mips_output_function_epilogue): Use mips_end_function_definition.
|
11184 |
|
|
(build_mips16_function_stub): Use mips_start_function_definition
|
11185 |
|
|
and mips_end_function_definition.
|
11186 |
|
|
(build_mips16_call_stub): Likewise.
|
11187 |
|
|
|
11188 |
|
|
2008-08-09 Richard Guenther
|
11189 |
|
|
|
11190 |
|
|
* gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn.
|
11191 |
|
|
* gimple.h (gimple_call_fn): Adjust comment.
|
11192 |
|
|
(gimple_call_set_fndecl): New function.
|
11193 |
|
|
(gimple_call_fndecl): Adjust for GIMPLE_CALL no
|
11194 |
|
|
longer having bare FUNCTION_DECL operand.
|
11195 |
|
|
(gimple_call_return_type): Likewise.
|
11196 |
|
|
* tree-cfg.c (verify_stmt): Verify function operand of a GIMPLE_CALL.
|
11197 |
|
|
|
11198 |
|
|
* value-prof.c (gimple_divmod_fixed_value): Do not emit labels.
|
11199 |
|
|
(gimple_mod_pow2): Likewise.
|
11200 |
|
|
(gimple_mod_subtract): Likewise.
|
11201 |
|
|
(gimple_ic): Likewise.
|
11202 |
|
|
(gimple_stringop_fixed_value): Likewise.
|
11203 |
|
|
(gimple_indirect_call_to_profile): Fix for GIMPLE_CALL no
|
11204 |
|
|
longer having bare FUNCTION_DECL operand.
|
11205 |
|
|
* ipa-cp.c (ipcp_update_callgraph): Use gimple_call_set_fndecl.
|
11206 |
|
|
* omp-low.c (optimize_omp_library_calls): Likewise.
|
11207 |
|
|
* cgraphunit.c (update_call_expr): Likewise.
|
11208 |
|
|
* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
|
11209 |
|
|
(execute_convert_to_rsqrt): Likewise.
|
11210 |
|
|
* cfgexpand.c (gimple_to_tree): Simplify.
|
11211 |
|
|
(release_stmt_tree): Fix for GIMPLE_CALL no longer having
|
11212 |
|
|
bare FUNCTION_DECL operand.
|
11213 |
|
|
* tree-nested.c (init_tmp_var_with_call): Use gimple_call_return_type.
|
11214 |
|
|
(convert_gimple_call): Use gimple_call_fndecl.
|
11215 |
|
|
* c-common.c (c_warn_unused_result): Likewise.
|
11216 |
|
|
|
11217 |
|
|
2008-08-09 Manuel Lopez-Ibanez
|
11218 |
|
|
|
11219 |
|
|
PR c/17880
|
11220 |
|
|
* c-typeck.c (digest_init): Call verify_sequence_points from here.
|
11221 |
|
|
(c_finish_return): Likewise.
|
11222 |
|
|
(c_start_case): Likewise.
|
11223 |
|
|
* c-common.c (warn_for_collisions_1): Use explicit location in warning.
|
11224 |
|
|
* c-parser.c (c_parser_condition): New. Call
|
11225 |
|
|
verify_sequence_points.
|
11226 |
|
|
(c_parser_paren_condition): Call c_parser_condition.
|
11227 |
|
|
(c_parser_for_statement): Call c_parser_condition.
|
11228 |
|
|
|
11229 |
|
|
2008-08-09 Manuel Lopez-Ibanez
|
11230 |
|
|
|
11231 |
|
|
PR 36901
|
11232 |
|
|
* diagnostic.def (DK_PEDWARN, DK_PERMERROR): New.
|
11233 |
|
|
* diagnostic.c (pedantic_warning_kind, permissive_error_kind):
|
11234 |
|
|
Moved from diagnostic.h
|
11235 |
|
|
(diagnostic_report_diagnostic): Return bool. Handle DK_PEDWARN and
|
11236 |
|
|
DK_PERMERROR.
|
11237 |
|
|
(emit_diagnostic): New.
|
11238 |
|
|
(warning0, pedwarn0): Delete.
|
11239 |
|
|
(warning, warning_at, pedwarn, permerror): Return bool.
|
11240 |
|
|
* diagnostic.h (pedantic_warning_kind, permissive_error_kind):
|
11241 |
|
|
Moved to diagnostic.c.
|
11242 |
|
|
(struct diagnostic_context): Use correct type for
|
11243 |
|
|
classify_diagnostic.
|
11244 |
|
|
(diagnostic_report_diagnostic): Update declaration.
|
11245 |
|
|
(emit_diagnostic): Declare.
|
11246 |
|
|
* errors.c (warning): Return bool.
|
11247 |
|
|
* errors.h (warning): Update declaration.
|
11248 |
|
|
* toplev.h (warning0, pedwarn0): Delete.
|
11249 |
|
|
(warning, warning_at, pedwarn, permerror): Return bool.
|
11250 |
|
|
* c-errors.c (pedwarn_c99, pedwarn_c90): Use DK_PEDWARN.
|
11251 |
|
|
* c-decl.c (locate_old_decl): Delete 'diag' argument. Always use
|
11252 |
|
|
inform. Update all calls.
|
11253 |
|
|
(diagnose_mismatched_decls): Check return value of warning/pedwarn
|
11254 |
|
|
before giving informative note.
|
11255 |
|
|
(implicit_decl_warning): Likewise.
|
11256 |
|
|
* c-typeck.c (build_function_call): Likewise.
|
11257 |
|
|
* tree-sssa.c (warn_uninit): Likewise.
|
11258 |
|
|
* builtins.c (gimplify_va_arg_expr): Likewise.
|
11259 |
|
|
|
11260 |
|
|
2008-08-09 Manuel Lopez-Ibanez
|
11261 |
|
|
|
11262 |
|
|
PR 7651
|
11263 |
|
|
* doc/invoke.texi (-Wextra): Move warning from here...
|
11264 |
|
|
(-Wuninitialized): ... to here.
|
11265 |
|
|
|
11266 |
|
|
2008-08-08 Manuel Lopez-Ibanez
|
11267 |
|
|
|
11268 |
|
|
PR 28875
|
11269 |
|
|
* flags.h (set_Wunused): Delete
|
11270 |
|
|
* toplev.c (process_options): Handle Wunused flags here.
|
11271 |
|
|
* opts.c (maybe_warn_unused_parameter): Delete.
|
11272 |
|
|
(common_handle_option): Replace set_Wunused by warn_unused.
|
11273 |
|
|
(set_Wextra): Do not handle Wunused-parameter here.
|
11274 |
|
|
(set_Wunused): Delete.
|
11275 |
|
|
* c-opts.c (c_common_handle_option): Replace set_Wunused by
|
11276 |
|
|
warn_unused.
|
11277 |
|
|
* common.opt (Wunused): Add Var and Init.
|
11278 |
|
|
(Wunused-function): Likewise.
|
11279 |
|
|
(Wunused-label): Likewise.
|
11280 |
|
|
(Wunused-parameter): Likewise.
|
11281 |
|
|
(Wunused-value): Likewise.
|
11282 |
|
|
(Wunused-variable): Likewise.
|
11283 |
|
|
|
11284 |
|
|
2008-08-08 Peter Bergner
|
11285 |
|
|
|
11286 |
|
|
* doc/invoke.texi: Add cpu_type power7.
|
11287 |
|
|
* config.in (HAVE_AS_VSX): New.
|
11288 |
|
|
* config.gcc: Add cpu_type power7.
|
11289 |
|
|
* configure.ac (HAVE_AS_VSX): Check for assembler support of the
|
11290 |
|
|
VSX instructions.
|
11291 |
|
|
* configure: Regenerate.
|
11292 |
|
|
* config/rs6000/rs6000.c (rs6000_override_options): Alias power7 to
|
11293 |
|
|
power5.
|
11294 |
|
|
* config/rs6000/rs6000.h (ASM_CPU_POWER7_SPEC): Define.
|
11295 |
|
|
(ASM_CPU_SPEC): Pass %(asm_cpu_power7) for -mcpu=power7.
|
11296 |
|
|
(EXTRA_SPECS): Add asm_cpu_power7 spec string.
|
11297 |
|
|
|
11298 |
|
|
2008-08-08 Dorit Nuzman
|
11299 |
|
|
|
11300 |
|
|
* tree-vect-transform.c (vectorizable_conversion): Pass the integral
|
11301 |
|
|
type to vectorize.builtin_conversion.
|
11302 |
|
|
(vectorizable_conversion): Likewise.
|
11303 |
|
|
* config/i386/i386.c (ix86_vectorize_builtin_conversion): Always takes
|
11304 |
|
|
integral type as input.
|
11305 |
|
|
* config/rs6000/rs6000.c (rs6000_builtin_conversion): Add case for
|
11306 |
|
|
FIX_TRUNC_EXPR.
|
11307 |
|
|
(rs6000_expand_builtin): Add case for ALTIVEC_BUILTIN_VCTUXS
|
11308 |
|
|
and ALTIVEC_BUILTIN_VCTSXS.
|
11309 |
|
|
(rs6000_builtin_mul_widen_even. rs6000_builtin_mul_widen_odd): Fix
|
11310 |
|
|
formatting.
|
11311 |
|
|
|
11312 |
|
|
2008-08-08 Richard Guenther
|
11313 |
|
|
|
11314 |
|
|
* tree-ssa-ccp.c (likely_value): Calls are not all varying.
|
11315 |
|
|
(surely_varying_stmt_p): Calls are varying only if they are
|
11316 |
|
|
non-builtin and not indirect or have no result.
|
11317 |
|
|
(ccp_fold): Re-instantiate code before the tuples merge.
|
11318 |
|
|
|
11319 |
|
|
2008-08-08 Richard Guenther
|
11320 |
|
|
|
11321 |
|
|
PR tree-optimization/37056
|
11322 |
|
|
* gimple.h (gimple_assign_rhs_class): New helper function.
|
11323 |
|
|
* tree-ssa-loop-niter.c (get_val_for): Fix tuplification, handle
|
11324 |
|
|
unary operations properly.
|
11325 |
|
|
|
11326 |
|
|
2008-08-07 Jan Hubicka
|
11327 |
|
|
|
11328 |
|
|
* i386.h (ix86_size_cost): Declare.
|
11329 |
|
|
(ix86_cur_cost): New function macro.
|
11330 |
|
|
* i386.md (peepholes expanding size and splitters): Predicate by
|
11331 |
|
|
optimize_insn_for_speed_p.
|
11332 |
|
|
(peepholes reduce size and splitters): Predicate by
|
11333 |
|
|
optimize_insn_for_size_p.
|
11334 |
|
|
* i386.c (ix86_size_cost): Rename from ...
|
11335 |
|
|
(size_cost): This one.
|
11336 |
|
|
(override_options): Update.
|
11337 |
|
|
(decide_alg): Likewise.
|
11338 |
|
|
(ix86_expand_clear): Use RTL profile.
|
11339 |
|
|
(ix86_pad_returns): Use RTL profile.
|
11340 |
|
|
|
11341 |
|
|
2008-08-07 Jan Hubicka
|
11342 |
|
|
|
11343 |
|
|
* recog.c (split_all_insns): Set RTL profile
|
11344 |
|
|
(peephole2_optimize): Likewise.
|
11345 |
|
|
* function.c (thread_prologue_and_epilogue_insns): Likewise.
|
11346 |
|
|
* combine.c (combine_instructions): Likewise.
|
11347 |
|
|
|
11348 |
|
|
2008-08-07 Kaveh R. Ghazi
|
11349 |
|
|
|
11350 |
|
|
* c-common.c (c_common_reswords): Also warn about keyword "bool".
|
11351 |
|
|
|
11352 |
|
|
2008-08-07 Bob Wilson
|
11353 |
|
|
|
11354 |
|
|
* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Copy incoming
|
11355 |
|
|
value in a6 after the set_frame_ptr insn.
|
11356 |
|
|
|
11357 |
|
|
2008-08-07 Richard Henderson
|
11358 |
|
|
|
11359 |
|
|
PR debug/37033
|
11360 |
|
|
* gcc.c (cpp_options): Pass along -g*.
|
11361 |
|
|
|
11362 |
|
|
2008-08-07 Joseph Myers
|
11363 |
|
|
|
11364 |
|
|
* config/arm/arm.c (output_move_neon): Update comment describing
|
11365 |
|
|
big-endian vector layout.
|
11366 |
|
|
(arm_assemble_integer): Do not handle big-endian NEON vectors
|
11367 |
|
|
specially.
|
11368 |
|
|
* config/arm/neon.md (vec_set_internal, vec_extract,
|
11369 |
|
|
neon_vget_lane_sext_internal,
|
11370 |
|
|
neon_vget_lane_zext_internal, neon_vget_lane): Adjust
|
11371 |
|
|
element indices for big-endian.
|
11372 |
|
|
|
11373 |
|
|
2008-08-07 Richard Henderson
|
11374 |
|
|
|
11375 |
|
|
* configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): New.
|
11376 |
|
|
* configure, config.in: Rebuild.
|
11377 |
|
|
* debug.h (dwarf2out_do_cfi_asm): Declare.
|
11378 |
|
|
* c-cppbuiltin.c (c_cpp_builtins): Use it.
|
11379 |
|
|
* dwarf2out.c (dwarf2out_do_cfi_asm): New.
|
11380 |
|
|
(dwarf2out_cfi_label, add_fde_cfi, output_call_frame_info,
|
11381 |
|
|
dwarf2out_begin_prologue, dwarf2out_end_epilogue): Use it.
|
11382 |
|
|
|
11383 |
|
|
2008-08-07 Joseph Myers
|
11384 |
|
|
|
11385 |
|
|
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
|
11386 |
|
|
movv2si_internal): Combine into mov_internal.
|
11387 |
|
|
(movv2si_internal_2): Remove.
|
11388 |
|
|
|
11389 |
|
|
2008-08-07 Jan Hubicka
|
11390 |
|
|
|
11391 |
|
|
PR target/37048
|
11392 |
|
|
* i386.md (single stringop patterns): Enable unconditionally.
|
11393 |
|
|
|
11394 |
|
|
2008-08-07 H.J. Lu
|
11395 |
|
|
|
11396 |
|
|
PR target/36992
|
11397 |
|
|
* config/i386/emmintrin.h (_mm_move_epi64): Use __builtin_ia32_movq128.
|
11398 |
|
|
|
11399 |
|
|
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128.
|
11400 |
|
|
(bdesc_args): Add IX86_BUILTIN_MOVQ128.
|
11401 |
|
|
|
11402 |
|
|
* config/i386/sse.md (sse2_movq128): New.
|
11403 |
|
|
|
11404 |
|
|
* doc/extend.texi: Document __builtin_ia32_movq128.
|
11405 |
|
|
|
11406 |
|
|
2008-08-07 Richard Guenther
|
11407 |
|
|
|
11408 |
|
|
PR middle-end/37042
|
11409 |
|
|
* tree-ssa-alias-warnings.c (nonstandard_alias_p): Ref-all
|
11410 |
|
|
pointers can access anything.
|
11411 |
|
|
|
11412 |
|
|
2008-08-06 Jan Hubicka
|
11413 |
|
|
|
11414 |
|
|
* optabs.c (emit_unop_insn): Break out to ...
|
11415 |
|
|
(maybe_emit_unop_insn): ... this one.
|
11416 |
|
|
(expand_sfix_optab): Use maybe variant.
|
11417 |
|
|
* optabs.h (maybe_emit_unop_insn): Declare.
|
11418 |
|
|
|
11419 |
|
|
* i386.md (mov0 patterns): Enable by default.
|
11420 |
|
|
(FP conversion expanders): Disable expansion of code expanding
|
11421 |
|
|
sequences when instruction should be optimized for size.
|
11422 |
|
|
(single strinop patterns): Enable when optimizing for size.
|
11423 |
|
|
(string expanders): Disable expanding of code expanding sequences
|
11424 |
|
|
when optimizning instruction for size.
|
11425 |
|
|
* i386.c (ix86_expand_vector_move_misalign): Do code size optimization
|
11426 |
|
|
per BB basis.
|
11427 |
|
|
(ix86_fp_comparison_sahf_cost): Likewise.
|
11428 |
|
|
(ix86_expand_branch): Likewise.
|
11429 |
|
|
(ix86_expand_ashl_const): Likewise.
|
11430 |
|
|
(ix86_split_ashl): Likewise.
|
11431 |
|
|
(ix86_expand_strlen): Likewise.
|
11432 |
|
|
(ix86_emit_fp_unordered_jump): Likewie.
|
11433 |
|
|
|
11434 |
|
|
2008-08-06 Kaveh R. Ghazi
|
11435 |
|
|
|
11436 |
|
|
* c-common.c: Fix typo.
|
11437 |
|
|
(c_common_reswords): Activate more C++ keyword warnings.
|
11438 |
|
|
|
11439 |
|
|
* matrix-reorg.c (compute_offset): Avoid C++ keywords.
|
11440 |
|
|
|
11441 |
|
|
2008-08-06 Manuel Lopez-Ibanez
|
11442 |
|
|
|
11443 |
|
|
PR 26785
|
11444 |
|
|
* diagnostic.c (permerror_at): New.
|
11445 |
|
|
* toplev.h (permerror_at): Declare.
|
11446 |
|
|
|
11447 |
|
|
2008-08-06 Victor Kaplansky
|
11448 |
|
|
Ira Rosen
|
11449 |
|
|
|
11450 |
|
|
* tree-vect-transform.c (vect_model_simple_cost): Return
|
11451 |
|
|
immediately if stmt is pure SLP.
|
11452 |
|
|
(vect_model_store_cost): Ditto.
|
11453 |
|
|
(vect_model_load_cost): Ditto.
|
11454 |
|
|
(vectorizable_store): Remove PURE_SLP check before call
|
11455 |
|
|
to vect_model_store_cost.
|
11456 |
|
|
(vect_model_store_cost): When checking whether stmt describe
|
11457 |
|
|
strided access, add a check that it is not slp_node.
|
11458 |
|
|
|
11459 |
|
|
2008-08-06 Manuel Lopez-Ibanez
|
11460 |
|
|
|
11461 |
|
|
PR 8715
|
11462 |
|
|
* c-common.c (warn_for_sign_compare): New. Handle separately the
|
11463 |
|
|
case that 'constant' is zero.
|
11464 |
|
|
* c-typeck.c (build_binary_op): Move code to c-common.c
|
11465 |
|
|
|
11466 |
|
|
2008-08-06 Kaveh R. Ghazi
|
11467 |
|
|
|
11468 |
|
|
* config/alpha/alpha.c (alpha_preferred_reload_class,
|
11469 |
|
|
alpha_secondary_reload, alpha_emit_set_const_1, function_value,
|
11470 |
|
|
alpha_output_mi_thunk_osf): Avoid C++ keywords.
|
11471 |
|
|
* config/arm/arm.c (output_move_vfp, output_move_neon): Likewise.
|
11472 |
|
|
* config/arm/arm.md: Likewise.
|
11473 |
|
|
* config/avr/avr-protos.h (preferred_reload_class,
|
11474 |
|
|
test_hard_reg_class, avr_simplify_comparison_p,
|
11475 |
|
|
out_shift_with_cnt, class_max_nregs): Likewise.
|
11476 |
|
|
* config/avr/avr.c (class_max_nregs, avr_simplify_comparison_p,
|
11477 |
|
|
output_movqi, output_movhi, output_movsisf, out_shift_with_cnt,
|
11478 |
|
|
preferred_reload_class, test_hard_reg_class): Likewise.
|
11479 |
|
|
* config/bfin/bfin.c (legitimize_pic_address, hard_regno_mode_ok,
|
11480 |
|
|
bfin_memory_move_cost, bfin_secondary_reload,
|
11481 |
|
|
bfin_output_mi_thunk): Likewise.
|
11482 |
|
|
* config/crx/crx.c (crx_secondary_reload_class,
|
11483 |
|
|
crx_memory_move_cost): Likewise.
|
11484 |
|
|
* config/frv/frv-protos.h (frv_secondary_reload_class,
|
11485 |
|
|
frv_class_likely_spilled_p, frv_class_max_nregs): Likewise.
|
11486 |
|
|
* config/frv/frv.c (frv_override_options, frv_alloc_temp_reg,
|
11487 |
|
|
frv_secondary_reload_class, frv_class_likely_spilled_p,
|
11488 |
|
|
frv_class_max_nregs): Likewise.
|
11489 |
|
|
* config/h8300/h8300.c (h8300_classify_operand,
|
11490 |
|
|
h8300_unary_length, h8300_bitfield_length, h8300_asm_insn_count):
|
11491 |
|
|
Likewise.
|
11492 |
|
|
* config/i386/winnt.c (i386_pe_declare_function_type): Likewise.
|
11493 |
|
|
* config/ia64/ia64.c (ia64_preferred_reload_class,
|
11494 |
|
|
ia64_secondary_reload_class, ia64_output_mi_thunk): Likewise.
|
11495 |
|
|
* config/iq2000/iq2000.c (gen_int_relational): Likewise.
|
11496 |
|
|
* config/m32c/m32c.c (class_can_hold_mode, m32c_output_compare):
|
11497 |
|
|
Likewise.
|
11498 |
|
|
* config/m68hc11/m68hc11.c (preferred_reload_class,
|
11499 |
|
|
m68hc11_memory_move_cost): Likewise.
|
11500 |
|
|
* config/mcore/mcore.c (mcore_secondary_reload_class,
|
11501 |
|
|
mcore_reload_class): Likewise.
|
11502 |
|
|
* config/mips/mips.c (mips_hard_regno_mode_ok_p,
|
11503 |
|
|
mips_class_max_nregs, mips_cannot_change_mode_class,
|
11504 |
|
|
mips_preferred_reload_class, mips_secondary_reload_class,
|
11505 |
|
|
mips_output_mi_thunk): Likewise.
|
11506 |
|
|
* config/mmix/mmix.c (mmix_preferred_reload_class,
|
11507 |
|
|
mmix_preferred_output_reload_class, mmix_secondary_reload_class):
|
11508 |
|
|
Likewise.
|
11509 |
|
|
* config/mn10300/mn10300.c (mn10300_secondary_reload_class):
|
11510 |
|
|
Likewise.
|
11511 |
|
|
* config/pa/pa.c (pa_secondary_reload, pa_combine_instructions,
|
11512 |
|
|
pa_can_combine_p, pa_cannot_change_mode_class): Likewise.
|
11513 |
|
|
* config/pa/pa.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
|
11514 |
|
|
* config/rs6000/rs6000.c (paired_expand_vector_init,
|
11515 |
|
|
rs6000_secondary_reload_class, rs6000_output_mi_thunk,
|
11516 |
|
|
compare_section_name, rs6000_memory_move_cost): Likewise.
|
11517 |
|
|
* config/s390/s390.c (s390_emit_compare_and_swap,
|
11518 |
|
|
s390_preferred_reload_class, s390_secondary_reload,
|
11519 |
|
|
legitimize_pic_address, legitimize_tls_address,
|
11520 |
|
|
legitimize_reload_address, s390_expand_cs_hqi, s390_expand_atomic,
|
11521 |
|
|
s390_class_max_nregs): Likewise.
|
11522 |
|
|
* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
|
11523 |
|
|
* config/s390/s390.md: Likewise.
|
11524 |
|
|
* config/score/score-protos.h (score_secondary_reload_class,
|
11525 |
|
|
score_preferred_reload_class): Likewise.
|
11526 |
|
|
* config/score/score.c (score_preferred_reload_class,
|
11527 |
|
|
score_secondary_reload_class): Likewise.
|
11528 |
|
|
* config/score/score3.c (score3_output_mi_thunk,
|
11529 |
|
|
score3_preferred_reload_class, score3_secondary_reload_class,
|
11530 |
|
|
score3_hard_regno_mode_ok): Likewise.
|
11531 |
|
|
* config/score/score3.h (score3_preferred_reload_class,
|
11532 |
|
|
score3_secondary_reload_class): Likewise.
|
11533 |
|
|
* config/score/score7.c (score7_output_mi_thunk,
|
11534 |
|
|
score7_preferred_reload_class, score7_secondary_reload_class,
|
11535 |
|
|
score7_hard_regno_mode_ok): Likewise.
|
11536 |
|
|
* config/score/score7.h (score7_preferred_reload_class,
|
11537 |
|
|
score7_secondary_reload_class): Likewise.
|
11538 |
|
|
* config/sh/sh.c (prepare_move_operands, output_far_jump,
|
11539 |
|
|
output_branchy_insn, add_constant, gen_block_redirect,
|
11540 |
|
|
sh_insn_length_adjustment, sh_cannot_change_mode_class,
|
11541 |
|
|
sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload): Likewise.
|
11542 |
|
|
* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
|
11543 |
|
|
* config/stormy16/stormy16.c (xstormy16_output_cbranch_hi,
|
11544 |
|
|
xstormy16_output_cbranch_si, xstormy16_secondary_reload_class,
|
11545 |
|
|
xstormy16_preferred_reload_class): Likewise.
|
11546 |
|
|
* config/xtensa/xtensa.c (xtensa_expand_compare_and_swap,
|
11547 |
|
|
xtensa_expand_atomic, override_options,
|
11548 |
|
|
xtensa_preferred_reload_class, xtensa_secondary_reload_class):
|
11549 |
|
|
Likewise.
|
11550 |
|
|
* reorg.c (try_merge_delay_insns): Likewise.
|
11551 |
|
|
* tree.c (merge_dllimport_decl_attributes): Likewise.
|
11552 |
|
|
|
11553 |
|
|
* config/frv/frv.c (frv_print_operand): Change isalpha to ISALPHA.
|
11554 |
|
|
|
11555 |
|
|
2008-08-06 Michael Matz
|
11556 |
|
|
|
11557 |
|
|
* Makefile.in (write_entries_to_file): Quote words.
|
11558 |
|
|
* gengtype.c (read_input_line): Skip over leading white-space.
|
11559 |
|
|
|
11560 |
|
|
2008-08-06 Marc Gauthier
|
11561 |
|
|
|
11562 |
|
|
* config.gcc: Match more processor names for Xtensa.
|
11563 |
|
|
* configure.ac: Likewise.
|
11564 |
|
|
* doc/install.texi (Specific): Likewise.
|
11565 |
|
|
* configure: Regenerate.
|
11566 |
|
|
|
11567 |
|
|
2008-08-06 Kaveh R. Ghazi
|
11568 |
|
|
|
11569 |
|
|
* builtins.c (expand_builtin_profile_func): Avoid C++ keywords.
|
11570 |
|
|
* calls.c (avoid_likely_spilled_reg): Likewise.
|
11571 |
|
|
* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
|
11572 |
|
|
* cgraph.c (cgraph_clone_edge, cgraph_clone_node): Likewise.
|
11573 |
|
|
* config/i386/i386.c (ix86_expand_special_args_builtin,
|
11574 |
|
|
ix86_secondary_reload): Likewise.
|
11575 |
|
|
* except.c (struct eh_region, gen_eh_region_catch,
|
11576 |
|
|
remove_unreachable_regions, duplicate_eh_regions,
|
11577 |
|
|
assign_filter_values, build_post_landing_pads,
|
11578 |
|
|
sjlj_find_directly_reachable_regions, remove_eh_handler,
|
11579 |
|
|
reachable_next_level, foreach_reachable_handler,
|
11580 |
|
|
can_throw_internal_1, can_throw_external_1,
|
11581 |
|
|
collect_one_action_chain): Likewise.
|
11582 |
|
|
* expr.c (expand_expr_real_1, vector_mode_valid_p): Likewise.
|
11583 |
|
|
* fold-const.c (twoval_comparison_p, eval_subst): Likewise.
|
11584 |
|
|
* function.c (update_temp_slot_address, instantiate_new_reg,
|
11585 |
|
|
instantiate_virtual_regs_in_rtx,
|
11586 |
|
|
instantiate_virtual_regs_in_insn): Likewise.
|
11587 |
|
|
* gimple.c (extract_ops_from_tree, gimple_seq_copy): Likewise.
|
11588 |
|
|
* gimplify.c (gimplify_call_expr, gimplify_init_constructor,
|
11589 |
|
|
gimplify_cleanup_point_expr): Likewise.
|
11590 |
|
|
* ipa-cp.c (ipcp_lattice_changed): Likewise.
|
11591 |
|
|
* passes.c (next_pass_1): Likewise.
|
11592 |
|
|
* print-tree.c (print_node_brief, print_node): Likewise.
|
11593 |
|
|
* profile.c (branch_prob): Likewise.
|
11594 |
|
|
* tree-dump.c (dump_register): Likewise.
|
11595 |
|
|
* tree-eh.c (replace_goto_queue_cond_clause, lower_catch):
|
11596 |
|
|
Likewise.
|
11597 |
|
|
* tree-inline.c (remap_ssa_name, remap_type_1, remap_blocks,
|
11598 |
|
|
copy_statement_list, remap_gimple_op_r, copy_tree_body_r,
|
11599 |
|
|
copy_edges_for_bb, copy_cfg_body, copy_tree_r,
|
11600 |
|
|
copy_arguments_for_versioning, copy_static_chain): Likewise.
|
11601 |
|
|
* tree-into-ssa.c (names_replaced_by, add_to_repl_tbl,
|
11602 |
|
|
add_new_name_mapping, register_new_name_mapping): Likewise.
|
11603 |
|
|
* tree-mudflap.c (mf_xform_derefs): Likewise.
|
11604 |
|
|
* tree-predcom.c (struct chain, dump_chain, replace_ref_with,
|
11605 |
|
|
get_init_expr, combine_chains): Likewise.
|
11606 |
|
|
* tree-pretty-print.c (dump_generic_node): Likewise.
|
11607 |
|
|
* tree-ssa-structalias.c (create_variable_info_for): Likewise.
|
11608 |
|
|
* tree-vrp.c (simplify_cond_using_ranges): Likewise.
|
11609 |
|
|
* tree.c (substitute_in_expr, iterative_hash_expr): Likewise.
|
11610 |
|
|
* value-prof.c (gimple_duplicate_stmt_histograms): Likewise.
|
11611 |
|
|
|
11612 |
|
|
2008-08-06 H.J. Lu
|
11613 |
|
|
|
11614 |
|
|
PR middle-end/37010
|
11615 |
|
|
* calls.c (expand_call): Use the biggest preferred stack
|
11616 |
|
|
boundary.
|
11617 |
|
|
|
11618 |
|
|
2008-08-06 Michael Matz
|
11619 |
|
|
|
11620 |
|
|
PR target/36613
|
11621 |
|
|
* reload.c (push_reload): Merge in,out,in_reg,out_reg members
|
11622 |
|
|
for reused reload, instead of overwriting them.
|
11623 |
|
|
|
11624 |
|
|
2008-08-06 H.J. Lu
|
11625 |
|
|
|
11626 |
|
|
PR middle-end/37009
|
11627 |
|
|
* cfgexpand.c (expand_stack_alignment): Check parm_stack_boundary
|
11628 |
|
|
for incoming stack boundary.
|
11629 |
|
|
|
11630 |
|
|
* function.c (assign_parm_find_entry_rtl): Update
|
11631 |
|
|
parm_stack_boundary.
|
11632 |
|
|
|
11633 |
|
|
* function.h (rtl_data): Add parm_stack_boundary.
|
11634 |
|
|
|
11635 |
|
|
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Check
|
11636 |
|
|
parm_stack_boundary for incoming stack boundary.
|
11637 |
|
|
|
11638 |
|
|
2008-08-06 Joseph Myers
|
11639 |
|
|
|
11640 |
|
|
* jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset
|
11641 |
|
|
for unrepresentable subregs or treat them as equal to other regs
|
11642 |
|
|
or subregs with the same register number.
|
11643 |
|
|
|
11644 |
|
|
2008-08-06 Aldy Hernandez
|
11645 |
|
|
|
11646 |
|
|
PR middle-end/35432
|
11647 |
|
|
* gimplify.c (gimplify_modify_expr): Do not optimize zero-sized types
|
11648 |
|
|
if want_value.
|
11649 |
|
|
|
11650 |
|
|
2008-08-06 Jan Hubicka
|
11651 |
|
|
|
11652 |
|
|
* predict.c (maybe_hot_frequency_p): When profile is absent, all
|
11653 |
|
|
frequencies might be hot.
|
11654 |
|
|
|
11655 |
|
|
2008-08-06 Andreas Krebbel
|
11656 |
|
|
|
11657 |
|
|
* reload.c (find_reloads): Force constants into literal pool
|
11658 |
|
|
also if they are wrapped in a SUBREG.
|
11659 |
|
|
|
11660 |
|
|
2008-08-06 Maxim Kuvyrkov
|
11661 |
|
|
|
11662 |
|
|
PR target/35659
|
11663 |
|
|
* haifa-sched.c (sched_insn_is_legitimate_for_speculation_p): Move ...
|
11664 |
|
|
* sched-deps.c (sched_insn_is_legitimate_for_speculation_p): ... here.
|
11665 |
|
|
Don't allow predicated instructions for data speculation.
|
11666 |
|
|
* sched-int.h (sched_insn_is_legitimate_for_speculation_p): Move
|
11667 |
|
|
declaration.
|
11668 |
|
|
|
11669 |
|
|
2008-08-06 Maxim Kuvyrkov
|
11670 |
|
|
|
11671 |
|
|
* haifa-sched.c (extend_global): Split to extend_global_data and
|
11672 |
|
|
extend_region_data. Update all uses.
|
11673 |
|
|
(extend_all): Rename to extend_block_data.
|
11674 |
|
|
|
11675 |
|
|
2008-08-06 Maxim Kuvyrkov
|
11676 |
|
|
|
11677 |
|
|
* sched-rgn.c (new_ready): Check if instruction can be
|
11678 |
|
|
speculatively scheduled before attempting speculation.
|
11679 |
|
|
(debug_rgn_dependencies): Remove wrongful assert.
|
11680 |
|
|
|
11681 |
|
|
2008-08-05 Bob Wilson
|
11682 |
|
|
|
11683 |
|
|
* config/xtensa/t-xtensa: Remove dependency for gt-xtensa.h.
|
11684 |
|
|
|
11685 |
|
|
2008-08-05 Bob Wilson
|
11686 |
|
|
|
11687 |
|
|
* config/xtensa/xtensa.c (xtensa_va_start): Unshare valist.
|
11688 |
|
|
(xtensa_gimplify_va_arg_expr): Unshare valist, orig_ndx, ndx, array,
|
11689 |
|
|
va_size, and type_size.
|
11690 |
|
|
|
11691 |
|
|
2008-08-04 Jason Merrill
|
11692 |
|
|
|
11693 |
|
|
PR c++/37016
|
11694 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): Call langhook
|
11695 |
|
|
if TYPE_STRUCTURAL_EQUALITY_P is true for both types.
|
11696 |
|
|
|
11697 |
|
|
2008-08-05 Richard Henderson
|
11698 |
|
|
|
11699 |
|
|
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Check .cfi_personality.
|
11700 |
|
|
* configure: Rebuild.
|
11701 |
|
|
|
11702 |
|
|
2008-08-05 Andrew Pinski
|
11703 |
|
|
|
11704 |
|
|
PR tree-opt/37024
|
11705 |
|
|
* tree-tailcall.c (process_assignment): Use gimple_assign_cast_p
|
11706 |
|
|
instead of IS_CONVERT_EXPR_CODE_P for seeing if the assignment
|
11707 |
|
|
is a conversion.
|
11708 |
|
|
|
11709 |
|
|
2008-08-05 Richard Henderson
|
11710 |
|
|
|
11711 |
|
|
* Makefile.in (c-cppbuiltin.o): Depend on debug.h.
|
11712 |
|
|
* c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_DWARF2_CFI_ASM.
|
11713 |
|
|
* doc/cpp.texi (__GCC_HAVE_DWARF2_CFI_ASM): Document it.
|
11714 |
|
|
* common.opt (fdwarf2-cfi-asm): New.
|
11715 |
|
|
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): New.
|
11716 |
|
|
* config.in, configure: Rebuild.
|
11717 |
|
|
* dwarf2asm.c (dw2_asm_output_data_raw): New.
|
11718 |
|
|
(dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw):
|
11719 |
|
|
New.
|
11720 |
|
|
(dw2_force_const_mem): Externalize.
|
11721 |
|
|
* dwarf2asm.h: Update.
|
11722 |
|
|
* dwarf2out.c (dwarf2out_cfi_label): If flag_dwarf2_cfi_asm, don't
|
11723 |
|
|
generate a real label.
|
11724 |
|
|
(output_cfi_directive): New.
|
11725 |
|
|
(add_fde_cfi): If flag_dwarf2_cfi_asm, use it.
|
11726 |
|
|
(output_call_frame_info): Do nothing if flag_dwarf2_cfi_asm.
|
11727 |
|
|
(dwarf2out_begin_prologue): Emit .cfi_startproc, .cfi_personality,
|
11728 |
|
|
and .cfi_lsda.
|
11729 |
|
|
(dwarf2out_end_epilogue): Emit .cfi_endproc.
|
11730 |
|
|
(output_loc_operands_raw, output_loc_sequence_raw): New.
|
11731 |
|
|
(output_cfa_loc_raw): New.
|
11732 |
|
|
|
11733 |
|
|
2008-08-05 Paul Brook
|
11734 |
|
|
|
11735 |
|
|
* doc/invoke.texi: Document new ARM -mfpu= and -mcpu= options.
|
11736 |
|
|
* config/arm/arm.c (all_fpus): Add vfpv3 and vfpv3-d16.
|
11737 |
|
|
(fp_model_for_fpu): Add entry for FPUTYPE_VFP3D16.
|
11738 |
|
|
(arm_file_start): Add FPUTYPE_VFP3D16. Rename vfp3 to vfpv3.
|
11739 |
|
|
* config/arm/arm.h (TARGET_VFPD32): Define.
|
11740 |
|
|
(TARGET_VFP3): Use TARGET_VFPD32.
|
11741 |
|
|
(fputype): Add FPUTYPE_VFP3D16.
|
11742 |
|
|
(LAST_VFP_REGNUM): Use TARGET_VFPD32.
|
11743 |
|
|
* config/arm/constraints.md ("w"): Use TARGET_VFPD32.
|
11744 |
|
|
* config/arm/arm-cores.def: Add cortex-r4f.
|
11745 |
|
|
* config/arm/arm-tune.md: Regenerate.
|
11746 |
|
|
|
11747 |
|
|
2008-08-05 Ulrich Weigand
|
11748 |
|
|
|
11749 |
|
|
* config/spu_spu_mfcio.h: Wrap in extern "C" if __cplusplus.
|
11750 |
|
|
Reword some comments throughout the file.
|
11751 |
|
|
|
11752 |
|
|
(MFC_MIN_DMA_LIST_ELEMENTS): New define.
|
11753 |
|
|
(MFC_MAX_DMA_LIST_ELEMENTS): Likewise.
|
11754 |
|
|
(MFC_MIN_DMA_LIST_SIZE): Redefine in terms of
|
11755 |
|
|
MFC_MIN_DMA_LIST_ELEMENTS.
|
11756 |
|
|
(MFC_MAX_DMA_LIST_SIZE): Redefine in terms of
|
11757 |
|
|
MFC_MAX_DMA_LIST_ELEMENTS.
|
11758 |
|
|
|
11759 |
|
|
(MFC_START_ENABLE): Remove PPU-only define.
|
11760 |
|
|
(MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise.
|
11761 |
|
|
(MFC_GETS_CMD, MFC_GETFS_CMD, MFC_GETBS_CMD): Likewise.
|
11762 |
|
|
|
11763 |
|
|
(MFC_PUTB_CMD, MFC_PUTF_CMD): Reimplement using symbolic constants.
|
11764 |
|
|
(MFC_PUTL_CMD, MFC_PUTLB_CMD, MFC_PUTLF_CMD): Likewise.
|
11765 |
|
|
(MFC_PUTR_CMD, MFC_PUTRB_CMD, MFC_PUTRF_CMD): Likewise.
|
11766 |
|
|
(MFC_PUTRL_CMD, MFC_PUTRLB_CMD, MFC_PUTRLF_CMD): Likewise.
|
11767 |
|
|
(MFC_GETB_CMD, MFC_GETF_CMD): Likewise.
|
11768 |
|
|
(MFC_GETL_CMD, MFC_GETLB_CMD, MFC_GETLF_CMD): Likewise.
|
11769 |
|
|
(MFC_SNDSIGB_CMD, MFC_SNDSIGF_CMD): Likewise.
|
11770 |
|
|
|
11771 |
|
|
(MFC_SDCRT_CMD, MFC_SDCRTST_CMD): New defines.
|
11772 |
|
|
(MFC_SDCRZ_CMD, MFC_SDCRST_CMD, MFC_SDCRF_CMD): Likewise.
|
11773 |
|
|
(mfc_sdcrt, mfc_sdcrtst): Likewise.
|
11774 |
|
|
(mfc_sdcrz, mfc_sdcrst, mfc_sdcrf): Likewise.
|
11775 |
|
|
|
11776 |
|
|
(spu_read_machine_status): Fix typo.
|
11777 |
|
|
|
11778 |
|
|
2008-08-05 Ulrich Weigand
|
11779 |
|
|
|
11780 |
|
|
* config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Allow (multi)word-sized
|
11781 |
|
|
SUBREG of multi-word hard register.
|
11782 |
|
|
* config/spu/spu.c (valid_subreg): Likewise.
|
11783 |
|
|
(adjust_operand): Handle SUBREGs of multi-word hard registers.
|
11784 |
|
|
|
11785 |
|
|
2008-08-04 Richard Guenther
|
11786 |
|
|
|
11787 |
|
|
* tree-ssa-loop-ivopts.c (add_iv_value_candidates): Also add
|
11788 |
|
|
the candidate with the stripped base if that base is different
|
11789 |
|
|
from the original base even for offset zero.
|
11790 |
|
|
|
11791 |
|
|
2008-08-04 Richard Guenther
|
11792 |
|
|
|
11793 |
|
|
PR middle-end/36691
|
11794 |
|
|
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Correctly
|
11795 |
|
|
check for no_overflow.
|
11796 |
|
|
|
11797 |
|
|
2008-08-04 Richard Guenther
|
11798 |
|
|
|
11799 |
|
|
* tree-vect-transform.c (vectorizable_call): Fix tuplification.
|
11800 |
|
|
|
11801 |
|
|
2008-08-04 Paul Brook
|
11802 |
|
|
|
11803 |
|
|
* cofig/arm/arm.c (thumb_core_reg_alloc_order): New.
|
11804 |
|
|
(arm_order_regs_for_local_alloc): New function.
|
11805 |
|
|
* config/arm/arm-protos.h (arm_order_regs_for_local_alloc): Add
|
11806 |
|
|
prototype.
|
11807 |
|
|
* config/arm/arm.h (ORDER_REGS_FOR_LOCAL_ALLOC): Define.
|
11808 |
|
|
|
11809 |
|
|
2008-08-04 H.J. Lu
|
11810 |
|
|
|
11811 |
|
|
PR target/37012
|
11812 |
|
|
* config/i386/i386.c (ix86_expand_prologue): Use UNITS_PER_WORD
|
11813 |
|
|
instead of STACK_BOUNDARY / BITS_PER_UNIT to align stack.
|
11814 |
|
|
(ix86_expand_epilogue): Likewise.
|
11815 |
|
|
|
11816 |
|
|
2008-08-04 H.J. Lu
|
11817 |
|
|
|
11818 |
|
|
* config/i386/i386.c (ix86_compute_frame_layout): Fix a typo
|
11819 |
|
|
in comments.
|
11820 |
|
|
|
11821 |
|
|
2008-08-03 Uros Bizjak
|
11822 |
|
|
|
11823 |
|
|
* config/i386/mmx.md (*mov_internal_rex64): Use Yi instead of x
|
11824 |
|
|
to avoid inter-unit moves for !TARGET_INTER_UNIT_MOVES.
|
11825 |
|
|
(*movv2sf_internal_rex64): Ditto.
|
11826 |
|
|
|
11827 |
|
|
2008-08-03 Jan Hubicka
|
11828 |
|
|
|
11829 |
|
|
* optabs.c (expand_binop, expand_builtin_pow, expand_builtin_powi,
|
11830 |
|
|
expand_builtin_strcat): Upse optimize_insn_for_speed predicate.
|
11831 |
|
|
* expmed.c (expand_smod_pow2): Likewise.
|
11832 |
|
|
|
11833 |
|
|
2008-08-03 Uros Bizjak
|
11834 |
|
|
|
11835 |
|
|
PR target/36992
|
11836 |
|
|
* config/i386/sse.md (vec_concatv2di): Add Y2 constraint to
|
11837 |
|
|
alternative 0 of operand 1.
|
11838 |
|
|
(*vec_concatv2di_rex64_sse): Ditto.
|
11839 |
|
|
(*vec_concatv2di_rex64_sse4_1): Add x constraint to alternative 0
|
11840 |
|
|
of operand 1.
|
11841 |
|
|
(*sse2_storeq_rex64): Penalize allocation of "r" registers.
|
11842 |
|
|
* config/i386/mmx.md (*mov_internal_rex64): Penalize allocation
|
11843 |
|
|
of "Y2" registers to avoid SSE <-> MMX conversions for DImode moves.
|
11844 |
|
|
(*movv2sf_internal_rex64): Ditto.
|
11845 |
|
|
|
11846 |
|
|
2008-08-02 Richard Guenther
|
11847 |
|
|
|
11848 |
|
|
PR target/35252
|
11849 |
|
|
* config/i386/sse.md (SSEMODE4S, SSEMODE2D): New mode iterators.
|
11850 |
|
|
(ssedoublesizemode): New mode attribute.
|
11851 |
|
|
(sse_shufps): Call gen_sse_shufps_v4sf.
|
11852 |
|
|
(sse_shufps_1): Macroize.
|
11853 |
|
|
(sse2_shufpd): Call gen_Sse_shufpd_v2df.
|
11854 |
|
|
(sse2_shufpd_1): Macroize.
|
11855 |
|
|
(vec_extract_odd, vec_extract_even): New expanders.
|
11856 |
|
|
(vec_interleave_highv4sf, vec_interleave_lowv4sf,
|
11857 |
|
|
vec_interleave_highv2df, vec_interleave_lowv2df): Likewise.
|
11858 |
|
|
* i386.c (ix86_expand_vector_init_one_nonzero): Call
|
11859 |
|
|
gen_sse_shufps_v4sf instead of gen_sse_shufps_1.
|
11860 |
|
|
(ix86_expand_vector_set): Likewise.
|
11861 |
|
|
(ix86_expand_reduc_v4sf): Likewise.
|
11862 |
|
|
|
11863 |
|
|
2008-08-01 Doug Kwan
|
11864 |
|
|
|
11865 |
|
|
* matrix-reorg.c: Re-enable all code.
|
11866 |
|
|
(struct malloc_call_data): Change CALL_STMT to gimple type.
|
11867 |
|
|
(collect_data_for_malloc_call): Tuplify.
|
11868 |
|
|
(struct access_site_info): Change STMT to gimple type.
|
11869 |
|
|
(struct matrix_info): Change MIN_INDIRECT_LEVEL_ESCAPE_STMT,
|
11870 |
|
|
and MALLOC_FOR_LEVEL to gimple and gimple pointer type.
|
11871 |
|
|
(struct free_info): Change STMT to gimple type.
|
11872 |
|
|
(struct matrix_access_phi_node): Change PHI to gimple type.
|
11873 |
|
|
(get_inner_of_cast_expr): Remove.
|
11874 |
|
|
(may_flatten_matrices_1): Tuplify.
|
11875 |
|
|
(may_flatten_matrices): Ditto.
|
11876 |
|
|
(mark_min_matrix_escape_level): Ditto.
|
11877 |
|
|
(ssa_accessed_in_tree): Refactor statement RHS related code into ...
|
11878 |
|
|
(ssa_accessed_in_call_rhs): New
|
11879 |
|
|
(ssa_accessed_in_assign_rhs): New
|
11880 |
|
|
(record_access_alloc_site_info): Tuplify.
|
11881 |
|
|
(add_allocation_site): Ditto.
|
11882 |
|
|
(analyze_matrix_allocation_site): Ditto.
|
11883 |
|
|
(analyze_transpose): Ditto.
|
11884 |
|
|
(get_index_from_offset): Ditto.
|
11885 |
|
|
(update_type_size): Ditto.
|
11886 |
|
|
(analyze_accesses_for_call_expr): Tuplify and renamed into ...
|
11887 |
|
|
(analyze_accesses_for_call_stmt): New. Also handle LHS of a call.
|
11888 |
|
|
(analyze_accesses_for_phi_node): Tuplify.
|
11889 |
|
|
(analyze_accesses_for_modify_stmt): Tuplify and renamed into ...
|
11890 |
|
|
(analyze_accesses_for_assign_stmt): Remove code for handling call LHS.
|
11891 |
|
|
(analyze_matrix_accesses): Tuplify.
|
11892 |
|
|
(check_var_data): New call-back type for check_var_notmodified_p.
|
11893 |
|
|
(check_var_notmodified_p): Tuplify and use call-back struct to
|
11894 |
|
|
return statement found.
|
11895 |
|
|
(can_calculate_expr_before_stmt): Factor out statement related code
|
11896 |
|
|
into ...
|
11897 |
|
|
(can_calculate_stmt_before_stmt): New.
|
11898 |
|
|
(check_allocation_function): Tuplify.
|
11899 |
|
|
(find_sites_in_func): Ditto.
|
11900 |
|
|
(record_all_accesses_in_func): Ditto.
|
11901 |
|
|
(transform_access_sites): Ditto.
|
11902 |
|
|
(transform_allocation_sites): Ditto.
|
11903 |
|
|
(matrix_reorg): Re-enable.
|
11904 |
|
|
(gate_matrix_reorg): Re-enable.
|
11905 |
|
|
|
11906 |
|
|
2008-08-01 Jakub Jelinek
|
11907 |
|
|
|
11908 |
|
|
* dwarf2out.c (compute_barrier_args_size): Set barrier_args_size
|
11909 |
|
|
for labels for which it hasn't been set yet. If it has been set,
|
11910 |
|
|
stop walking insns and continue with next worklist item.
|
11911 |
|
|
(dwarf2out_stack_adjust): Don't call compute_barrier_args_size
|
11912 |
|
|
if the only BARRIER is at the very end of a function.
|
11913 |
|
|
|
11914 |
|
|
2008-08-01 H.J. Lu
|
11915 |
|
|
|
11916 |
|
|
* cfgexpand.c (expand_stack_alignment): Assert that
|
11917 |
|
|
stack_realign_drap and drap_rtx must match.
|
11918 |
|
|
|
11919 |
|
|
* function.c (instantiate_new_reg): If DRAP is used to realign
|
11920 |
|
|
stack, replace virtual_incoming_args_rtx with internal arg
|
11921 |
|
|
pointer.
|
11922 |
|
|
|
11923 |
|
|
2008-08-01 Richard Guenther
|
11924 |
|
|
|
11925 |
|
|
* tree-ssa-pre.c (fini_pre): Take in_fre parameter. Free
|
11926 |
|
|
loop information only if we initialized it.
|
11927 |
|
|
(execute_pre): Call fini_pre with in_fre.
|
11928 |
|
|
* tree-ssa-loop-ivcanon (try_unroll_loop_completely): Dump
|
11929 |
|
|
if we do not unroll because we hit max-completely-peeled-insns.
|
11930 |
|
|
Use our estimation for consistency, do allow shrinking.
|
11931 |
|
|
|
11932 |
|
|
2008-08-01 H.J. Lu
|
11933 |
|
|
|
11934 |
|
|
* config/i386/i386.c (override_options): Replace ABI_STACK_BOUNDARY
|
11935 |
|
|
with MIN_STACK_BOUNDARY.
|
11936 |
|
|
(ix86_update_stack_boundary): Likewise.
|
11937 |
|
|
(ix86_expand_prologue): Assert MIN_STACK_BOUNDARY instead of
|
11938 |
|
|
STACK_BOUNDARY.
|
11939 |
|
|
|
11940 |
|
|
* config/i386/i386.h (ABI_STACK_BOUNDARY): Renamed to ...
|
11941 |
|
|
(MIN_STACK_BOUNDARY): This.
|
11942 |
|
|
|
11943 |
|
|
2008-08-01 Richard Guenther
|
11944 |
|
|
|
11945 |
|
|
PR middle-end/36997
|
11946 |
|
|
* gimplify.c (gimplify_call_expr): Set error_mark_node on GS_ERROR.
|
11947 |
|
|
|
11948 |
|
|
2008-08-01 Richard Guenther
|
11949 |
|
|
|
11950 |
|
|
PR tree-optimization/36988
|
11951 |
|
|
* tree-ssa-ccp.c (ccp_fold): Conversions of constants only
|
11952 |
|
|
do not matter if that doesn't change volatile qualification.
|
11953 |
|
|
|
11954 |
|
|
2008-08-01 Paolo Bonzini
|
11955 |
|
|
|
11956 |
|
|
* configure.ac: Do not generate libada-mk. Do not subst
|
11957 |
|
|
host_cc_for_libada.
|
11958 |
|
|
* libada-mk.in: Remove.
|
11959 |
|
|
* Makefile.in: Pass TARGET_LIBGCC2_CFLAGS to libgcc.mvars.
|
11960 |
|
|
* configure: Regenerate.
|
11961 |
|
|
|
11962 |
|
|
2008-08-01 Basile Starynkevitch
|
11963 |
|
|
|
11964 |
|
|
* tree-pass.h: Added comment about not dumping passes with name
|
11965 |
|
|
starting with star in struct opt_pass.
|
11966 |
|
|
* passes.c (register_dump_files_1): Don't do dump for a pass with
|
11967 |
|
|
name starting with star.
|
11968 |
|
|
* doc/passes.texi (Pass manager): Mention pass names and special
|
11969 |
|
|
meaning of star prefix to avoid dump.
|
11970 |
|
|
|
11971 |
|
|
2008-07-31 Adam Nemet
|
11972 |
|
|
|
11973 |
|
|
* config.gcc (mipsisa64r2*-*-linux*): New configuration. Set ISA
|
11974 |
|
|
to MIPS64r2.
|
11975 |
|
|
* config/mips/mips.h (GENERATE_MIPS16E): Update comment.
|
11976 |
|
|
(ISA_MIPS64R2): New macro.
|
11977 |
|
|
(TARGET_CPU_CPP_BUILTINS, MULTILIB_ISA_DEFAULT): Handle it.
|
11978 |
|
|
(ISA_HAS_64BIT_REGS, ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE,
|
11979 |
|
|
ISA_HAS_8CC, ISA_HAS_FP4, ISA_HAS_PAIRED_SINGLE,
|
11980 |
|
|
ISA_HAS_MADD_MSUB, ISA_HAS_NMADD4_NMSUB4, ISA_HAS_CLZ_CLO,
|
11981 |
|
|
ISA_HAS_ROR, ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX, ISA_HAS_SEB_SEH,
|
11982 |
|
|
ISA_HAS_EXT_INS, ISA_HAS_MXHC1, ISA_HAS_HILO_INTERLOCKS,
|
11983 |
|
|
ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Return true for ISA_MIPS64R2.
|
11984 |
|
|
(MIPS_ISA_LEVEL_SPEC, ASM_SPEC, LINK_SPEC): Handle -mips64r2.
|
11985 |
|
|
(TARGET_LOONGSON_2E, TARGET_LOONGSON_2F, TARGET_LOONGSON_2EF):
|
11986 |
|
|
Move up to keep list alphabetically sorted.
|
11987 |
|
|
(TUNE_20KC, TUNE_24K, TUNE_74K, TUNE_LOONGSON_2EF): Likewise.
|
11988 |
|
|
* config/mips/mips.c (mips_cpu_info_table): Add default MIPS64r2
|
11989 |
|
|
processor.
|
11990 |
|
|
* doc/invoke.texi (MIPS Options): Add -mips64r2.
|
11991 |
|
|
(-march=@var{arch}): Add mips64r2.
|
11992 |
|
|
|
11993 |
|
|
2008-07-31 H.J. Lu
|
11994 |
|
|
|
11995 |
|
|
* config/i386/darwin.h (MAIN_STACK_BOUNDARY): Define to 128.
|
11996 |
|
|
|
11997 |
|
|
2008-07-31 Steve Ellcey
|
11998 |
|
|
|
11999 |
|
|
* expr.c (expand_assignment): Check for complete type.
|
12000 |
|
|
|
12001 |
|
|
2008-07-31 H.J. Lu
|
12002 |
|
|
|
12003 |
|
|
PR debug/36977
|
12004 |
|
|
* cfgexpand.c (expand_stack_alignment): Set stack_realign_tried.
|
12005 |
|
|
|
12006 |
|
|
* dwarf2out.c (based_loc_descr): Check crtl->stack_realign_tried
|
12007 |
|
|
for stack alignment.
|
12008 |
|
|
|
12009 |
|
|
* function.h (rtl_data): Add stack_realign_tried. Update comments.
|
12010 |
|
|
|
12011 |
|
|
2008-07-31 Kaz Kojima
|
12012 |
|
|
|
12013 |
|
|
* config/sh/sh.c (sh_canonical_va_list_type): Remove.
|
12014 |
|
|
(TARGET_CANONICAL_VA_LIST_TYPE): Remove.
|
12015 |
|
|
|
12016 |
|
|
2008-07-31 Jakub Jelinek
|
12017 |
|
|
|
12018 |
|
|
PR rtl-optimization/36419
|
12019 |
|
|
* dwarf2out.c (barrier_args_size): New variable.
|
12020 |
|
|
(compute_barrier_args_size, compute_barrier_args_size_1): New
|
12021 |
|
|
functions.
|
12022 |
|
|
(dwarf2out_stack_adjust): For BARRIERs call compute_barrier_args_size
|
12023 |
|
|
if not called yet in the current function, use barrier_args_size
|
12024 |
|
|
array to find the new args_size value.
|
12025 |
|
|
(dwarf2out_frame_debug): Free and clear barrier_args_size.
|
12026 |
|
|
|
12027 |
|
|
2008-07-31 H.J. Lu
|
12028 |
|
|
|
12029 |
|
|
PR debug/36980
|
12030 |
|
|
* dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before
|
12031 |
|
|
rule 19.
|
12032 |
|
|
|
12033 |
|
|
2008-07-31 H.J. Lu
|
12034 |
|
|
|
12035 |
|
|
PR debug/36976
|
12036 |
|
|
* dwarf2out.c (dwarf2out_args_size_adjust): New.
|
12037 |
|
|
(dwarf2out_stack_adjust): Use it.
|
12038 |
|
|
(dwarf2out_frame_debug_expr): Likewise.
|
12039 |
|
|
|
12040 |
|
|
2008-07-31 Richard Guenther
|
12041 |
|
|
|
12042 |
|
|
PR tree-optimization/36978
|
12043 |
|
|
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Do not fold
|
12044 |
|
|
the generated condition.
|
12045 |
|
|
|
12046 |
|
|
2008-07-31 Richard Guenther
|
12047 |
|
|
|
12048 |
|
|
* passes.c (init_optimization_passes): Always call
|
12049 |
|
|
pass_early_warn_uninitialized.
|
12050 |
|
|
* opts.c (decode_options): Do not warn about -Wuninitialized at -O0.
|
12051 |
|
|
* doc/invoke.texi (-Wuninitialized): Correct for enabling at -O0.
|
12052 |
|
|
* doc/passes.texi (Warn for uninitialized variables): Adjust.
|
12053 |
|
|
|
12054 |
|
|
2008-07-31 Jakub Jelinek
|
12055 |
|
|
|
12056 |
|
|
PR c/36970
|
12057 |
|
|
* builtins.c (maybe_emit_free_warning): New function.
|
12058 |
|
|
(expand_builtin): Process BUILT_IN_FREE even at -O0. Call
|
12059 |
|
|
maybe_emit_free_warning for BUILT_IN_FREE.
|
12060 |
|
|
|
12061 |
|
|
PR debug/36278
|
12062 |
|
|
* dwarf2out.c (get_context_die): New function.
|
12063 |
|
|
(force_decl_die, force_type_die): Use it.
|
12064 |
|
|
(dwarf2out_imported_module_or_decl): Likewise. If base_type_die
|
12065 |
|
|
returns NULL, force generation of DW_TAG_typedef and put that into
|
12066 |
|
|
DW_AT_import.
|
12067 |
|
|
|
12068 |
|
|
PR preprocessor/36649
|
12069 |
|
|
* c-pch.c (c_common_read_pch): Save and restore
|
12070 |
|
|
line_table->trace_includes across PCH restore.
|
12071 |
|
|
|
12072 |
|
|
2008-07-30 Eric Botcazou
|
12073 |
|
|
|
12074 |
|
|
PR ada/36554
|
12075 |
|
|
* dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE.
|
12076 |
|
|
|
12077 |
|
|
2008-07-30 Rafael Ávila de Espíndola
|
12078 |
|
|
|
12079 |
|
|
PR 36974
|
12080 |
|
|
* final.c (call_from_call_insn): Handle COND_EXEC.
|
12081 |
|
|
|
12082 |
|
|
2008-07-30 H.J. Lu
|
12083 |
|
|
|
12084 |
|
|
* builtins.c (std_gimplify_va_arg_expr): Replace
|
12085 |
|
|
PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT.
|
12086 |
|
|
* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
|
12087 |
|
|
|
12088 |
|
|
2008-07-30 Joey Ye
|
12089 |
|
|
H.J. Lu
|
12090 |
|
|
|
12091 |
|
|
* builtins.c (expand_builtin_setjmp_receiver): Replace
|
12092 |
|
|
virtual_incoming_args_rtx with crtl->args.internal_arg_pointer.
|
12093 |
|
|
(expand_builtin_apply_args_1): Likewise.
|
12094 |
|
|
(expand_builtin_longjmp): Need DRAP for stack alignment.
|
12095 |
|
|
(expand_builtin_apply): Likewise.
|
12096 |
|
|
|
12097 |
|
|
* caller-save.c (setup_save_areas): Call assign_stack_local_1
|
12098 |
|
|
instead of assign_stack_local to allow alignment reduction.
|
12099 |
|
|
|
12100 |
|
|
* calls.c (emit_call_1): Need DRAP for stack alignment if
|
12101 |
|
|
return pops.
|
12102 |
|
|
(expand_call): Replace virtual_incoming_args_rtx with
|
12103 |
|
|
crtl->args.internal_arg_pointer.
|
12104 |
|
|
* stmt.c (expand_nl_goto_receiver): Likewise.
|
12105 |
|
|
|
12106 |
|
|
* cfgexpand.c (get_decl_align_unit): Estimate stack variable
|
12107 |
|
|
alignment and store to stack_alignment_estimated and
|
12108 |
|
|
max_used_stack_slot_alignment.
|
12109 |
|
|
(expand_one_var): Likewise.
|
12110 |
|
|
(expand_stack_alignment): New function.
|
12111 |
|
|
(tree_expand_cfg): Initialize max_used_stack_slot_alignment
|
12112 |
|
|
and stack_alignment_estimated fields in rtl_data. Call
|
12113 |
|
|
expand_stack_alignment at end.
|
12114 |
|
|
|
12115 |
|
|
* defaults.h (INCOMING_STACK_BOUNDARY): New.
|
12116 |
|
|
(MAX_STACK_ALIGNMENT): Likewise.
|
12117 |
|
|
(MAX_SUPPORTED_STACK_ALIGNMENT): Likewise.
|
12118 |
|
|
(SUPPORTS_STACK_ALIGNMENT): Likewise.
|
12119 |
|
|
|
12120 |
|
|
* emit-rtl.c (gen_reg_rtx): Estimate stack alignment for
|
12121 |
|
|
stack alignment when generating virtual registers.
|
12122 |
|
|
|
12123 |
|
|
* function.c (assign_stack_local): Renamed to ...
|
12124 |
|
|
(assign_stack_local_1): This. Add a parameter to indicate
|
12125 |
|
|
if it is OK to reduce alignment.
|
12126 |
|
|
(assign_stack_local): Use it.
|
12127 |
|
|
(instantiate_new_reg): Instantiate virtual incoming args rtx
|
12128 |
|
|
to vDRAP if stack realignment and DRAP is needed.
|
12129 |
|
|
(assign_parms): Collect parameter/return type alignment and
|
12130 |
|
|
contribute to stack_alignment_estimated.
|
12131 |
|
|
(locate_and_pad_parm): Likewise.
|
12132 |
|
|
(get_arg_pointer_save_area): Replace virtual_incoming_args_rtx
|
12133 |
|
|
with crtl->args.internal_arg_pointer.
|
12134 |
|
|
|
12135 |
|
|
* function.h (rtl_data): Add new field drap_reg,
|
12136 |
|
|
max_used_stack_slot_alignment, stack_alignment_estimated,
|
12137 |
|
|
stack_realign_needed, need_drap, stack_realign_processed and
|
12138 |
|
|
stack_realign_finalized.
|
12139 |
|
|
(stack_realign_fp): New macro.
|
12140 |
|
|
(stack_realign_drap): Likewise.
|
12141 |
|
|
|
12142 |
|
|
* global.c (compute_regsets): Frame pointer is needed when
|
12143 |
|
|
stack is realigned. Can eliminate frame pointer when stack is
|
12144 |
|
|
realigned and dynamic realigned argument pointer isn't used.
|
12145 |
|
|
|
12146 |
|
|
* reload1.c (update_eliminables): Frame pointer is needed
|
12147 |
|
|
when stack is realigned.
|
12148 |
|
|
(init_elim_table): Can eliminate frame pointer when stack is
|
12149 |
|
|
realigned and dynamic realigned argument pointer isn't used.
|
12150 |
|
|
|
12151 |
|
|
* rtl.h (assign_stack_local_1): Declare new funtion.
|
12152 |
|
|
|
12153 |
|
|
* target-def.h (TARGET_UPDATE_STACK_BOUNDARY): New.
|
12154 |
|
|
(TARGET_GET_DRAP_RTX): Likewise.
|
12155 |
|
|
(TARGET_CALLS): Add TARGET_UPDATE_STACK_BOUNDARY and
|
12156 |
|
|
TARGET_GET_DRAP_RTX.
|
12157 |
|
|
|
12158 |
|
|
* target.h (gcc_target): Add update_stack_boundary and get_drap_rtx.
|
12159 |
|
|
|
12160 |
|
|
* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
|
12161 |
|
|
STACK_BOUNDARY with MAX_STACK_ALIGNMENT.
|
12162 |
|
|
|
12163 |
|
|
2008-07-30 Xuepeng Guo
|
12164 |
|
|
H.J. Lu
|
12165 |
|
|
|
12166 |
|
|
* dwarf2out.c (dw_fde_struct): Add stack_realignment, drap_reg,
|
12167 |
|
|
vdrap_reg, stack_realign and drap_reg_saved.
|
12168 |
|
|
(add_cfi): Don't allow redefining CFA when DRAP is used.
|
12169 |
|
|
(reg_save): Handle stack alignment.
|
12170 |
|
|
(dwarf2out_frame_debug_expr): Add rules 16-20 to handle stack
|
12171 |
|
|
alignment. Don't generate DWARF information for (set fp sp)
|
12172 |
|
|
when DRAP is used.
|
12173 |
|
|
(dwarf2out_begin_prologue): Initialize drap_reg and vdrap_reg
|
12174 |
|
|
to INVALID_REGNUM.
|
12175 |
|
|
(int_loc_descriptor): Move prototype forward. Also define if
|
12176 |
|
|
DWARF2_UNWIND_INFO is true.
|
12177 |
|
|
(output_cfa_loc): Handle DW_CFA_expression.
|
12178 |
|
|
(build_cfa_aligned_loc): New.
|
12179 |
|
|
(based_loc_descr): Update assert for stack realign. For local
|
12180 |
|
|
variables, use sp+offset when stack is aligned without drap and
|
12181 |
|
|
fp+offset when stack is aligned with drap. For arguments, use
|
12182 |
|
|
cfa+offset when drap is used to align stack.
|
12183 |
|
|
|
12184 |
|
|
2008-07-30 Joey Ye
|
12185 |
|
|
H.J. Lu
|
12186 |
|
|
|
12187 |
|
|
* config/i386/i386.c (ix86_force_align_arg_pointer_string):
|
12188 |
|
|
Break long line.
|
12189 |
|
|
(ix86_gen_andsp): New.
|
12190 |
|
|
(ix86_user_incoming_stack_boundary): Likewise.
|
12191 |
|
|
(ix86_default_incoming_stack_boundary): Likewise.
|
12192 |
|
|
(ix86_incoming_stack_boundary): Likewise.
|
12193 |
|
|
(ix86_can_eliminate): Likewise.
|
12194 |
|
|
(find_drap_reg): Likewise.
|
12195 |
|
|
(ix86_update_stack_boundary): Likewise.
|
12196 |
|
|
(ix86_get_drap_rtx): Likewise.
|
12197 |
|
|
(ix86_finalize_stack_realign_flags): Likewise.
|
12198 |
|
|
(TARGET_UPDATE_STACK_BOUNDARY): Likewise.
|
12199 |
|
|
(TARGET_GET_DRAP_RTX): Likewise.
|
12200 |
|
|
(override_options): Overide option value for new options.
|
12201 |
|
|
(ix86_function_ok_for_sibcall): Remove check for
|
12202 |
|
|
force_align_arg_pointer.
|
12203 |
|
|
(ix86_handle_cconv_attribute): Likewise.
|
12204 |
|
|
(ix86_function_regparm): Likewise.
|
12205 |
|
|
(setup_incoming_varargs_64): Don't set stack_alignment_needed here.
|
12206 |
|
|
(ix86_va_start): Replace virtual_incoming_args_rtx with
|
12207 |
|
|
crtl->args.internal_arg_pointer.
|
12208 |
|
|
(ix86_select_alt_pic_regnum): Check DRAP register.
|
12209 |
|
|
(ix86_save_reg): Replace force_align_arg_pointer with drap_reg.
|
12210 |
|
|
(ix86_compute_frame_layout): Compute frame layout wrt stack
|
12211 |
|
|
realignment.
|
12212 |
|
|
(ix86_internal_arg_pointer): Just return virtual_incoming_args_rtx.
|
12213 |
|
|
(ix86_expand_prologue): Decide if stack realignment is needed
|
12214 |
|
|
and generate prologue code accordingly.
|
12215 |
|
|
(ix86_expand_epilogue): Generate epilogue code wrt stack
|
12216 |
|
|
realignment is really needed or not.
|
12217 |
|
|
|
12218 |
|
|
* config/i386/i386.h (MAIN_STACK_BOUNDARY): New.
|
12219 |
|
|
(ABI_STACK_BOUNDARY): Likewise.
|
12220 |
|
|
(PREFERRED_STACK_BOUNDARY_DEFAULT): Likewise.
|
12221 |
|
|
(STACK_REALIGN_DEFAULT): Likewise.
|
12222 |
|
|
(INCOMING_STACK_BOUNDARY): Likewise.
|
12223 |
|
|
(MAX_STACK_ALIGNMENT): Likewise.
|
12224 |
|
|
(ix86_incoming_stack_boundary): Likewise.
|
12225 |
|
|
(FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Removed.
|
12226 |
|
|
(REAL_PIC_OFFSET_TABLE_REGNUM): Updated to use BX_REG.
|
12227 |
|
|
(CAN_ELIMINATE): Defined with ix86_can_eliminate.
|
12228 |
|
|
(machine_function): Remove force_align_arg_pointer.
|
12229 |
|
|
|
12230 |
|
|
* config/i386/i386.md (BX_REG): New.
|
12231 |
|
|
(R13_REG): Likewise.
|
12232 |
|
|
|
12233 |
|
|
* config/i386/i386.opt (mforce_drap): New.
|
12234 |
|
|
(mincoming-stack-boundary): Likewise.
|
12235 |
|
|
(mstackrealign): Add Init(-1).
|
12236 |
|
|
|
12237 |
|
|
* config/i386/i386-protos.h (ix86_can_eliminate): New
|
12238 |
|
|
|
12239 |
|
|
2008-07-30 H.J. Lu
|
12240 |
|
|
|
12241 |
|
|
* doc/extend.texi: Update force_align_arg_pointer.
|
12242 |
|
|
|
12243 |
|
|
* doc/invoke.texi: Document -mincoming-stack-boundary. Update
|
12244 |
|
|
-mstackrealign.
|
12245 |
|
|
|
12246 |
|
|
* doc/tm.texi (MAX_STACK_ALIGNMENT): Add macro.
|
12247 |
|
|
(INCOMING_STACK_BOUNDARY): Likewise.
|
12248 |
|
|
(TARGET_UPDATE_STACK_BOUNDARY): New target hook.
|
12249 |
|
|
(TARGET_GET_DRAP_RTX): Likewise.
|
12250 |
|
|
|
12251 |
|
|
2008-07-30 Andreas Schwab
|
12252 |
|
|
|
12253 |
|
|
PR rtl-optimization/36929
|
12254 |
|
|
* dse.c (replace_inc_dec): Use emit_insn_before instead of
|
12255 |
|
|
add_insn_before and fix argument order.
|
12256 |
|
|
(replace_inc_dec_mem): Handle NULL rtx.
|
12257 |
|
|
|
12258 |
|
|
2008-07-30 Andrew Jenner
|
12259 |
|
|
|
12260 |
|
|
* config/arm/arm.c (arm_compute_static_chain_stack_bytes): New
|
12261 |
|
|
function.
|
12262 |
|
|
(arm_compute_initial_elimination_offset): Use it.
|
12263 |
|
|
(arm_compute_save_reg_mask): Include static chain save slot when
|
12264 |
|
|
calculating alignment.
|
12265 |
|
|
(arm_get_frame_offsets): Ditto.
|
12266 |
|
|
(thumb1_compute_save_reg_mask): Ensure we have a low register saved
|
12267 |
|
|
that we can use to decrement the stack when the stack decrement
|
12268 |
|
|
could be too big for an immediate value in a single insn.
|
12269 |
|
|
(thumb1_expand_prologue): Avoid using r12 for stack decrement.
|
12270 |
|
|
|
12271 |
|
|
2008-07-30 Richard Guenther
|
12272 |
|
|
|
12273 |
|
|
PR tree-optimization/36967
|
12274 |
|
|
* tree-predcom.c (remove_stmt): Use gimple_assign_ssa_name_copy_p.
|
12275 |
|
|
Release defs of statements we remove.
|
12276 |
|
|
|
12277 |
|
|
2008-07-30 Nathan Froyd
|
12278 |
|
|
|
12279 |
|
|
* config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec
|
12280 |
|
|
instead of NULL_RTVEC.
|
12281 |
|
|
|
12282 |
|
|
2008-07-30 Nathan Froyd
|
12283 |
|
|
|
12284 |
|
|
PR target/35866
|
12285 |
|
|
|
12286 |
|
|
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
|
12287 |
|
|
vector modes.
|
12288 |
|
|
|
12289 |
|
|
2008-07-30 Rafael Ávila de Espíndola
|
12290 |
|
|
|
12291 |
|
|
* final.c (call_from_call_insn): New.
|
12292 |
|
|
(final_scan_insn): Call assemble_external on FUNCTION_DECLs.
|
12293 |
|
|
|
12294 |
|
|
2008-07-30 Paolo Bonzini
|
12295 |
|
|
|
12296 |
|
|
* configure.ac: Substitute ADA_CFLAGS.
|
12297 |
|
|
* configure: Regenerate.
|
12298 |
|
|
* config.host: Remove mention of pa/x-ada and pa/x-ada-hpux10 files.
|
12299 |
|
|
* Makefile.in: Remove mention of X_* variables.
|
12300 |
|
|
* config/pa/x-ada-hpux10: Remove.
|
12301 |
|
|
* config/pa/x-ada: Remove.
|
12302 |
|
|
|
12303 |
|
|
* doc/fragments.texi: Update.
|
12304 |
|
|
|
12305 |
|
|
2008-07-30 Olivier Hainque
|
12306 |
|
|
|
12307 |
|
|
* config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini.
|
12308 |
|
|
* config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide
|
12309 |
|
|
__dso_handle explicitly here.
|
12310 |
|
|
|
12311 |
|
|
2008-07-30 Manuel Lopez-Ibanez
|
12312 |
|
|
|
12313 |
|
|
PR 34389
|
12314 |
|
|
* c-typeck.c (build_binary_op): Encapsulate code into...
|
12315 |
|
|
* c-common.c (shorten_binary_op): ...this new function.
|
12316 |
|
|
(conversion_warning): Use the new function. Handle non-negative
|
12317 |
|
|
constant in bitwise-and.
|
12318 |
|
|
* c-common.h (shorten_binary_op): Declare.
|
12319 |
|
|
|
12320 |
|
|
2008-07-30 Olivier Hainque
|
12321 |
|
|
|
12322 |
|
|
* scan.c (make_sstring_space): Add explicit conversions of
|
12323 |
|
|
allocator's return value.
|
12324 |
|
|
* fix-header.c (recognized_function): Likewise.
|
12325 |
|
|
|
12326 |
|
|
2008-07-30 Ralf Wildenhues
|
12327 |
|
|
|
12328 |
|
|
* doc/cpp.texi: Update to GFDL 1.2.
|
12329 |
|
|
* doc/gcc.texi: Do not list GPL as Invariant Section.
|
12330 |
|
|
* doc/gccint.texi: Likewise. Update copyright years.
|
12331 |
|
|
* doc/install.texi: Update copyright years.
|
12332 |
|
|
|
12333 |
|
|
2008-07-30 Alan Modra
|
12334 |
|
|
|
12335 |
|
|
PR target/36955
|
12336 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add
|
12337 |
|
|
a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls.
|
12338 |
|
|
|
12339 |
|
|
2008-07-29 Jan Hubicka
|
12340 |
|
|
|
12341 |
|
|
* c-decl.c (merge_decls): Do not handle DECL_INLINE.
|
12342 |
|
|
(grokdeclarator): Likewise.
|
12343 |
|
|
* langhooks.c (lhd_warn_unused_global_decl): Use
|
12344 |
|
|
DECL_DECLARED_INLINE_P.
|
12345 |
|
|
* print-tree.c (print_node): Remove DECL_INLINE check.
|
12346 |
|
|
|
12347 |
|
|
2008-07-29 Richard Guenther
|
12348 |
|
|
|
12349 |
|
|
PR tree-optimization/36945
|
12350 |
|
|
* tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare.
|
12351 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export.
|
12352 |
|
|
Record invariant addresses un-decomposed.
|
12353 |
|
|
(copy_reference_ops_from_call): Record reference call
|
12354 |
|
|
arguments properly. Simplify.
|
12355 |
|
|
* tree-ssa-pre.c (create_component_ref_by_pieces_1): New
|
12356 |
|
|
helper split out from ...
|
12357 |
|
|
(create_component_ref_by_pieces): ... here. Simplify.
|
12358 |
|
|
Prepare for recursive invocation for call arguments.
|
12359 |
|
|
(create_expression_by_pieces): Adjust call to
|
12360 |
|
|
create_component_ref_by_pieces.
|
12361 |
|
|
(compute_avail): Process operand 2 of reference ops.
|
12362 |
|
|
|
12363 |
|
|
2008-07-29 Richard Guenther
|
12364 |
|
|
|
12365 |
|
|
* gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for OBJ_TYPE_REF.
|
12366 |
|
|
|
12367 |
|
|
2008-07-29 Jakub Jelinek
|
12368 |
|
|
|
12369 |
|
|
* c-format.c (check_format_types): Revert unwanted checkin.
|
12370 |
|
|
|
12371 |
|
|
2008-07-29 Jan Hubicka
|
12372 |
|
|
|
12373 |
|
|
* flags.h (flag_really_no_inline): Remove.
|
12374 |
|
|
* cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
|
12375 |
|
|
* toplev.c (flag_really_no_inline): Remove.
|
12376 |
|
|
* c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
|
12377 |
|
|
* ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
|
12378 |
|
|
(cgraph_decide_inlining_incrementally): Likewise.
|
12379 |
|
|
(compute_inline_parameters): Likewise.
|
12380 |
|
|
* opts.c (decode_options): Simplify.
|
12381 |
|
|
* c-opts.c (c_common_post_options): Do not set flag_no_inline.
|
12382 |
|
|
* common.opt (finline): Initialize to 1.
|
12383 |
|
|
* tree-inline.c (inlinable_function_p): Check flag_no_inline.
|
12384 |
|
|
|
12385 |
|
|
2008-07-29 Jan Hubicka
|
12386 |
|
|
|
12387 |
|
|
* predict.c (always_optimize_for_size_p): New function.
|
12388 |
|
|
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
|
12389 |
|
|
optimize_edge_for_size_p, optimize_edge_for_speed_p,
|
12390 |
|
|
optimize_insn_for_size_p, optimize_insn_for_speed_p): New global
|
12391 |
|
|
functions.
|
12392 |
|
|
(rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New.
|
12393 |
|
|
* function.c (prepare_function_start): Set default profile.
|
12394 |
|
|
* function.h (rtl_data): Add maybe_hot_insn_p.
|
12395 |
|
|
* cfgexpand.c (expand_gimple_basic_block): Set RTL profile.
|
12396 |
|
|
(construct_exit_block): Likewise.
|
12397 |
|
|
(tree_expand_cfg): Likewise.
|
12398 |
|
|
* basic-block.h
|
12399 |
|
|
(optimize_bb_for_size_p, optimize_bb_for_speed_p,
|
12400 |
|
|
optimize_edge_for_size_p, optimize_edge_for_speed_p,
|
12401 |
|
|
optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
|
12402 |
|
|
(rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile):
|
12403 |
|
|
Declare.
|
12404 |
|
|
|
12405 |
|
|
2008-07-29 Manuel Lopez-Ibanez
|
12406 |
|
|
|
12407 |
|
|
PR 34985
|
12408 |
|
|
* c-decl.c (merge_decls): Merge USED flags.
|
12409 |
|
|
|
12410 |
|
|
2008-07-29 Kaz Kojima
|
12411 |
|
|
|
12412 |
|
|
* config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr,
|
12413 |
|
|
valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit,
|
12414 |
|
|
next_stack, lab_false and lab_over trees.
|
12415 |
|
|
|
12416 |
|
|
2008-07-28 Richard Guenther
|
12417 |
|
|
|
12418 |
|
|
PR tree-optimization/36957
|
12419 |
|
|
* tree-flow.h (tree_ssa_useless_type_conversion): Remove.
|
12420 |
|
|
(useless_type_conversion_p): Remove.
|
12421 |
|
|
(types_compatible_p): Remove.
|
12422 |
|
|
* gimple.h (tree_ssa_useless_type_conversion): Declare.
|
12423 |
|
|
(useless_type_conversion_p): Declare.
|
12424 |
|
|
(types_compatible_p): Declare.
|
12425 |
|
|
(gimple_expr_type): Return the base type only if it is
|
12426 |
|
|
trivially convertible to the subtype.
|
12427 |
|
|
|
12428 |
|
|
2008-07-28 Andreas Tobler
|
12429 |
|
|
|
12430 |
|
|
* configure.ac: Use the m4_do macro to concatenate the warnings into
|
12431 |
|
|
one string in ACX_PROG_CC_WARNING_OPTS,
|
12432 |
|
|
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and
|
12433 |
|
|
ACX_PROG_CC_WARNINGS_ARE_ERRORS.
|
12434 |
|
|
* configure: Regenerate.
|
12435 |
|
|
|
12436 |
|
|
2008-07-28 Richard Guenther
|
12437 |
|
|
|
12438 |
|
|
* tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
|
12439 |
|
|
(insert_fake_stores): Remove.
|
12440 |
|
|
(realify_fake_stores): Likewise.
|
12441 |
|
|
(execute_pre): Remove dead code.
|
12442 |
|
|
* tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary case.
|
12443 |
|
|
(find_func_aliases): Deal with it here instead.
|
12444 |
|
|
Re-enable gcc_unreachable call.
|
12445 |
|
|
|
12446 |
|
|
2008-07-28 Richard Guenther
|
12447 |
|
|
|
12448 |
|
|
Merge from gimple-tuples-branch.
|
12449 |
|
|
|
12450 |
|
|
* ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
|
12451 |
|
|
* gimple.def: New file.
|
12452 |
|
|
* gsstruct.def: Likewise.
|
12453 |
|
|
* gimple-iterator.c: Likewise.
|
12454 |
|
|
* gimple-pretty-print.c: Likewise.
|
12455 |
|
|
* tree-gimple.c: Removed. Merged into ...
|
12456 |
|
|
* gimple.c: ... here. New file.
|
12457 |
|
|
* tree-gimple.h: Removed. Merged into ...
|
12458 |
|
|
* gimple.h: ... here. New file.
|
12459 |
|
|
|
12460 |
|
|
* Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
|
12461 |
|
|
* configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
|
12462 |
|
|
--enable-checking=gimple flag.
|
12463 |
|
|
* config.in: Likewise.
|
12464 |
|
|
* configure: Regenerated.
|
12465 |
|
|
|
12466 |
|
|
* tree-ssa-operands.h: Tuplified.
|
12467 |
|
|
* tree-vrp.c: Likewise.
|
12468 |
|
|
* tree-loop-linear.c: Likewise.
|
12469 |
|
|
* tree-into-ssa.c: Likewise.
|
12470 |
|
|
* tree-ssa-loop-im.c: Likewise.
|
12471 |
|
|
* tree-dump.c: Likewise.
|
12472 |
|
|
* tree-complex.c: Likewise.
|
12473 |
|
|
* cgraphbuild.c: Likewise.
|
12474 |
|
|
* tree-ssa-threadupdate.c: Likewise.
|
12475 |
|
|
* tree-ssa-loop-niter.c: Likewise.
|
12476 |
|
|
* tree-pretty-print.c: Likewise.
|
12477 |
|
|
* tracer.c: Likewise.
|
12478 |
|
|
* gengtype.c: Likewise.
|
12479 |
|
|
* tree-loop-distribution.c: Likewise.
|
12480 |
|
|
* tree-ssa-loop-unswitch.c: Likewise.
|
12481 |
|
|
* cgraph.c: Likewise.
|
12482 |
|
|
* cgraph.h: Likewise.
|
12483 |
|
|
* tree-ssa-loop-manip.c: Likewise.
|
12484 |
|
|
* value-prof.c: Likewise.
|
12485 |
|
|
* tree-ssa-loop-ch.c: Likewise.
|
12486 |
|
|
* tree-tailcall.c: Likewise.
|
12487 |
|
|
* value-prof.h: Likewise.
|
12488 |
|
|
* tree.c: Likewise.
|
12489 |
|
|
* tree.h: Likewise.
|
12490 |
|
|
* tree-pass.h: Likewise.
|
12491 |
|
|
* ipa-cp.c: Likewise.
|
12492 |
|
|
* tree-scalar-evolution.c: Likewise.
|
12493 |
|
|
* tree-scalar-evolution.h: Likewise.
|
12494 |
|
|
* target.h: Likewise.
|
12495 |
|
|
* lambda-mat.c: Likewise.
|
12496 |
|
|
* tree-phinodes.c: Likewise.
|
12497 |
|
|
* diagnostic.h: Likewise.
|
12498 |
|
|
* builtins.c: Likewise.
|
12499 |
|
|
* tree-ssa-alias-warnings.c: Likewise.
|
12500 |
|
|
* cfghooks.c: Likewise.
|
12501 |
|
|
* fold-const.c: Likewise.
|
12502 |
|
|
* cfghooks.h: Likewise.
|
12503 |
|
|
* omp-low.c: Likewise.
|
12504 |
|
|
* tree-ssa-dse.c: Likewise.
|
12505 |
|
|
* ipa-reference.c: Likewise.
|
12506 |
|
|
* tree-ssa-uncprop.c: Likewise.
|
12507 |
|
|
* toplev.c: Likewise.
|
12508 |
|
|
* tree-gimple.c: Likewise.
|
12509 |
|
|
* tree-gimple.h: Likewise.
|
12510 |
|
|
* tree-chrec.c: Likewise.
|
12511 |
|
|
* tree-chrec.h: Likewise.
|
12512 |
|
|
* tree-ssa-sccvn.c: Likewise.
|
12513 |
|
|
* tree-ssa-sccvn.h: Likewise.
|
12514 |
|
|
* cgraphunit.c: Likewise.
|
12515 |
|
|
* tree-ssa-copyrename.c: Likewise.
|
12516 |
|
|
* tree-ssa-ccp.c: Likewise.
|
12517 |
|
|
* tree-ssa-loop-ivopts.c: Likewise.
|
12518 |
|
|
* tree-nomudflap.c: Likewise.
|
12519 |
|
|
* tree-call-cdce.c: Likewise.
|
12520 |
|
|
* ipa-pure-const.c: Likewise.
|
12521 |
|
|
* c-format.c: Likewise.
|
12522 |
|
|
* tree-stdarg.c: Likewise.
|
12523 |
|
|
* tree-ssa-math-opts.c: Likewise.
|
12524 |
|
|
* tree-ssa-dom.c: Likewise.
|
12525 |
|
|
* tree-nrv.c: Likewise.
|
12526 |
|
|
* tree-ssa-propagate.c: Likewise.
|
12527 |
|
|
* ipa-utils.c: Likewise.
|
12528 |
|
|
* tree-ssa-propagate.h: Likewise.
|
12529 |
|
|
* tree-ssa-alias.c: Likewise.
|
12530 |
|
|
* gimple-low.c: Likewise.
|
12531 |
|
|
* tree-ssa-sink.c: Likewise.
|
12532 |
|
|
* ipa-inline.c: Likewise.
|
12533 |
|
|
* c-semantics.c: Likewise.
|
12534 |
|
|
* dwarf2out.c: Likewise.
|
12535 |
|
|
* expr.c: Likewise.
|
12536 |
|
|
* tree-ssa-loop-ivcanon.c: Likewise.
|
12537 |
|
|
* predict.c: Likewise.
|
12538 |
|
|
* tree-ssa-loop.c: Likewise.
|
12539 |
|
|
* tree-parloops.c: Likewise.
|
12540 |
|
|
* tree-ssa-address.c: Likewise.
|
12541 |
|
|
* tree-ssa-ifcombine.c: Likewise.
|
12542 |
|
|
* matrix-reorg.c: Likewise.
|
12543 |
|
|
* c-decl.c: Likewise.
|
12544 |
|
|
* tree-eh.c: Likewise.
|
12545 |
|
|
* c-pretty-print.c: Likewise.
|
12546 |
|
|
* lambda-trans.c: Likewise.
|
12547 |
|
|
* function.c: Likewise.
|
12548 |
|
|
* langhooks.c: Likewise.
|
12549 |
|
|
* ebitmap.h: Likewise.
|
12550 |
|
|
* tree-vectorizer.c: Likewise.
|
12551 |
|
|
* function.h: Likewise.
|
12552 |
|
|
* langhooks.h: Likewise.
|
12553 |
|
|
* tree-vectorizer.h: Likewise.
|
12554 |
|
|
* ipa-type-escape.c: Likewise.
|
12555 |
|
|
* ipa-type-escape.h: Likewise.
|
12556 |
|
|
* domwalk.c: Likewise.
|
12557 |
|
|
* tree-if-conv.c: Likewise.
|
12558 |
|
|
* profile.c: Likewise.
|
12559 |
|
|
* domwalk.h: Likewise.
|
12560 |
|
|
* tree-data-ref.c: Likewise.
|
12561 |
|
|
* tree-data-ref.h: Likewise.
|
12562 |
|
|
* tree-flow-inline.h: Likewise.
|
12563 |
|
|
* tree-affine.c: Likewise.
|
12564 |
|
|
* tree-vect-analyze.c: Likewise.
|
12565 |
|
|
* c-typeck.c: Likewise.
|
12566 |
|
|
* gimplify.c: Likewise.
|
12567 |
|
|
* coretypes.h: Likewise.
|
12568 |
|
|
* tree-ssa-phiopt.c: Likewise.
|
12569 |
|
|
* calls.c: Likewise.
|
12570 |
|
|
* tree-ssa-coalesce.c: Likewise.
|
12571 |
|
|
* tree.def: Likewise.
|
12572 |
|
|
* tree-dfa.c: Likewise.
|
12573 |
|
|
* except.c: Likewise.
|
12574 |
|
|
* except.h: Likewise.
|
12575 |
|
|
* cfgexpand.c: Likewise.
|
12576 |
|
|
* tree-cfgcleanup.c: Likewise.
|
12577 |
|
|
* tree-ssa-pre.c: Likewise.
|
12578 |
|
|
* tree-ssa-live.c: Likewise.
|
12579 |
|
|
* tree-sra.c: Likewise.
|
12580 |
|
|
* tree-ssa-live.h: Likewise.
|
12581 |
|
|
* tree-predcom.c: Likewise.
|
12582 |
|
|
* lambda.h: Likewise.
|
12583 |
|
|
* tree-mudflap.c: Likewise.
|
12584 |
|
|
* ipa-prop.c: Likewise.
|
12585 |
|
|
* print-tree.c: Likewise.
|
12586 |
|
|
* tree-ssa-copy.c: Likewise.
|
12587 |
|
|
* ipa-prop.h: Likewise.
|
12588 |
|
|
* tree-ssa-forwprop.c: Likewise.
|
12589 |
|
|
* ggc-page.c: Likewise.
|
12590 |
|
|
* c-omp.c: Likewise.
|
12591 |
|
|
* tree-ssa-dce.c: Likewise.
|
12592 |
|
|
* tree-vect-patterns.c: Likewise.
|
12593 |
|
|
* tree-ssa-ter.c: Likewise.
|
12594 |
|
|
* tree-nested.c: Likewise.
|
12595 |
|
|
* tree-ssa.c: Likewise.
|
12596 |
|
|
* lambda-code.c: Likewise.
|
12597 |
|
|
* tree-ssa-loop-prefetch.c: Likewise.
|
12598 |
|
|
* tree-inline.c: Likewise.
|
12599 |
|
|
* tree-inline.h: Likewise.
|
12600 |
|
|
* tree-iterator.c: Likewise.
|
12601 |
|
|
* tree-optimize.c: Likewise.
|
12602 |
|
|
* tree-ssa-phiprop.c: Likewise.
|
12603 |
|
|
* tree-vect-transform.c: Likewise.
|
12604 |
|
|
* tree-object-size.c: Likewise.
|
12605 |
|
|
* tree-outof-ssa.c: Likewise.
|
12606 |
|
|
* cfgloop.c: Likewise.
|
12607 |
|
|
* system.h: Likewise.
|
12608 |
|
|
* tree-profile.c: Likewise.
|
12609 |
|
|
* cfgloop.h: Likewise.
|
12610 |
|
|
* c-gimplify.c: Likewise.
|
12611 |
|
|
* c-common.c: Likewise.
|
12612 |
|
|
* tree-vect-generic.c: Likewise.
|
12613 |
|
|
* tree-flow.h: Likewise.
|
12614 |
|
|
* c-common.h: Likewise.
|
12615 |
|
|
* basic-block.h: Likewise.
|
12616 |
|
|
* tree-ssa-structalias.c: Likewise.
|
12617 |
|
|
* tree-switch-conversion.c: Likewise.
|
12618 |
|
|
* tree-ssa-structalias.h: Likewise.
|
12619 |
|
|
* tree-cfg.c: Likewise.
|
12620 |
|
|
* passes.c: Likewise.
|
12621 |
|
|
* ipa-struct-reorg.c: Likewise.
|
12622 |
|
|
* ipa-struct-reorg.h: Likewise.
|
12623 |
|
|
* tree-ssa-reassoc.c: Likewise.
|
12624 |
|
|
* cfgrtl.c: Likewise.
|
12625 |
|
|
* varpool.c: Likewise.
|
12626 |
|
|
* stmt.c: Likewise.
|
12627 |
|
|
* tree-ssanames.c: Likewise.
|
12628 |
|
|
* tree-ssa-threadedge.c: Likewise.
|
12629 |
|
|
* langhooks-def.h: Likewise.
|
12630 |
|
|
* tree-ssa-operands.c: Likewise.
|
12631 |
|
|
* config/alpha/alpha.c: Likewise.
|
12632 |
|
|
* config/frv/frv.c: Likewise.
|
12633 |
|
|
* config/s390/s390.c: Likewise.
|
12634 |
|
|
* config/m32c/m32c.c: Likewise.
|
12635 |
|
|
* config/m32c/m32c-protos.h: Likewise.
|
12636 |
|
|
* config/spu/spu.c: Likewise.
|
12637 |
|
|
* config/sparc/sparc.c: Likewise.
|
12638 |
|
|
* config/i386/i386.c: Likewise.
|
12639 |
|
|
* config/sh/sh.c: Likewise.
|
12640 |
|
|
* config/xtensa/xtensa.c: Likewise.
|
12641 |
|
|
* config/stormy16/stormy16.c: Likewise.
|
12642 |
|
|
* config/ia64/ia64.c: Likewise.
|
12643 |
|
|
* config/rs6000/rs6000.c: Likewise.
|
12644 |
|
|
* config/pa/pa.c: Likewise.
|
12645 |
|
|
* config/mips/mips.c: Likewise.
|
12646 |
|
|
|
12647 |
|
|
2008-07-28 Simon Baldwin
|
12648 |
|
|
|
12649 |
|
|
* c-pragma.c (handle_pragma_message): New function.
|
12650 |
|
|
(init_pragma): Register handle_pragma_message.
|
12651 |
|
|
* doc/extend.texi (Diagnostic Pragmas): Added #pragma message
|
12652 |
|
|
documentation.
|
12653 |
|
|
|
12654 |
|
|
2008-07-27 Victor Kaplansky
|
12655 |
|
|
|
12656 |
|
|
PR tree-optimization/35252
|
12657 |
|
|
* tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and
|
12658 |
|
|
REALPART_EXPR to be considered as same load operation.
|
12659 |
|
|
|
12660 |
|
|
2008-07-27 Eric Botcazou
|
12661 |
|
|
|
12662 |
|
|
PR tree-optimization/36830
|
12663 |
|
|
* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2.
|
12664 |
|
|
(expressions_equal_p): Return false if only one operand is null.
|
12665 |
|
|
|
12666 |
|
|
2008-07-26 Gerald Pfeifer
|
12667 |
|
|
|
12668 |
|
|
* doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo
|
12669 |
|
|
version requirements.
|
12670 |
|
|
|
12671 |
|
|
2008-07-26 Olivier Hainque
|
12672 |
|
|
|
12673 |
|
|
* collect2.c (symkind): New enum. Symbol kinds we care about.
|
12674 |
|
|
(is_ctor_dtor): Return symkind instead of int. Adjust prototype,
|
12675 |
|
|
code and head comment accordingly.
|
12676 |
|
|
(scan_prog_file): Use symkind names instead of bare integers.
|
12677 |
|
|
|
12678 |
|
|
2008-07-25 Jan Hubicka
|
12679 |
|
|
|
12680 |
|
|
* cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on
|
12681 |
|
|
DECL_INLINE.
|
12682 |
|
|
* cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE
|
12683 |
|
|
(cgraph_preserve_function_body_p): Do not rely on DECL_INLINE.
|
12684 |
|
|
* dojump.c (clear_pending_stack_adjust): Likewise.
|
12685 |
|
|
* print-tree.c (print_node): Ignore DECL_INLINE.
|
12686 |
|
|
* tree-inline.c (inlinable_function_p): Likewise.
|
12687 |
|
|
|
12688 |
|
|
2008-07-25 Michael Meissner
|
12689 |
|
|
|
12690 |
|
|
* doc/extend.texi (hot attribute): Document that the hot attribute
|
12691 |
|
|
turns on -O3 for some ports.
|
12692 |
|
|
(cold attribute): Document that the cold attribute turns on -Os
|
12693 |
|
|
for some ports
|
12694 |
|
|
|
12695 |
|
|
* doc/tm.texi (OPTIMIZATION_OPTIONS): Update documentation to
|
12696 |
|
|
reflect function specific option support.
|
12697 |
|
|
|
12698 |
|
|
* target.h (struct target_option_hooks): Add fields to say whether
|
12699 |
|
|
the cold attribute implies -Os and the hot attribute implies -O3.
|
12700 |
|
|
|
12701 |
|
|
* target-def.h (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION):
|
12702 |
|
|
By default, do not turn on -Os for cold functions.
|
12703 |
|
|
(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): By default, do
|
12704 |
|
|
not turn on -O3 for hot functions.
|
12705 |
|
|
|
12706 |
|
|
* c-common.c (handle_hot_attribute): Use target hook to determine
|
12707 |
|
|
if hot functions should enable -O3.
|
12708 |
|
|
(handle_cold_attribute): Use target hook to determine if cold
|
12709 |
|
|
functions should enable -Os.
|
12710 |
|
|
|
12711 |
|
|
* config/i386/i386.c (ix86_target_string): Add -m3dnowa support.
|
12712 |
|
|
(override_options): Move disable scheduling to
|
12713 |
|
|
optimization_options.
|
12714 |
|
|
(optimization_options): Disable scheduling here, not
|
12715 |
|
|
override_options.
|
12716 |
|
|
(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
|
12717 |
|
|
(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
|
12718 |
|
|
|
12719 |
|
|
* config/ia64/ia64.c (ia64_override_options): Move setting
|
12720 |
|
|
scheduling flags to ia64_optimization_options.
|
12721 |
|
|
(ia64_optimization_options): Disable scheduling options here, and
|
12722 |
|
|
not in ia64_override_options.
|
12723 |
|
|
(TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
|
12724 |
|
|
(TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
|
12725 |
|
|
|
12726 |
|
|
2008-07-25 H.J. Lu
|
12727 |
|
|
|
12728 |
|
|
PR target/36936
|
12729 |
|
|
* config/i386/i386.c (override_options): Don't clear TARGET_CMOVE.
|
12730 |
|
|
|
12731 |
|
|
2008-07-25 Martin Jambor
|
12732 |
|
|
|
12733 |
|
|
PR tree-optimization/36926
|
12734 |
|
|
* ipa-prop.c (ipa_analyze_call_uses): Call
|
12735 |
|
|
ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF.
|
12736 |
|
|
|
12737 |
|
|
2008-07-25 Joseph Myers
|
12738 |
|
|
|
12739 |
|
|
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
|
12740 |
|
|
movv2si_internal): Add mem = reg alternative.
|
12741 |
|
|
|
12742 |
|
|
2008-07-25 Andreas Tobler
|
12743 |
|
|
|
12744 |
|
|
PR bootstrap/36918
|
12745 |
|
|
* config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define
|
12746 |
|
|
DEFAULT_PCC_STRUCT_RETURN to 127.
|
12747 |
|
|
|
12748 |
|
|
2008-07-24 Jan Hubicka
|
12749 |
|
|
|
12750 |
|
|
* cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
|
12751 |
|
|
(build_cgraph_edges): Likewise.
|
12752 |
|
|
* cgraph.c (cgraph_node): Do not update assembler hash.
|
12753 |
|
|
(cgraph_remove_node): Drop non-unit-at-a-time code.
|
12754 |
|
|
* tree-pass.h (pass_O0_always_inline): Remove.
|
12755 |
|
|
* ipa-reference.c (gate_reference): Remove unit-at-a-time check.
|
12756 |
|
|
* toplev.c (process_options): Flag unit-at-a-time does not imply
|
12757 |
|
|
no section anchors.
|
12758 |
|
|
* cgraphunit.c: Update comments.
|
12759 |
|
|
(decide_is_function_needed): Drop non-unit-at-a-time mode.
|
12760 |
|
|
(cgraph_assemble_pending_functions): Remove.
|
12761 |
|
|
(cgraph_reset_node): Drop non-unit-at-a-time code.
|
12762 |
|
|
(cgraph_finalize_function): Likewise.
|
12763 |
|
|
(cgraph_analyze_function): Likewise.
|
12764 |
|
|
(cgraph_finalize_compilation_unit): Likewise.
|
12765 |
|
|
(cgraph_expand_function): Likewise.
|
12766 |
|
|
(cgraph_optimize): Likesise.
|
12767 |
|
|
(save_inline_function_body): Likewise.
|
12768 |
|
|
* ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check.
|
12769 |
|
|
* tree-ssa-alias.c (maybe_be_aliased): Likewise.
|
12770 |
|
|
* ipa-inline.c: Update comments.
|
12771 |
|
|
(enum inlining_mode): remove INLINE_SPEED.
|
12772 |
|
|
(cgraph_clone_inlined_nodes): Drop unit-at-a-time check.
|
12773 |
|
|
(cgraph_mark_inline_edge): Likewise.
|
12774 |
|
|
(try_inline): Likewise.
|
12775 |
|
|
(cgraph_decide_inlining_incrementally): Likewise.
|
12776 |
|
|
(cgraph_gate_inlining): Remove.
|
12777 |
|
|
(cgraph_early_inlining): Remove flag_unit_at_a_time checks.
|
12778 |
|
|
(cgraph_gate_early_inlining): Likewise.
|
12779 |
|
|
(gate_inline_passes): Remove.
|
12780 |
|
|
(pass_inline_parameters, pass_ipa_inline): Remove gates.
|
12781 |
|
|
(cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
|
12782 |
|
|
pass_O0_always_inline): Remove.
|
12783 |
|
|
* c-pch.c (c_pch_matching): Remove -funit-at-a-time.
|
12784 |
|
|
* dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check.
|
12785 |
|
|
* opts.c (no_unit_at_a_time_default): Remove.
|
12786 |
|
|
(decode_options): Remove flag_unit_at_a_time reset and warning.
|
12787 |
|
|
* opts.h (no_unit_at_a_time_default): Remove.
|
12788 |
|
|
* c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
|
12789 |
|
|
early in GNU dialect.
|
12790 |
|
|
(merge_decls): Update comment; drop unit-at-a-time check.
|
12791 |
|
|
(finish_decl): Likewise.
|
12792 |
|
|
(grok_declaration): Remove flag_inline_trees code.
|
12793 |
|
|
(finish_functions): Return on function returning non-void on all
|
12794 |
|
|
statics.
|
12795 |
|
|
* ipa-tye-escape.c (gate_type_escape_vars): Remove.
|
12796 |
|
|
* cfgexpand.c (expand_one_static_var): Remove.
|
12797 |
|
|
(expand_one_var): Remove expand_one_static_var call.
|
12798 |
|
|
(expand_used_vars_for_block): Remove flag_unit_a_time check.
|
12799 |
|
|
* c-opts.c (c_common_post_options): Remove flag_inline_trees code
|
12800 |
|
|
and flag_unit_at_a-time compatibility checks.
|
12801 |
|
|
* varasm.c (assemble_alias): Remove flag_unit_at_a_time check.
|
12802 |
|
|
* tree-inline.c (flag_inline_trees): Remove.
|
12803 |
|
|
(inlinable_function_p): Don't check it.
|
12804 |
|
|
(expand_call_inline): Remove non-unit-at-a-time code.
|
12805 |
|
|
* tree-inline.h (flag_inline_trees): Remove.
|
12806 |
|
|
* tree-optimize.c (execute_early_local_optimizations): Remove
|
12807 |
|
|
unit-at-a-time checks.
|
12808 |
|
|
(tree_rest_of_compilation): Likewise.
|
12809 |
|
|
* combine.c (setup_incoming_promotions): Likewise.
|
12810 |
|
|
* tree-profile.c (tree_gen_ic_func_profiler): Likewise.
|
12811 |
|
|
* tree-ssa-structalias.c (delete_points_to_sets): Likewise.
|
12812 |
|
|
* passes.c (pass_inline_parameters): Update comments; remove
|
12813 |
|
|
O0_alwaysinline pass.
|
12814 |
|
|
(execute_one_ipa_transform_pass): Do not reset in_gimple_form.
|
12815 |
|
|
(execute_one_pass): Likewise.
|
12816 |
|
|
* i386.c (ix86_function_regparm): Remove unit-at-a-time check.
|
12817 |
|
|
(ix86_function_sseregparm): Likewise.
|
12818 |
|
|
* arm.c (arm_function_in_section_p): Likewise.
|
12819 |
|
|
* bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise.
|
12820 |
|
|
* varpool.c: Update comments.
|
12821 |
|
|
(decide_is_variable_needed): Remove unit-at-a-time checks.
|
12822 |
|
|
(varpool_finalize_decl): Likewise.
|
12823 |
|
|
|
12824 |
|
|
2008-07-24 Kaz Kojima
|
12825 |
|
|
|
12826 |
|
|
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer
|
12827 |
|
|
to 2 instead of -1.
|
12828 |
|
|
(OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal to 2.
|
12829 |
|
|
|
12830 |
|
|
2008-07-24 Kai Tietz
|
12831 |
|
|
|
12832 |
|
|
* config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for
|
12833 |
|
|
imp symbol extension.
|
12834 |
|
|
|
12835 |
|
|
2008-07-23 Ian Lance Taylor
|
12836 |
|
|
|
12837 |
|
|
* tree-vrp.c (infer_value_range): Ignore asm statements when
|
12838 |
|
|
looking for memory accesses for -fdelete-null-pointer-checks.
|
12839 |
|
|
|
12840 |
|
|
2008-07-24 Ben Elliston
|
12841 |
|
|
|
12842 |
|
|
* config/spu/spu-c.c (__vector_keyword): New variable.
|
12843 |
|
|
(vector_keyword): Likewise.
|
12844 |
|
|
(spu_categorize_keyword): New function.
|
12845 |
|
|
(spu_macro_to_expand): Likewise.
|
12846 |
|
|
(spu_cpu_cpp_builtins): Enable context-sensitive macros if not
|
12847 |
|
|
compiling an ISO C dialect.
|
12848 |
|
|
|
12849 |
|
|
2008-07-24 Ben Elliston
|
12850 |
|
|
|
12851 |
|
|
* config/rs6000/rs6000-c.c: Move GTY(()) markers to match
|
12852 |
|
|
conventional usage.
|
12853 |
|
|
|
12854 |
|
|
2008-07-23 Aaron W. LaFramboise
|
12855 |
|
|
|
12856 |
|
|
* configure: Regenerate.
|
12857 |
|
|
* configure.ac: Require texinfo 4.7.
|
12858 |
|
|
* doc/install.texi: Document texinfo 4.7 requirement.
|
12859 |
|
|
|
12860 |
|
|
2008-07-23 Martin Jambor
|
12861 |
|
|
|
12862 |
|
|
* ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
|
12863 |
|
|
rather than for DECL_SAVED_TREE.
|
12864 |
|
|
* ipa-prop.c: Include diagnostic.h.
|
12865 |
|
|
(ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
|
12866 |
|
|
thoroughly.
|
12867 |
|
|
(ipa_detect_param_modifications): Function rewritten from scratch.
|
12868 |
|
|
(ipa_compute_jump_functions): Changed accesses to modification flags.
|
12869 |
|
|
(ipa_free_node_params_substructures): Update flags destruction.
|
12870 |
|
|
(ipa_node_duplication_hook): Update flags duplication.
|
12871 |
|
|
(ipa_print_all_params_modified): Updated flag access.
|
12872 |
|
|
* ipa-prop.h (struct ipa_param_flags): New structure.
|
12873 |
|
|
(struct ipa_node_params): New field modification_analysis_done,
|
12874 |
|
|
modified_flags changed into param_flags.
|
12875 |
|
|
(ipa_is_ith_param_modified): Changed to use new flags.
|
12876 |
|
|
* Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.
|
12877 |
|
|
|
12878 |
|
|
* ipa-prop.c (ipa_print_all_jump_functions): Moved here from
|
12879 |
|
|
ipa-cp.c and split into two functions.
|
12880 |
|
|
(ipa_print_node_jump_functions): New function.
|
12881 |
|
|
(compute_scalar_jump_functions): New function.
|
12882 |
|
|
(type_like_member_ptr_p): New function.
|
12883 |
|
|
(compute_pass_through_member_ptrs): New function.
|
12884 |
|
|
(fill_member_ptr_cst_jump_function): New function.
|
12885 |
|
|
(determine_cst_member_ptr): New function.
|
12886 |
|
|
(compute_cst_member_ptr_arguments): New function.
|
12887 |
|
|
(ipa_compute_jump_functions): Complete rewrite.
|
12888 |
|
|
* ipa-prop.h (enum jump_func_type): Make explicit that we depend
|
12889 |
|
|
on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
|
12890 |
|
|
(struct ipa_member_ptr_cst): New structure.
|
12891 |
|
|
(union jump_func_value): New field member_cst.
|
12892 |
|
|
* ipa-cp.c (ipcp_lat_is_insertable): New function.
|
12893 |
|
|
(ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
|
12894 |
|
|
jump function types.
|
12895 |
|
|
(ipcp_print_all_lattices): Slight fprintf rearrangement.
|
12896 |
|
|
(ipcp_print_all_structures): Call ipa_print_all_jump_functions
|
12897 |
|
|
instead of ipcp_print_all_jump_functions.
|
12898 |
|
|
(ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
|
12899 |
|
|
only for replacable scalars.
|
12900 |
|
|
|
12901 |
|
|
* doc/invoke.texi (Optimize options): Add description of
|
12902 |
|
|
-findirect-inlining.
|
12903 |
|
|
* common.opt (flag_indirect_inlining): New flag.
|
12904 |
|
|
* opts.c (decode_options): Set flag_indirect_inlining when
|
12905 |
|
|
optimize >= 3.
|
12906 |
|
|
|
12907 |
|
|
* ipa-inline.c: Include ipa-prop.h.
|
12908 |
|
|
(inline_indirect_intraprocedural_analysis): New function.
|
12909 |
|
|
(inline_generate_summary): Allocate parameter and argument info
|
12910 |
|
|
structures, call inline_indirect_intraprocedural_analysis on each
|
12911 |
|
|
node when doing indirect inlining and deallocate indirect inlining
|
12912 |
|
|
data structures in the end.
|
12913 |
|
|
* ipa-prop.c (ipa_create_param_decls_array): Return if already done.
|
12914 |
|
|
(free_all_ipa_structures_after_iinln): New function.
|
12915 |
|
|
(free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be
|
12916 |
|
|
done.
|
12917 |
|
|
* Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.
|
12918 |
|
|
|
12919 |
|
|
* cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
|
12920 |
|
|
(build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
|
12921 |
|
|
of computing the frequency separately.
|
12922 |
|
|
(rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
|
12923 |
|
|
of computing the frequency separately.
|
12924 |
|
|
* ipa-cp.c (ipcp_print_all_structures): Replace a call to
|
12925 |
|
|
ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
|
12926 |
|
|
* ipa-prop.c (ipa_get_member_ptr_load_param): New function.
|
12927 |
|
|
(ipa_get_stmt_member_ptr_load_param): New function.
|
12928 |
|
|
(ipa_is_ssa_with_stmt_def): New function.
|
12929 |
|
|
(ipa_note_param_call): New function.
|
12930 |
|
|
(ipa_analyze_call_uses): New function.
|
12931 |
|
|
(ipa_analyze_stmt_uses): New function.
|
12932 |
|
|
(ipa_analyze_params_uses): New function.
|
12933 |
|
|
(ipa_free_node_params_substructures): Also free the param_calls linked
|
12934 |
|
|
list.
|
12935 |
|
|
(ipa_node_duplication_hook): Also duplicate the param_calls
|
12936 |
|
|
linked list.
|
12937 |
|
|
(ipa_print_node_param_flags): New function.
|
12938 |
|
|
(ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
|
12939 |
|
|
(ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
|
12940 |
|
|
* ipa-prop.h (struct ipa_param_flags): New field called.
|
12941 |
|
|
(struct ipa_param_call_note): New structure.
|
12942 |
|
|
(struct ipa_node_params): New fields param_calls and
|
12943 |
|
|
uses_analysis_done.
|
12944 |
|
|
(ipa_is_ith_param_called): New function.
|
12945 |
|
|
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
|
12946 |
|
|
ipa_analyze_params_uses and dump parameter flags.
|
12947 |
|
|
|
12948 |
|
|
* ipa-inline.c (cgraph_decide_recursive_inlining): Call
|
12949 |
|
|
ipa_propagate_indirect_call_infos if performing indirect inlining,
|
12950 |
|
|
pass a new parameter new_edges to it.
|
12951 |
|
|
(add_new_edges_to_heap): New fucntion.
|
12952 |
|
|
(cgraph_decide_inlining_of_small_functions): New vector
|
12953 |
|
|
new_indirect_edges for newly found indirect edges , call
|
12954 |
|
|
ipa_propagate_indirect_call_infos after inlining.
|
12955 |
|
|
(cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
|
12956 |
|
|
inlining if performing indirect inlining. Call
|
12957 |
|
|
free_all_ipa_structures_after_iinln when doing so too.
|
12958 |
|
|
(inline_generate_summary): Do not call
|
12959 |
|
|
free_all_ipa_structures_after_iinln here.
|
12960 |
|
|
* ipa-prop.c (update_jump_functions_after_inlining): New function.
|
12961 |
|
|
(print_edge_addition_message): New function.
|
12962 |
|
|
(update_call_notes_after_inlining): New function.
|
12963 |
|
|
(propagate_info_to_inlined_callees): New function.
|
12964 |
|
|
(ipa_propagate_indirect_call_infos): New function.
|
12965 |
|
|
* ipa-prop.h: Include cgraph.h
|
12966 |
|
|
(struct ipa_param_call_note): Fields reordered, new field processed.
|
12967 |
|
|
* cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
|
12968 |
|
|
flag indirect_call.
|
12969 |
|
|
* cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
|
12970 |
|
|
rediscovered call statements.
|
12971 |
|
|
* cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
|
12972 |
|
|
(dump_cgraph_node): Dump also the indirect_call flag.
|
12973 |
|
|
(cgraph_clone_edge): Copy also the indirect_call flag.
|
12974 |
|
|
* tree-inline.c (copy_bb): Do not check for fndecls from call
|
12975 |
|
|
expressions, check for edge availability when moving clones.
|
12976 |
|
|
(get_indirect_callee_fndecl): New function.
|
12977 |
|
|
(expand_call_inline): If callee declaration is not apprent from
|
12978 |
|
|
the statement, try calling get_indirect_callee_fndecl. Do not
|
12979 |
|
|
issue warnings or call sorry when not inlinings an indirect edge.
|
12980 |
|
|
* Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.
|
12981 |
|
|
|
12982 |
|
|
* ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
|
12983 |
|
|
bit more frandly to matching.
|
12984 |
|
|
* testsuite/g++.dg/ipa/iinline-1.C: New testcase.
|
12985 |
|
|
* testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
|
12986 |
|
|
* testsuite/gcc.dg/ipa/modif-1.c: New testcase.
|
12987 |
|
|
|
12988 |
|
|
2008-07-23 Michael Meissner
|
12989 |
|
|
|
12990 |
|
|
PR 36907
|
12991 |
|
|
* opth-gen.awk: Suppress function specific features when building
|
12992 |
|
|
target libraries.
|
12993 |
|
|
* optc-gen.awk: Ditto.
|
12994 |
|
|
|
12995 |
|
|
2008-07-23 Manuel Lopez-Ibanez
|
12996 |
|
|
|
12997 |
|
|
PR 35058
|
12998 |
|
|
* diagnostic.c (pedwarn): Add opt parameter.
|
12999 |
|
|
(pedwarn0): New.
|
13000 |
|
|
* c-tree.h (pedwarn_init): Add opt parameter.
|
13001 |
|
|
(pedwarn_c90): Likewise.
|
13002 |
|
|
(pedwarn_c99): Likewise.
|
13003 |
|
|
* c-errors.c (pedwarn_c99): Likewise.
|
13004 |
|
|
(pedwarn_c90): Likewise.
|
13005 |
|
|
* toplev.h (pedwarn): Update declaration.
|
13006 |
|
|
(pedwarn0): Declare.
|
13007 |
|
|
* c-lex.c: All calls to pedwarn changed.
|
13008 |
|
|
* builtins.c: All calls to pedwarn changed.
|
13009 |
|
|
* toplev.c: All calls to pedwarn changed.
|
13010 |
|
|
* c-decl.c: All calls to pedwarn changed.
|
13011 |
|
|
* c-typeck.c: All calls to pedwarn changed.
|
13012 |
|
|
* c-common.c: All calls to pedwarn changed.
|
13013 |
|
|
* c-parser.c: All calls to pedwarn changed.
|
13014 |
|
|
|
13015 |
|
|
2008-07-23 Michael Meissner
|
13016 |
|
|
Karthik Kumar
|
13017 |
|
|
|
13018 |
|
|
* attribs.c (file scope): Include c-common.h.
|
13019 |
|
|
(decl_attributes): Add support for #pragma GCC optimize and
|
13020 |
|
|
#pragma GCC option.
|
13021 |
|
|
|
13022 |
|
|
* targhooks.c (default_can_inline_p): New function that is the
|
13023 |
|
|
default for the TARGET_CAN_INLINE_P target hook.
|
13024 |
|
|
|
13025 |
|
|
* targhooks.h (default_can_inline_p): Add declaration.
|
13026 |
|
|
|
13027 |
|
|
* tree.c (cl_optimization_node): New static tree for building
|
13028 |
|
|
OPTIMIZATION_NODE tree.
|
13029 |
|
|
(cl_target_option_node): New static tree for building
|
13030 |
|
|
TARGET_OPTION_NODE tree.
|
13031 |
|
|
(cl_option_hash_table): New hash table for hashing
|
13032 |
|
|
OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
|
13033 |
|
|
(cl_option_hash_hash): New function to provide the hash value for
|
13034 |
|
|
OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
|
13035 |
|
|
(cl_option_hash_eq): New function to provide an equality test for
|
13036 |
|
|
OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
|
13037 |
|
|
(tree_code_size): Add support for OPTIMIZATION_NODE and
|
13038 |
|
|
TARGET_OPTION_NODE trees.
|
13039 |
|
|
(tree_code_structure): Add support for OPTIMIZATION_NODE and
|
13040 |
|
|
TARGET_OPTION_NODE trees.
|
13041 |
|
|
(build_optimization_node): Build a tree that has all of the
|
13042 |
|
|
current optimization options.
|
13043 |
|
|
(build_target_option_node): Build a tree that has the target
|
13044 |
|
|
options that might be changed on a per function basis.
|
13045 |
|
|
|
13046 |
|
|
* tree.h (file scope): Include options.h.
|
13047 |
|
|
(DECL_FUNCTION_SPECIFIC_TARGET): New accessor macro.
|
13048 |
|
|
(DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto.
|
13049 |
|
|
(TREE_OPTIMIZATION): Ditto.
|
13050 |
|
|
(TREE_TARGET_SPECIFIC): Ditto.
|
13051 |
|
|
(struct tree_function_decl): Add fields for remembering the
|
13052 |
|
|
current optimization options and target specific options.
|
13053 |
|
|
(struct tree_optimization_option): New tree variant that remembers
|
13054 |
|
|
the optimization options.
|
13055 |
|
|
(struct tree_target_option): New tree variant that remembers the
|
13056 |
|
|
target specific flags that might change for compiling a particular
|
13057 |
|
|
function.
|
13058 |
|
|
(union tree_node): Include tree_optimization_option and
|
13059 |
|
|
tree_target_option fields.
|
13060 |
|
|
(enum tree_index): Add TI_OPTIMIZATION_DEFAULT,
|
13061 |
|
|
TI_OPTIMIZATION_CURRENT, TI_OPTIMIZATION_COLD,
|
13062 |
|
|
TI_OPTIMIZATION_HOT, TI_TARGET_OPTION_DEFAULT,
|
13063 |
|
|
TI_TARGET_OPTION_CURRENT, TI_CURRENT_OPTION_PRAGMA,
|
13064 |
|
|
TI_CURRENT_OPTIMIZE_PRAGMA entries for saving function specific
|
13065 |
|
|
optimization and target options.
|
13066 |
|
|
(optimization_default_node): New macro to refer to global_trees
|
13067 |
|
|
field.
|
13068 |
|
|
(optimization_current_node): Ditto.
|
13069 |
|
|
(optimization_cold_node): Ditto.
|
13070 |
|
|
(optimization_hot_node): Ditto.
|
13071 |
|
|
(target_option_default_node): Ditto.
|
13072 |
|
|
(target_option_current_node): Ditto.
|
13073 |
|
|
(current_option_pragma): Ditto.
|
13074 |
|
|
(current_optimize_pragma): Ditto.
|
13075 |
|
|
|
13076 |
|
|
* target.h (struct gcc_target): Add valid_option_attribute_p,
|
13077 |
|
|
target_option_save, target_option_restore, target_option_print,
|
13078 |
|
|
target_option_pragma_parse, and can_inline_p hooks.
|
13079 |
|
|
|
13080 |
|
|
* toplev.h (parse_optimize_options): Add declaration.
|
13081 |
|
|
(fast_math_flags_struct_set_p): Ditto.
|
13082 |
|
|
|
13083 |
|
|
* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): New function to
|
13084 |
|
|
adjust the current __OPTIMIZE__, etc. macros when #pragma GCC
|
13085 |
|
|
optimize is used.
|
13086 |
|
|
|
13087 |
|
|
* ipa-inline.c (cgraph_decide_inlining_of_small_function): Call
|
13088 |
|
|
tree_can_inline_p hook to see if one function can inline another.
|
13089 |
|
|
(cgraph_decide_inlining): Ditto.
|
13090 |
|
|
(cgraph_decide_inlining_incrementally): Ditto.
|
13091 |
|
|
|
13092 |
|
|
* opts.c (decode_options): Add support for running multiple times
|
13093 |
|
|
to allow functions with different target or optimization options
|
13094 |
|
|
than was specified on the command line.
|
13095 |
|
|
(fast_math_flags_struct_set_p): New function that is similar to
|
13096 |
|
|
fast_math_flags_set_p, except it uses the values in the
|
13097 |
|
|
cl_optimization structure instead of global variables.
|
13098 |
|
|
|
13099 |
|
|
* optc-gen.awk: Add support for TargetSave to allow a back end to
|
13100 |
|
|
declare new fields that need to be saved when using function
|
13101 |
|
|
specific options. Include flags.h and target.h in the options.c
|
13102 |
|
|
source. Add support for Save to indicate which options can be set
|
13103 |
|
|
for individual functions. Generate cl_optimize_save,
|
13104 |
|
|
cl_optimize_restore, cl_optimize_print, cl_target_option_save,
|
13105 |
|
|
cl_target_option_restore, cl_target_option_print functions to
|
13106 |
|
|
allow functions to use different optimization or target options.
|
13107 |
|
|
|
13108 |
|
|
* opt-functions.awk (var_type_struct): Return the type used for
|
13109 |
|
|
storing the field in a structure.
|
13110 |
|
|
|
13111 |
|
|
* opth-gen.awk: Add support for TargetSave to allow a back end to
|
13112 |
|
|
declare new fields that need to be saved when using function
|
13113 |
|
|
specific options. Add support for Save to indicate which options
|
13114 |
|
|
can be set for individual functions. Only generate one extern for
|
13115 |
|
|
Mask fields. Generate cl_optimization and cl_target_option
|
13116 |
|
|
structures to remember optimization and target options.
|
13117 |
|
|
|
13118 |
|
|
* treestruct.def (TS_OPTIMIZATION): Add support for garbage
|
13119 |
|
|
collecting new tree nodes.
|
13120 |
|
|
(TS_TARGET_OPTION): Ditto.
|
13121 |
|
|
|
13122 |
|
|
* c-decl.c (merge_decls): Merge function specific target and
|
13123 |
|
|
optimization options.
|
13124 |
|
|
|
13125 |
|
|
* function.c (invoke_set_current_function_hook): If the function
|
13126 |
|
|
uses different optimization options, change the global variables
|
13127 |
|
|
to reflect this.
|
13128 |
|
|
|
13129 |
|
|
* coretypes.h (struct cl_optimization): Add forward reference.
|
13130 |
|
|
(struct cl_target_option): Ditto.
|
13131 |
|
|
|
13132 |
|
|
* c-pragma.c (option_stack): New static vector to remember the
|
13133 |
|
|
current #pragma GCC option stack.
|
13134 |
|
|
(handle_pragma_option): New function to support #pragma GCC option
|
13135 |
|
|
to change target options.
|
13136 |
|
|
(optimize_stack): New static vector to remember the current
|
13137 |
|
|
#pragma GCC optimize stack.
|
13138 |
|
|
(handle_pragma_optimize): New function to support #pragma GCC
|
13139 |
|
|
optimize to change optimization options.
|
13140 |
|
|
(init_pragma): Add support for #pragma GCC optimize and #pragma
|
13141 |
|
|
GCC option.
|
13142 |
|
|
|
13143 |
|
|
* tree.def (OPTIMIZATION_NODE): New tree code for remembering
|
13144 |
|
|
optimization options.
|
13145 |
|
|
(TARGET_OPTION_NODE): New tree code for remembering certain target
|
13146 |
|
|
options.
|
13147 |
|
|
|
13148 |
|
|
* print-tree.c (print_node): Add support for OPTIMIZATION_NODE and
|
13149 |
|
|
TARGET_OPTION_NODE trees.
|
13150 |
|
|
|
13151 |
|
|
* common.opt (-O): Add Optimization flag.
|
13152 |
|
|
(-Os): Ditto.
|
13153 |
|
|
(-fmath-errno): Ditto.
|
13154 |
|
|
(-falign-functions): Add UInteger flag to make sure flag gets full
|
13155 |
|
|
int in cl_optimization structure.
|
13156 |
|
|
(-falign-jumps): Ditto.
|
13157 |
|
|
(-falign-labels): Ditto.
|
13158 |
|
|
(-falign-loops): Ditto.
|
13159 |
|
|
(-fsched-stalled-insns): Ditto.
|
13160 |
|
|
(-fsched-stalled-insns-dep): Ditto.
|
13161 |
|
|
|
13162 |
|
|
* target-def.h (TARGET_VALID_OPTION_ATTRIBUTE_P): Add default
|
13163 |
|
|
definition.
|
13164 |
|
|
(TARGET_OPTION_SAVE): Ditto.
|
13165 |
|
|
(TARGET_OPTION_RESTORE): Ditto.
|
13166 |
|
|
(TARGET_OPTION_PRINT): Ditto.
|
13167 |
|
|
(TARGET_OPTION_PRAGMA_PARSE): Ditto.
|
13168 |
|
|
(TARGET_CAN_INLINE_P): Ditto.
|
13169 |
|
|
(TARGET_INITIALIZER): Add new hooks.
|
13170 |
|
|
|
13171 |
|
|
* tree-inline.c (tree_can_inline_p): New function to determine
|
13172 |
|
|
whether one function can inline another. Check if the functions
|
13173 |
|
|
use compatible optimization options, and also call the backend
|
13174 |
|
|
can_inline_p hook.
|
13175 |
|
|
|
13176 |
|
|
* tree-inline.h (tree_can_inline_p): Add declaration.
|
13177 |
|
|
|
13178 |
|
|
* c-common.c (c_common_attribute): Add support for option and
|
13179 |
|
|
optimize attributes.
|
13180 |
|
|
(handle_option_attribute): Add support for the option attribute to
|
13181 |
|
|
allow the user to specify different target options for compiling a
|
13182 |
|
|
specific function.
|
13183 |
|
|
(handle_optimize_attribute): Add support for the optimize
|
13184 |
|
|
attribute to allow the user to specify different optimization
|
13185 |
|
|
options for compiling a specific function.
|
13186 |
|
|
(handle_hot_attribute): Turn on -O3 optimization for this one
|
13187 |
|
|
function if it isn't the default optimization level.
|
13188 |
|
|
(handle_cold_attribute): Turn on -Os optimization for this one
|
13189 |
|
|
function if it insn't the default optimization.
|
13190 |
|
|
(const_char_p): New const char * typedef.
|
13191 |
|
|
(optimize_args): New static vector to remember the optimization
|
13192 |
|
|
arguments.
|
13193 |
|
|
(parse_optimize_options): New function to set up the optimization
|
13194 |
|
|
arguments from either the optimize attribute or #pragma GCC optimize.
|
13195 |
|
|
|
13196 |
|
|
* c-common.h (c_cpp_builtins_optimize_pragma): Add declaration.
|
13197 |
|
|
(builtin_define_std): Ditto.
|
13198 |
|
|
|
13199 |
|
|
* config.gcc (i[3467]86-*-*): Add i386-c.o to C/C++ languages.
|
13200 |
|
|
Add t-i386 Makefile fragment to add i386-c.o and i386.o dependencies.
|
13201 |
|
|
(x86_64-*-*): Ditto.
|
13202 |
|
|
|
13203 |
|
|
* Makefile.in (TREE_H): Add options.h.
|
13204 |
|
|
(options.o): Add $(TARGET_H) $(FLAGS_H) dependencies.
|
13205 |
|
|
|
13206 |
|
|
* doc/extend.texi (option attribute): Document new attribute.
|
13207 |
|
|
(optimize attribute): Ditto.
|
13208 |
|
|
(hot attribute): Document hot attribute sets -O3.
|
13209 |
|
|
(cold attribute): Document cold attribute sets -Os.
|
13210 |
|
|
(#pragma GCC option): Document new pragma.
|
13211 |
|
|
(#pragma GCC optimize): Ditto.
|
13212 |
|
|
|
13213 |
|
|
* doc/options.texi (TargetSave): Document TargetSave syntax.
|
13214 |
|
|
(UInteger): Document UInteger must be used for certain flags.
|
13215 |
|
|
(Save): Document Save option to create target specific options
|
13216 |
|
|
that can be saved/restored on a function specific context.
|
13217 |
|
|
|
13218 |
|
|
* doc/c-tree.texi (DECL_FUNCTION_SPECIFIC_TARGET): Document new macro.
|
13219 |
|
|
(DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto.
|
13220 |
|
|
|
13221 |
|
|
* doc/tm.texi (TARGET_VALID_OPTION_ATTRIBUTE_P): Document new hook.
|
13222 |
|
|
(TARGET_OPTION_SAVE): Ditto.
|
13223 |
|
|
(TARGET_OPTION_RESTORE): Ditto.
|
13224 |
|
|
(TARGET_OPTION_PRINT): Ditto.
|
13225 |
|
|
(TARGET_OPTION_PRAGMA_PARSE): Ditto.
|
13226 |
|
|
(TARGET_CAN_INLINE_P): Ditto.
|
13227 |
|
|
|
13228 |
|
|
* doc/invoke.texi (-mfpmath=sse+387): Document as an alias for
|
13229 |
|
|
-mfpmath=sse,387.
|
13230 |
|
|
(-mfpmath=both): Ditto.
|
13231 |
|
|
|
13232 |
|
|
2008-07-23 Michael Meissner
|
13233 |
|
|
Karthik Kumar
|
13234 |
|
|
|
13235 |
|
|
* config/i386/i386.h (TARGET_ABM): Move switch into ix86_isa_flags.
|
13236 |
|
|
(TARGET_POPCNT): Ditto.
|
13237 |
|
|
(TARGET_SAHF): Ditto.
|
13238 |
|
|
(TARGET_AES): Ditto.
|
13239 |
|
|
(TARGET_PCLMUL): Ditto.
|
13240 |
|
|
(TARGET_CMPXCHG16B): Ditto.
|
13241 |
|
|
(TARGET_RECIP): Move switch into target_flags.
|
13242 |
|
|
(TARGET_FUSED_MADD): Ditto.
|
13243 |
|
|
(ix86_arch_features): Make an unsigned char type.
|
13244 |
|
|
(ix86_tune_features): Ditto.
|
13245 |
|
|
(OVERRIDE_OPTIONS): Add bool argument to override_options call.
|
13246 |
|
|
(TARGET_CPU_CPP_BUILTINS): Move into ix86_target_macros.
|
13247 |
|
|
(REGISTER_TARGET_PRAGMAS): Define, call ix86_register_pragmas.
|
13248 |
|
|
|
13249 |
|
|
* config/i386/i386.opt (arch): New TargetSave field to define
|
13250 |
|
|
fields that need to be saved for function specific option support.
|
13251 |
|
|
(tune): Ditto.
|
13252 |
|
|
(fpmath): Ditto.
|
13253 |
|
|
(branch_cost): Ditto.
|
13254 |
|
|
(ix86_isa_flags_explicit): Ditto.
|
13255 |
|
|
(tune_defaulted): Ditto.
|
13256 |
|
|
(arch_specified): Ditto.
|
13257 |
|
|
(-m128-long-double): Add Save flag to save option for target
|
13258 |
|
|
specific option support.
|
13259 |
|
|
(-m80387): Ditto.
|
13260 |
|
|
(-maccumulate-outgoing-args): Ditto.
|
13261 |
|
|
(-malign-double): Ditto.
|
13262 |
|
|
(-malign-stringops): Ditto.
|
13263 |
|
|
(-mfancy-math-387): Ditto.
|
13264 |
|
|
(-mhard-float): Ditto.
|
13265 |
|
|
(-mieee-fp): Ditto.
|
13266 |
|
|
(-minline-all-stringops): Ditto.
|
13267 |
|
|
(-minline-stringops-dynamically): Ditto.
|
13268 |
|
|
(-mms-bitfields): Ditto.
|
13269 |
|
|
(-mno-align-stringops): Ditto.
|
13270 |
|
|
(-mno-fancy-math-387): Ditto.
|
13271 |
|
|
(-mno-push-args): Ditto.
|
13272 |
|
|
(-mno-red-zone): Ditto.
|
13273 |
|
|
(-mpush-args): Ditto.
|
13274 |
|
|
(-mred-zone): Ditto.
|
13275 |
|
|
(-mrtd): Ditto.
|
13276 |
|
|
(-msseregparm): Ditto.
|
13277 |
|
|
(-mstack-arg-probe): Ditto.
|
13278 |
|
|
(-m32): Ditto.
|
13279 |
|
|
(-m64): Ditto.
|
13280 |
|
|
(-mmmx): Ditto.
|
13281 |
|
|
(-m3dnow): Ditto.
|
13282 |
|
|
(-m3dnowa): Ditto.
|
13283 |
|
|
(-msse): Ditto.
|
13284 |
|
|
(-msse2): Ditto.
|
13285 |
|
|
(-msse3): Ditto.
|
13286 |
|
|
(-msse4.1): Ditto.
|
13287 |
|
|
(-msse4.2): Ditto.
|
13288 |
|
|
(-msse4): Ditto.
|
13289 |
|
|
(-mno-sse4): Ditto.
|
13290 |
|
|
(-msse4a): Ditto.
|
13291 |
|
|
(-msse5): Ditto.
|
13292 |
|
|
(-mrecip): Move flag into target_flags.
|
13293 |
|
|
(-mcld): Ditto.
|
13294 |
|
|
(-mno-fused-madd): Ditto.
|
13295 |
|
|
(-mfused-madd): Ditto.
|
13296 |
|
|
(-mabm): Move flag into ix86_isa_flags.
|
13297 |
|
|
(-mcx16): Ditto.
|
13298 |
|
|
(-mpopcnt): Ditto.
|
13299 |
|
|
(-msahf): Ditto.
|
13300 |
|
|
(-maes): Ditto.
|
13301 |
|
|
(-mpclmul): Ditto.
|
13302 |
|
|
|
13303 |
|
|
* config/i386/i386-c.c: New file for #pragma support.
|
13304 |
|
|
(ix86_target_macros_internal): New function to #define or #undef
|
13305 |
|
|
target macros based when the user uses the #pragma GCC option to
|
13306 |
|
|
change target options.
|
13307 |
|
|
(ix86_pragma_option_parse): New function to add #pragma GCC option
|
13308 |
|
|
support.
|
13309 |
|
|
(ix86_target_macros): Move defining the target macros here from
|
13310 |
|
|
TARGET_CPU_CPP_BUILTINS in i386.h.
|
13311 |
|
|
(ix86_register_pragmas): Register the #pragma GCC option hook. If
|
13312 |
|
|
defined, initialize any subtarget #pragmas.
|
13313 |
|
|
|
13314 |
|
|
* config/i386/darwin.h (REGISTER_SUBTARGET_PRAGMAS): Rename from
|
13315 |
|
|
REGISTER_TARGET_PRAGMAS.
|
13316 |
|
|
|
13317 |
|
|
* config/i386/t-i386: New file for x86 dependencies.
|
13318 |
|
|
(i386.o): Make dependencies mirror the include files used.
|
13319 |
|
|
(i386-c.o): New file, add dependencies.
|
13320 |
|
|
|
13321 |
|
|
* config/i386/i386-protos.h (override_options): Add bool argument.
|
13322 |
|
|
(ix86_valid_option_attribute_tree): Add declaration.
|
13323 |
|
|
(ix86_target_macros): Ditto.
|
13324 |
|
|
(ix86_register_macros): Ditto.
|
13325 |
|
|
|
13326 |
|
|
* config/i386/i386.c (ix86_tune_features): Move initialization of
|
13327 |
|
|
the target masks to initial_ix86_tune_features to allow functions
|
13328 |
|
|
to have different target options. Make type unsigned char,
|
13329 |
|
|
instead of unsigned int.
|
13330 |
|
|
(initial_ix86_tune_features): New static vector to hold processor
|
13331 |
|
|
masks for the tune variables.
|
13332 |
|
|
(ix86_arch_features): Move initialization of the target masks to
|
13333 |
|
|
initial_ix86_arch_features to allow functions to have different
|
13334 |
|
|
target options. Make type unsigned char, instead of unsigned int.
|
13335 |
|
|
(initial_ix86_arch_features): New static vector to hold processor
|
13336 |
|
|
masks for the arch variables.
|
13337 |
|
|
(enum ix86_function_specific_strings): New enum to describe the
|
13338 |
|
|
string options used for attribute((option(...))).
|
13339 |
|
|
(ix86_target_string): New function to return a string that
|
13340 |
|
|
describes the target options.
|
13341 |
|
|
(ix86_debug_options): New function to print the current options in
|
13342 |
|
|
the debugger.
|
13343 |
|
|
(ix86_function_specific_save): New function hook to save the
|
13344 |
|
|
function specific global variables in the cl_target_option structure.
|
13345 |
|
|
(ix86_function_specific_restore): New function hook to restore the
|
13346 |
|
|
function specific variables from the cl_target_option structure to
|
13347 |
|
|
the global variables.
|
13348 |
|
|
(ix86_function_specific_print): New function hook to print the
|
13349 |
|
|
target specific options in the cl_target_option structure.
|
13350 |
|
|
(ix86_valid_option_attribute_p): New function hook to validate
|
13351 |
|
|
attribute((option(...))) arguments.
|
13352 |
|
|
(ix86_valid_option_attribute_tree): New function that is common
|
13353 |
|
|
code between attribute((option(...))) and #pragma GCC option
|
13354 |
|
|
support that parses the options and returns a tree holding the options.
|
13355 |
|
|
(ix86_valid_option_attribute_inner_p): New helper function for
|
13356 |
|
|
ix86_valid_option_attribute_tree.
|
13357 |
|
|
(ix86_can_inline_p): New function hook to decide if one function
|
13358 |
|
|
can inline another on a target specific basis.
|
13359 |
|
|
(ix86_set_current_function); New function hook to switch target
|
13360 |
|
|
options if the user used attribute((option(...))) or #pragma GCC
|
13361 |
|
|
option.
|
13362 |
|
|
(ix86_tune_defaulted): Move to static file scope from
|
13363 |
|
|
override_options.
|
13364 |
|
|
(ix86_arch_specified): Ditto.
|
13365 |
|
|
(OPTION_MASK_ISA_AES_SET): New macro for moving switches into
|
13366 |
|
|
ix86_isa_flags.
|
13367 |
|
|
(OPTION_MASK_ISA_PCLMUL_SET): Ditto.
|
13368 |
|
|
(OPTION_MASK_ISA_ABM_SET): Ditto.
|
13369 |
|
|
(OPTION_MASK_ISA_POPCNT_SET): Ditto.
|
13370 |
|
|
(OPTION_MASK_ISA_CX16_SET): Ditto.
|
13371 |
|
|
(OPTION_MASK_ISA_SAHF_SET): Ditto.
|
13372 |
|
|
(OPTION_MASK_ISA_AES_UNSET): Ditto.
|
13373 |
|
|
(OPTION_MASK_ISA_PCLMUL_UNSET): Ditto.
|
13374 |
|
|
(OPTION_MASK_ISA_ABM_UNSET): Ditto.
|
13375 |
|
|
(OPTION_MASK_ISA_POPCNT_UNSET): Ditto.
|
13376 |
|
|
(OPTION_MASK_ISA_CX16_UNSET): Ditto.
|
13377 |
|
|
(OPTION_MASK_ISA_SAHF_UNSET): Ditto.
|
13378 |
|
|
(struct ptt): Move to static file scope from override_options.
|
13379 |
|
|
(processor_target_table): Ditto.
|
13380 |
|
|
(cpu_names): Ditto.
|
13381 |
|
|
(ix86_handle_option): Add support for options that are now isa options.
|
13382 |
|
|
(override_options): Add support for declaring functions that
|
13383 |
|
|
support different target options than were specified on the
|
13384 |
|
|
command line. Move struct ptt, processor_target_table, cpu_names,
|
13385 |
|
|
ix86_tune_defaulted, ix86_arch_specified to static file scope.
|
13386 |
|
|
Add bool argument. Fix up error messages so the appropriate error
|
13387 |
|
|
is given for either command line or attribute.
|
13388 |
|
|
(ix86_previous_fndecl): New static to remember previous function
|
13389 |
|
|
declaration to see if we need to change target options.
|
13390 |
|
|
(ix86_builtins_isa): New array to record the ISA of each builtin
|
13391 |
|
|
function.
|
13392 |
|
|
(def_builtin): Always create the builtin function, even if the
|
13393 |
|
|
current ISA doesn't support it.
|
13394 |
|
|
(ix86_init_mmx_sse_builtins): Remove TARGET_AES and TARGET_PCLMUL
|
13395 |
|
|
tests for those builtins.
|
13396 |
|
|
(ix86_init_builtins): Remove TARGET_MMX test for calling
|
13397 |
|
|
ix86_init_mmx_sse_builtins.
|
13398 |
|
|
(ix86_expand_builtin): If the current ISA doesn't support a given
|
13399 |
|
|
builtin, signal an error.
|
13400 |
|
|
(TARGET_VALID_OPTION_ATTRIBUTE_P): Set target hook.
|
13401 |
|
|
(TARGET_SET_CURRENT_FUNCTION): Ditto.
|
13402 |
|
|
(TARGET_OPTION_SAVE): Ditto.
|
13403 |
|
|
(TARGET_OPTION_RESTORE): Ditto.
|
13404 |
|
|
(TARGET_OPTION_PRINT): Ditto.
|
13405 |
|
|
(TARGET_CAN_INLINE_P): Ditto.
|
13406 |
|
|
|
13407 |
|
|
2008-07-22 Rafael Ávila de Espíndola
|
13408 |
|
|
|
13409 |
|
|
* c-typeck.c (build_external_ref): Don't call assemble_external.
|
13410 |
|
|
* final.c (output_operand): Call assemble_external.
|
13411 |
|
|
|
13412 |
|
|
2008-07-21 DJ Delorie
|
13413 |
|
|
|
13414 |
|
|
* config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.
|
13415 |
|
|
(TARGET_HARD_REGNO_SCRATCH_OK): Define.
|
13416 |
|
|
|
13417 |
|
|
2008-07-21 Ulrich Weigand
|
13418 |
|
|
|
13419 |
|
|
* config/spu/spu.md ("div3"): Convert into expander, move
|
13420 |
|
|
original insn and splitter contents into ...
|
13421 |
|
|
("*div3_fast"): ... this new pattern. Enable only if
|
13422 |
|
|
flag_unsafe_math_optimizations. Add dummy scratch register.
|
13423 |
|
|
("*div3_adjusted"): New insn and splitter. Enable only if
|
13424 |
|
|
!flag_unsafe_math_optimizations. Returns number with next
|
13425 |
|
|
highest magnitude if this is still less or equal to the true
|
13426 |
|
|
quotient in magnitude.
|
13427 |
|
|
|
13428 |
|
|
2008-07-21 Rafael Ávila de Espíndola
|
13429 |
|
|
|
13430 |
|
|
* Makefile.in: Replace toplev.h with TOPLEV_H.
|
13431 |
|
|
* c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
|
13432 |
|
|
* c-lex.c (fe_file_change): Don't set in_system_header.
|
13433 |
|
|
* c-parser.c (c_token): Remove in_system_header.
|
13434 |
|
|
(c_lex_one_token): Don't set in_system_header.
|
13435 |
|
|
(c_parser_set_source_position_from_token): Don't set in_system_header.
|
13436 |
|
|
* diagnostic.c (diagnostic_report_diagnostic): Use location from
|
13437 |
|
|
diagnostic_info.
|
13438 |
|
|
(warning_at): New.
|
13439 |
|
|
* diagnostic.h (diagnostic_report_warnings_p): Add LOC argument.
|
13440 |
|
|
* flags.h (in_system_header): Remove.
|
13441 |
|
|
* function.c (saved_in_system_header): Remove.
|
13442 |
|
|
(push_cfun): Don't set in_system_header.
|
13443 |
|
|
(pop_cfun): Don't set in_system_header.
|
13444 |
|
|
(push_struct_function): Don't set in_system_header.
|
13445 |
|
|
* input.h (expanded_location): Add sysp.
|
13446 |
|
|
(in_system_header_at): New.
|
13447 |
|
|
(in_system_header): New.
|
13448 |
|
|
* toplev.c (in_system_header): Remove.
|
13449 |
|
|
* toplev.h: Include input.h
|
13450 |
|
|
(warning_at): New.
|
13451 |
|
|
* tree-cfg.c (execute_warn_function_return): Call warning_at.
|
13452 |
|
|
* tree-ssa.c (warn_uninit): Call warning_at.
|
13453 |
|
|
(warn_uninitialized_var): Update calls to warn_uninit.
|
13454 |
|
|
(warn_uninitialized_phi): Update calls to warn_uninit.
|
13455 |
|
|
* tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER.
|
13456 |
|
|
(expand_location): Initialize xloc.sysp.
|
13457 |
|
|
* tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at.
|
13458 |
|
|
(tree_decl_with_vis): Remove in_system_header_flag.
|
13459 |
|
|
|
13460 |
|
|
2008-07-21 Andreas Krebbel
|
13461 |
|
|
|
13462 |
|
|
PR target/36822
|
13463 |
|
|
* recog.c (asm_operand_ok): Change the order of the extra
|
13464 |
|
|
memory constraint checks.
|
13465 |
|
|
|
13466 |
|
|
2008-07-20 Andrew Pinski
|
13467 |
|
|
|
13468 |
|
|
PR tree-opt/36879
|
13469 |
|
|
* tree-switch-conversion.c (build_one_array): Call
|
13470 |
|
|
varpool_mark_needed_node and varpool_finalize_decl
|
13471 |
|
|
instead of assemble_variable.
|
13472 |
|
|
|
13473 |
|
|
2008-07-19 Jan Hubicka
|
13474 |
|
|
|
13475 |
|
|
* cgraph.c (cgraph_add_new_function): Do early local passes.
|
13476 |
|
|
* tree-nrv.c (gate_pass_return_slot): New gate.
|
13477 |
|
|
(pass_nrv): Add the gate.
|
13478 |
|
|
* tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New
|
13479 |
|
|
functions.
|
13480 |
|
|
(coalesce_ssa_name): Coalesce SSA names.
|
13481 |
|
|
* tree-ssa-live.c (remove_unused_locals): Be more conservative when
|
13482 |
|
|
not optimizing so unused user vars remains visible.
|
13483 |
|
|
* common.opt (flag_tree_ter): Always enable by default.
|
13484 |
|
|
* tree-ssa-ter.c: Include flags.h
|
13485 |
|
|
(is_replaceable_p): Check that locations match; when aliasing
|
13486 |
|
|
is missing be conservative about loads.
|
13487 |
|
|
* tree-optimize.c (gate_init_datastructures): Remove.
|
13488 |
|
|
(pass_init_datastructures): New.
|
13489 |
|
|
* passes.c: Reorder passes so we always go into SSA.
|
13490 |
|
|
|
13491 |
|
|
2008-07-19 Jan Hubicka
|
13492 |
|
|
|
13493 |
|
|
* doc/extend.texi (flatten attribute): Remove note about
|
13494 |
|
|
unit-at-a-time.
|
13495 |
|
|
* doc/invoke.texi (--combine): Likewise.
|
13496 |
|
|
(-finline-functions-called-once): Update levels when enabled.
|
13497 |
|
|
(-funit-at-a-time): Document new behaviour.
|
13498 |
|
|
(-ftoplevel-reorder): Document that it is enabled -O0 and imply
|
13499 |
|
|
-fno-section-anchors when disabled explicitly.
|
13500 |
|
|
(inline params): They are not ignored now.
|
13501 |
|
|
(precompiled headers): Remove unit-at-a-time as being incompatible.
|
13502 |
|
|
* opts.c (decode_options): Handle unit-at-a-time as alias;
|
13503 |
|
|
imply -fno-section-anchors when toplevel reorder is disabled
|
13504 |
|
|
explicitly.
|
13505 |
|
|
* common.opt (ftoplevel-reorder): Set default value to 2.
|
13506 |
|
|
(funit-at-a-time): Set default value to 1.
|
13507 |
|
|
* config/rs6000/rs6000.c (optimization_options): Set section anchors
|
13508 |
|
|
to 2.
|
13509 |
|
|
|
13510 |
|
|
2008-07-19 Jan Hubicka
|
13511 |
|
|
|
13512 |
|
|
* builtins.c (expand_builtin_int_roundingfn,
|
13513 |
|
|
expand_builtin_int_roundingfn_2): Do not take subtarget argument;
|
13514 |
|
|
it is not useful.
|
13515 |
|
|
|
13516 |
|
|
2008-07-19 Richard Guenther
|
13517 |
|
|
|
13518 |
|
|
PR bootstrap/36864
|
13519 |
|
|
* tree-ssa-sccvn.h (get_constant_value_id): Declare.
|
13520 |
|
|
* tree-ssa-sccvn.c (get_constant_value_id): New function.
|
13521 |
|
|
* tree-ssa-pre.c (get_expr_value_id): For newly created
|
13522 |
|
|
constant value-ids make sure to add the expression to its
|
13523 |
|
|
expression-set.
|
13524 |
|
|
|
13525 |
|
|
2008-07-19 Jakub Jelinek
|
13526 |
|
|
|
13527 |
|
|
PR middle-end/36877
|
13528 |
|
|
* omp-low.c (expand_omp_atomic_fetch_op): Make sure the
|
13529 |
|
|
return value of the builtin is ignored.
|
13530 |
|
|
|
13531 |
|
|
2008-07-19 Olivier Hainque
|
13532 |
|
|
|
13533 |
|
|
* doc/tm.texi (MALLOC_ABI_ALIGNMENT): New macro. Alignment, in
|
13534 |
|
|
bits, a C conformant malloc implementation has to provide.
|
13535 |
|
|
* defaults.h (MALLOC_ABI_ALIGNMENT): Default to BITS_PER_WORD.
|
13536 |
|
|
|
13537 |
|
|
2008-07-19 Joseph Myers
|
13538 |
|
|
|
13539 |
|
|
PR target/36780
|
13540 |
|
|
PR target/36827
|
13541 |
|
|
* reload.c (find_reloads_subreg_address): Only reload address if
|
13542 |
|
|
reloaded == 0, not for reloaded != 1.
|
13543 |
|
|
|
13544 |
|
|
Revert:
|
13545 |
|
|
2008-07-16 Joseph Myers
|
13546 |
|
|
* config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
|
13547 |
|
|
(m32c_legitimate_address_p): Handle "++rii" addresses created by
|
13548 |
|
|
m32c_legitimize_reload_address.
|
13549 |
|
|
|
13550 |
|
|
2008-07-15 Kaz Kojima
|
13551 |
|
|
* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
|
13552 |
|
|
(plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
|
13553 |
|
|
|
13554 |
|
|
2008-07-19 Olivier Hainque
|
13555 |
|
|
|
13556 |
|
|
* dwarf2out.c (add_subscript_info): New explicit COLLAPSE_P
|
13557 |
|
|
argument, saying whether nested array are to be collapsed
|
13558 |
|
|
into a single array type DIE with multiple subscripts.
|
13559 |
|
|
(gen_array_type_die): Factorize comments about the MIPS_DEBUG_INFO
|
13560 |
|
|
issues, centralize the nested array types collapsing control and
|
13561 |
|
|
disable the transformation for Ada.
|
13562 |
|
|
|
13563 |
|
|
2008-07-18 Uros Bizjak
|
13564 |
|
|
|
13565 |
|
|
PR target/36786
|
13566 |
|
|
* config/i386/i386.md (x86_64_shift_adj_1): Rename from
|
13567 |
|
|
x86_64_shift_adj.
|
13568 |
|
|
(x86_64_shift_adj_2): New expander.
|
13569 |
|
|
(x86_64_shift_adj_3): Ditto.
|
13570 |
|
|
* config/i386/i386.c (ix86_split_ashr): Use gen_x86_64_shift_adj_3
|
13571 |
|
|
to split TImode operands.
|
13572 |
|
|
(ix86_split_ashl): Use gen_x86_64_shift_adj_2 to split TImode operands.
|
13573 |
|
|
(ix86_split_lshr): Ditto.
|
13574 |
|
|
|
13575 |
|
|
2008-07-18 Kris Van Hees
|
13576 |
|
|
|
13577 |
|
|
* c-common.c (c_stddef_cpp_builtins): Define __CHAR16_TYPE__
|
13578 |
|
|
and __CHAR32_TYPE__.
|
13579 |
|
|
* c-typeck.c (digest_init): Support char16_t and char32_t.
|
13580 |
|
|
(set_nonincremental_init_from_string): Idem.
|
13581 |
|
|
|
13582 |
|
|
2008-07-18 H.J. Lu
|
13583 |
|
|
|
13584 |
|
|
PR middle-end/36859
|
13585 |
|
|
* builtins.c (std_gimplify_va_arg_expr): Limit alignment to
|
13586 |
|
|
PREFERRED_STACK_BOUNDARY.
|
13587 |
|
|
* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
|
13588 |
|
|
|
13589 |
|
|
2008-07-18 H.J. Lu
|
13590 |
|
|
|
13591 |
|
|
PR middle-end/36858
|
13592 |
|
|
* function.c (locate_and_pad_parm): Cap boundary earlier.
|
13593 |
|
|
|
13594 |
|
|
2008-07-17 Julian Brown
|
13595 |
|
|
|
13596 |
|
|
* config/arm/arm.c (arm_cxx_determine_class_data_visibility): Make
|
13597 |
|
|
no-op for targets which don't use DLLs.
|
13598 |
|
|
|
13599 |
|
|
2008-07-17 Martin Jambor
|
13600 |
|
|
|
13601 |
|
|
* ipa-cp.c (ipcp_print_all_lattices): New variable info, check
|
13602 |
|
|
that nodes are relevant by examining the node->analyzed flag.
|
13603 |
|
|
(ipcp_init_stage): Check which nodes are relevant, assert that the
|
13604 |
|
|
relevant ones are also required.
|
13605 |
|
|
(ipcp_propagate_stage): Check on the side arrays are properly
|
13606 |
|
|
allocated.
|
13607 |
|
|
(ipcp_print_all_jump_functions): Make sure not to touch any node
|
13608 |
|
|
that is not analyzed or an edge that does not have a corresponding
|
13609 |
|
|
entry in the on-the-side vectors.
|
13610 |
|
|
(ipcp_function_scale_print): Likewise.
|
13611 |
|
|
(ipcp_update_callgraph): Check that the node is relevant.
|
13612 |
|
|
(ipcp_insert_stage): Check that the node is relevant. Check there is
|
13613 |
|
|
an info for every node and edge.
|
13614 |
|
|
* ipa-prop.c (ipa_init_func_list): Check the nodes are relevant.
|
13615 |
|
|
(ipa_print_all_tree_maps): Likewise and a new variable info.
|
13616 |
|
|
(ipa_print_all_params_modified): Likewise.
|
13617 |
|
|
* ipa-prop.h (ipa_edge_args_info_available_for_edge_p): New function.
|
13618 |
|
|
|
13619 |
|
|
2008-07-17 Roman Zippel
|
13620 |
|
|
|
13621 |
|
|
PR target/25343
|
13622 |
|
|
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
|
13623 |
|
|
|
13624 |
|
|
2008-07-17 Paolo Bonzini
|
13625 |
|
|
|
13626 |
|
|
PR rtl-optimization/36753
|
13627 |
|
|
* fwprop.c (use_killed_between): Don't shortcut
|
13628 |
|
|
single-definition global registers.
|
13629 |
|
|
|
13630 |
|
|
2008-07-16 Jan Hubicka
|
13631 |
|
|
|
13632 |
|
|
* cgraph.h (varpool_empty_needed_queue): Declare.
|
13633 |
|
|
* cgraphunit.c (output_in_order): Mark all variables as needed;
|
13634 |
|
|
empty the queue.
|
13635 |
|
|
* varpool.c (varpool_assemble_node): Update debug queue.
|
13636 |
|
|
(varpool_assemble_pending_decls): Don't do it here.
|
13637 |
|
|
(varpool_empty_needed_queue): New function.
|
13638 |
|
|
|
13639 |
|
|
2008-07-16 Kaveh R. Ghazi
|
13640 |
|
|
|
13641 |
|
|
* recog.c (peephole2_optimize): Fix formatting.
|
13642 |
|
|
|
13643 |
|
|
2008-07-16 Kaveh R. Ghazi
|
13644 |
|
|
|
13645 |
|
|
* c-pch.c (get_ident): Avoid C++ keywords.
|
13646 |
|
|
* combine-stack-adj.c (single_set_for_csa): Likewise.
|
13647 |
|
|
* final.c (asm_insn_count, final_scan_insn, alter_subreg,
|
13648 |
|
|
output_asm_insn): Likewise.
|
13649 |
|
|
* reload.c (push_secondary_reload, find_reusable_reload,
|
13650 |
|
|
push_reload, combine_reloads, find_reloads,
|
13651 |
|
|
debug_reload_to_stream): Likewise.
|
13652 |
|
|
* reload.h (struct reload): Likewise.
|
13653 |
|
|
* reload1.c (reload_reg_class_lower, find_reg, find_reload_regs,
|
13654 |
|
|
allocate_reload_reg, choose_reload_regs, emit_input_reload_insns,
|
13655 |
|
|
emit_output_reload_insns): Likewise.
|
13656 |
|
|
* targhooks.c (default_secondary_reload): Likewise.
|
13657 |
|
|
* varasm.c (section_entry_eq, object_block_entry_eq): Likewise.
|
13658 |
|
|
|
13659 |
|
|
2008-07-16 Kaveh R. Ghazi
|
13660 |
|
|
|
13661 |
|
|
* recog.c (validate_change_1, validate_change,
|
13662 |
|
|
validate_unshare_change, validate_replace_rtx_1, struct
|
13663 |
|
|
funny_match, constrain_operands, peephole2_optimize): Avoid C++
|
13664 |
|
|
keywords.
|
13665 |
|
|
* reload.c (push_secondary_reload, secondary_reload_class,
|
13666 |
|
|
scratch_reload_class, find_valid_class, find_reusable_reload,
|
13667 |
|
|
push_reload, find_dummy_reload, find_reloads_address_1,
|
13668 |
|
|
find_reloads_address_part, find_equiv_reg): Likewise.
|
13669 |
|
|
* reload1.c (spill_failure, eliminate_regs_1, allocate_reload_reg,
|
13670 |
|
|
choose_reload_regs): Likewise.
|
13671 |
|
|
* rtlanal.c (replace_rtx, nonzero_bits1, num_sign_bit_copies1):
|
13672 |
|
|
Likewise.
|
13673 |
|
|
* rtlhooks.c (gen_lowpart_if_possible): Likewise.
|
13674 |
|
|
* sched-ebb.c (add_deps_for_risky_insns): Likewise.
|
13675 |
|
|
* sched-rgn.c (concat_INSN_LIST): Likewise.
|
13676 |
|
|
* stor-layout.c (mode_for_size, mode_for_size_tree,
|
13677 |
|
|
smallest_mode_for_size): Likewise.
|
13678 |
|
|
|
13679 |
|
|
2008-07-16 Kaveh R. Ghazi
|
13680 |
|
|
|
13681 |
|
|
* cfg.c (dump_reg_info): Avoid C++ keywords.
|
13682 |
|
|
* dwarf2asm.c (dw2_force_const_mem,
|
13683 |
|
|
dw2_asm_output_encoded_addr_rtx): Likewise.
|
13684 |
|
|
* except.c (gen_eh_region, add_action_record, output_ttype): Likewise.
|
13685 |
|
|
* expmed.c (expand_shift): Likewise.
|
13686 |
|
|
* global.c (find_reg): Likewise.
|
13687 |
|
|
* graph.c (draw_edge): Likewise.
|
13688 |
|
|
* local-alloc.c (reg_meets_class_p, find_free_reg): Likewise.
|
13689 |
|
|
* optabs.c (expand_binop, expand_twoval_unop, expand_twoval_binop,
|
13690 |
|
|
widen_clz, widen_bswap, expand_parity, expand_unop,
|
13691 |
|
|
emit_cmp_and_jump_insn_1): Likewise.
|
13692 |
|
|
* postreload.c (reload_cse_simplify_operands): Likewise.
|
13693 |
|
|
* ra.h (add_neighbor): Likewise.
|
13694 |
|
|
* reg-stack.c (remove_regno_note, change_stack): Likewise.
|
13695 |
|
|
* regclass.c (memory_move_secondary_cost, dump_regclass, regclass,
|
13696 |
|
|
record_reg_classes, copy_cost, record_address_regs,
|
13697 |
|
|
invalid_mode_change_p): Likewise.
|
13698 |
|
|
* regrename.c (regrename_optimize, scan_rtx_reg,
|
13699 |
|
|
dump_def_use_chain, find_oldest_value_reg,
|
13700 |
|
|
replace_oldest_value_reg, copyprop_hardreg_forward_1): Likewise.
|
13701 |
|
|
|
13702 |
|
|
2008-07-16 David Edelsohn
|
13703 |
|
|
|
13704 |
|
|
* config/rs6000/rs6000.c (processor_target_table): Remove duplicate
|
13705 |
|
|
MASK_POWERPC64 for power4 in previous commit.
|
13706 |
|
|
|
13707 |
|
|
2008-07-16 Olivier Hainque
|
13708 |
|
|
|
13709 |
|
|
* collect2.c (scan_prog_file, COFF version): Use CONST_CAST
|
13710 |
|
|
instead of bare conversion to cast const-ness away.
|
13711 |
|
|
|
13712 |
|
|
2008-07-16 Anatoly Sokolov
|
13713 |
|
|
|
13714 |
|
|
* config/xtensa/xtensa.h (FUNCTION_OUTGOING_VALUE,
|
13715 |
|
|
XTENSA_FUNCTION_VALUE, XTENSA_FUNCTION_VALUE): Remove.
|
13716 |
|
|
* config/xtensa/xtensa.c (xtensa_function_value): New function.
|
13717 |
|
|
(TARGET_FUNCTION_VALUE): Define.
|
13718 |
|
|
|
13719 |
|
|
2008-07-16 David Edelsohn
|
13720 |
|
|
|
13721 |
|
|
* config/rs6000/rs6000.c (processor_target_table): Add
|
13722 |
|
|
MASK_PPC_GPOPT for power4, power5, power5+, power6, and power6x.
|
13723 |
|
|
|
13724 |
|
|
2008-07-16 Joseph Myers
|
13725 |
|
|
|
13726 |
|
|
PR target/36827
|
13727 |
|
|
* config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
|
13728 |
|
|
(m32c_legitimate_address_p): Handle "++rii" addresses created by
|
13729 |
|
|
m32c_legitimize_reload_address.
|
13730 |
|
|
|
13731 |
|
|
2008-07-16 Rafael Ávila de Espíndola
|
13732 |
|
|
|
13733 |
|
|
* c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and
|
13734 |
|
|
DECL_IN_SYSTEM_HEADER in sync.
|
13735 |
|
|
|
13736 |
|
|
2008-07-15 Daniel Berlin
|
13737 |
|
|
|
13738 |
|
|
* tree-ssa-sccvn.c (expressions_equal_p): Check type equality.
|
13739 |
|
|
* tree-ssa-pre.c (pre_expr_eq): Ditto
|
13740 |
|
|
(get_constant_for_value_id): Take a type as an argument.
|
13741 |
|
|
(fully_constant_expression): Pass in type.
|
13742 |
|
|
(find_or_generate_expression): Short circuit constant case.
|
13743 |
|
|
(create_expression_by_pieces): Remove special casing of
|
13744 |
|
|
pointer_plus.
|
13745 |
|
|
(do_regular_insertion): Short circuit constant case.
|
13746 |
|
|
(do_partial_partial_insertion): Ditto.
|
13747 |
|
|
|
13748 |
|
|
2008-07-15 Kaz Kojima
|
13749 |
|
|
|
13750 |
|
|
PR target/36782
|
13751 |
|
|
* config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note.
|
13752 |
|
|
|
13753 |
|
|
2008-07-15 Bob Wilson
|
13754 |
|
|
|
13755 |
|
|
* config/xtensa/libgcc-xtensa.ver: New file.
|
13756 |
|
|
* config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver.
|
13757 |
|
|
|
13758 |
|
|
2008-07-15 Kaveh R. Ghazi
|
13759 |
|
|
|
13760 |
|
|
* df-problems.c (df_set_note): Avoid C++ keywords.
|
13761 |
|
|
* df-scan.c (df_ref_change_reg_with_loc_1): Likewise.
|
13762 |
|
|
* dse.c (record_store, remove_useless_values): Likewise.
|
13763 |
|
|
* emit-rtl.c (gen_reg_rtx, update_reg_offset, gen_rtx_REG_offset,
|
13764 |
|
|
gen_reg_rtx_offset, operand_subword, change_address_1,
|
13765 |
|
|
change_address, adjust_address_1, offset_address,
|
13766 |
|
|
widen_memory_access, emit_copy_of_insn_after): Likewise.
|
13767 |
|
|
* explow.c (round_push, allocate_dynamic_stack_space): Likewise.
|
13768 |
|
|
* fwprop.c (should_replace_address, propagate_rtx_1,
|
13769 |
|
|
propagate_rtx, try_fwprop_subst, forward_propagate_and_simplify):
|
13770 |
|
|
Likewise.
|
13771 |
|
|
* gcse.c (cprop_jump, find_implicit_sets, bypass_block,
|
13772 |
|
|
gcse_emit_move_after, update_ld_motion_stores): Likewise.
|
13773 |
|
|
* lcm.c (compute_insert_delete, pre_edge_lcm,
|
13774 |
|
|
compute_rev_insert_delete, pre_edge_rev_lcm): Likewise.
|
13775 |
|
|
* lower-subreg.c (resolve_reg_notes): Likewise.
|
13776 |
|
|
* mode-switching.c (optimize_mode_switching): Likewise.
|
13777 |
|
|
|
13778 |
|
|
2008-07-15 Kaveh R. Ghazi
|
13779 |
|
|
|
13780 |
|
|
* bt-load.c (add_btr_def, migrate_btr_def,
|
13781 |
|
|
branch_target_load_optimize): Avoid C++ keywords.
|
13782 |
|
|
* caller-save.c (insert_restore, insert_save, insert_one_insn):
|
13783 |
|
|
Likewise.
|
13784 |
|
|
* combine.c (subst, simplify_set, make_extraction,
|
13785 |
|
|
make_compound_operation, known_cond, simplify_shift_const_1): Likewise.
|
13786 |
|
|
* cse.c (make_regs_eqv, merge_equiv_classes, validate_canon_reg,
|
13787 |
|
|
fold_rtx, equiv_constant, cse_insn, cse_process_notes_1): Likewise.
|
13788 |
|
|
|
13789 |
|
|
2008-07-15 Richard Guenther
|
13790 |
|
|
|
13791 |
|
|
PR middle-end/36369
|
13792 |
|
|
* c-common.c (strict_aliasing_warning): Do not warn for
|
13793 |
|
|
TYPE_REF_CAN_ALIAS_ALL pointers.
|
13794 |
|
|
(c_common_get_alias_set): may_alias types are not special.
|
13795 |
|
|
* tree.c (build_pointer_type_for_mode): Look up the may_alias
|
13796 |
|
|
attribute and set can_ref_all accordingly.
|
13797 |
|
|
(build_reference_type_for_mode): Likewise.
|
13798 |
|
|
* doc/extend.texi (may_alias): Clarify.
|
13799 |
|
|
|
13800 |
|
|
2008-07-15 Kaz Kojima
|
13801 |
|
|
|
13802 |
|
|
PR target/36780
|
13803 |
|
|
* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
|
13804 |
|
|
(plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
|
13805 |
|
|
|
13806 |
|
|
2008-07-15 Andrew Pinski
|
13807 |
|
|
|
13808 |
|
|
PR target/31568
|
13809 |
|
|
* config/rs6000/rs6000.c (print_operand ): Don't use
|
13810 |
|
|
gcc_assert, instead call output_operand_lossage.
|
13811 |
|
|
|
13812 |
|
|
2008-07-15 Kai Tietz
|
13813 |
|
|
|
13814 |
|
|
* builtins.c (std_canonical_va_list): Treat structure based
|
13815 |
|
|
va_list types.
|
13816 |
|
|
|
13817 |
|
|
2008-07-15 Ben Elliston
|
13818 |
|
|
|
13819 |
|
|
* emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment.
|
13820 |
|
|
|
13821 |
|
|
2008-07-14 Rafael Ávila de Espíndola
|
13822 |
|
|
|
13823 |
|
|
* c-decl.c (diagnose_mismatched_decls): Don't warn if TREE_NO_WARNING
|
13824 |
|
|
is set.
|
13825 |
|
|
|
13826 |
|
|
2008-07-14 Jan Hubicka
|
13827 |
|
|
|
13828 |
|
|
* i386.md (sse5 cmov pattern): Update call of ix86_sse5_valid_op_p
|
13829 |
|
|
* sse.md (sse5 patterns): Update call of ix86_sse5_valid_op_p;
|
13830 |
|
|
fix predicates and constraints.
|
13831 |
|
|
* i386.c (ix86_sse5_valid_op_p): Add commutative parameter.
|
13832 |
|
|
* i386-protos.h (ix86_sse5_valid_op_p): Update declaration.
|
13833 |
|
|
|
13834 |
|
|
2008-07-14 Doug Kwan
|
13835 |
|
|
|
13836 |
|
|
* config.gcc (arm*-*-eabi*): Include arm/eabi.h and use
|
13837 |
|
|
additional option file arm/eabi.opt.
|
13838 |
|
|
* config/arm/eabi.h (File): New configuration file for EABI targets.
|
13839 |
|
|
* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
|
13840 |
|
|
SUBSUBTARGET_EXTRA_SPECS.
|
13841 |
|
|
(SUBSUBTARGET_EXTRA_SPECS): Provide empty default.
|
13842 |
|
|
* config/arm/unknown-elf.h (UNKNOWN_ELF_STARTFILE_SPEC): Renamed
|
13843 |
|
|
from STARTFILE_SPEC so that it can be referenced in an override.
|
13844 |
|
|
(STARTFILE_SPEC): Use UNKNOWN_ELF_STARTFILE_SPEC.
|
13845 |
|
|
(UNKNOWN_ELF_ENDFILE_SPEC): Renamed from ENDFILE_SPEC so that it
|
13846 |
|
|
can be referenced in an override.
|
13847 |
|
|
(ENDFILE_SPEC): Use UNKNOWN_ELF_ENDFILE_SPEC.
|
13848 |
|
|
* config/arm/bpabi.h (BPABI_LINK_SPEC): Renamed from LINK_SPEC
|
13849 |
|
|
so that it can be referenced in an override.
|
13850 |
|
|
(LINK_SPEC): Use BPABI_LINK_SPEC.
|
13851 |
|
|
* config/arm/eabi.opt (File): New.
|
13852 |
|
|
|
13853 |
|
|
2008-07-14 Ralf Wildenhues
|
13854 |
|
|
|
13855 |
|
|
* Makefile.in (TARGET_DEF_H): Add targhooks.h.
|
13856 |
|
|
(FIXED_VALUE_H): New variable.
|
13857 |
|
|
(RTL_BASE_H): Use $(INPUT_H) and $(FIXED_VALUE_H) instead of
|
13858 |
|
|
input.h, fixed-value.h.
|
13859 |
|
|
(TREE_H): Use $(INPUT_H), add $(SYMTAB_H).
|
13860 |
|
|
(BASIC_BLOCK_H): Use $(BITMAP_H).
|
13861 |
|
|
(FUNCTION_H): Add varray.h.
|
13862 |
|
|
(IPA_REFERENCE_H): Use $(BITMAP_H).
|
13863 |
|
|
(CGRAPH_H): Add $(BASIC_BLOCK_H).
|
13864 |
|
|
(DF_H): Use $(BITMAP_H).
|
13865 |
|
|
(GGC_H): Add statistics.h.
|
13866 |
|
|
(INSN_ADDR_H): New.
|
13867 |
|
|
(INSN_ATTR_H): Use it.
|
13868 |
|
|
(SYSTEM_H): Add safe-ctype.h, filenames.h.
|
13869 |
|
|
(INPUT_H): New.
|
13870 |
|
|
(SYMTAB_H): Add $(OBSTACK_H).
|
13871 |
|
|
(CPP_INTERNAL_H): New.
|
13872 |
|
|
(TREE_DUMP_H): Add tree-pass.h.
|
13873 |
|
|
(TREE_FLOW_H): Use $(BITMAP_H)
|
13874 |
|
|
(PRETTY_PRINT_H): Use $(INPUT_H).
|
13875 |
|
|
(EBITMAP_H): Rename from typo-ed EBIMAP_H.
|
13876 |
|
|
(GSTAB_H): New.
|
13877 |
|
|
(BITMAP_H): New.
|
13878 |
|
|
(many object files): Fix lots of header dependencies throughout.
|
13879 |
|
|
|
13880 |
|
|
2008-07-14 Ralf Wildenhues
|
13881 |
|
|
|
13882 |
|
|
* Makefile.in (write_entries_to_file, write_entries_to_file_split):
|
13883 |
|
|
New macros.
|
13884 |
|
|
(s-gtyp-input): Use them to write tmp-gi.list.
|
13885 |
|
|
(echo_to_gi.list): Remove.
|
13886 |
|
|
|
13887 |
|
|
2008-07-14 Richard Guenther
|
13888 |
|
|
|
13889 |
|
|
* tree-ssa-sccvn.c (pre_info): Remove.
|
13890 |
|
|
(switch_to_PRE_table): Likewise.
|
13891 |
|
|
(free_scc_vn): Do not clear SSA_NAME_VALUE. Do not free pre_info.
|
13892 |
|
|
(set_hashtable_value_ids): Do not create value-ids for the
|
13893 |
|
|
optimistic tables.
|
13894 |
|
|
(run_scc_vn): Remove double test. Remove bogus special-case
|
13895 |
|
|
in value-number printing.
|
13896 |
|
|
* tree-ssa-sccvn.h (switch_to_PRE_table): Remove.
|
13897 |
|
|
* tree-ssa-ccp.c (get_symbol_constant_value): Do not look at
|
13898 |
|
|
SSA_NAME_VALUE.
|
13899 |
|
|
* tree-flow-inline.h (get_value_handle): Remove.
|
13900 |
|
|
* tree-flow.h (get_value_handle): Remove.
|
13901 |
|
|
|
13902 |
|
|
2008-07-14 Martin Jambor
|
13903 |
|
|
|
13904 |
|
|
* tree-switch-conversion.c (gen_inbound_check): Make sure the type
|
13905 |
|
|
in which we generate arithmetics is not a subrange.
|
13906 |
|
|
|
13907 |
|
|
2008-07-14 Martin Jambor
|
13908 |
|
|
|
13909 |
|
|
* Makefile.in (IPA_PROP_H): Added ipa-prop.h to IPA_PROP_H variable.
|
13910 |
|
|
|
13911 |
|
|
2008-07-14 Richard Guenther
|
13912 |
|
|
|
13913 |
|
|
* tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert.
|
13914 |
|
|
|
13915 |
|
|
2008-07-14 Andreas Krebbel
|
13916 |
|
|
|
13917 |
|
|
PR target/36745
|
13918 |
|
|
* config/s390/s390.c (s390_secondary_reload): Add a secondary
|
13919 |
|
|
reload for symbol refs moved to r0 with -fPIC.
|
13920 |
|
|
(legitimize_pic_address): Use the target register as temporary
|
13921 |
|
|
reg if possible.
|
13922 |
|
|
(emit_symbolic_move): Adjust comment.
|
13923 |
|
|
* config/s390/s390.md (reloadsi_PIC_addr, reloaddi_PIC_addr):
|
13924 |
|
|
New expanders.
|
13925 |
|
|
|
13926 |
|
|
2008-07-14 Ben Elliston
|
13927 |
|
|
|
13928 |
|
|
* c-common.h (C_CPP_HASHNODE): New macro.
|
13929 |
|
|
* coretypes.h (struct cpp_token): Forward declare.
|
13930 |
|
|
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
|
13931 |
|
|
the context-sensitive keyword method.
|
13932 |
|
|
* config/rs6000/rs6000-c.c (__vector_keyword, vector_keyword,
|
13933 |
|
|
__pixel_keyword, pixel_keyword, __bool_keyword, bool_keyword,
|
13934 |
|
|
expand_bool_pixel): New.
|
13935 |
|
|
(altivec_categorize_keyword): New function.
|
13936 |
|
|
(init_vector_keywords): New function.
|
13937 |
|
|
(rs6000_macro_to_expand): Likewise.
|
13938 |
|
|
(rs6000_cpu_cpp_builtins): Enable context-sensitive macros if not
|
13939 |
|
|
compiling an ISO C dialect.
|
13940 |
|
|
|
13941 |
|
|
2008-07-13 Daniel Berlin
|
13942 |
|
|
|
13943 |
|
|
* tree-ssa-pre.c (fully_constant_expression): Add fold_convert calls.
|
13944 |
|
|
(create_expression_by_pieces): Fix typo.
|
13945 |
|
|
(do_regular_insertion): Use debug counter here too.
|
13946 |
|
|
|
13947 |
|
|
2008-07-14 Hans-Peter Nilsson
|
13948 |
|
|
|
13949 |
|
|
PR target/35492.
|
13950 |
|
|
* config/cris/cris.h (CRIS_CONST_OK_FOR_LETTER_P): Renamed from
|
13951 |
|
|
CONST_OK_FOR_LETTER_P. All port-local users changed.
|
13952 |
|
|
(CONST_OK_FOR_CONSTRAINT_P): Define; implement Kc as old K,
|
13953 |
|
|
implement Kp matching power-of-two.
|
13954 |
|
|
(CONSTRAINT_LEN): Define to match.
|
13955 |
|
|
* config/cris/cris.md: Replace all use of constraint K with Kc.
|
13956 |
|
|
("*btst*): Use Kp for operand 0 of last alternative.
|
13957 |
|
|
|
13958 |
|
|
2008-07-13 John David Anglin
|
13959 |
|
|
|
13960 |
|
|
PR testsuite/36440
|
13961 |
|
|
* tree-call-cdce.c (check_target_format): Accept MIPS single, double
|
13962 |
|
|
and quad formats.
|
13963 |
|
|
|
13964 |
|
|
2008-07-13 Jan Hubicka
|
13965 |
|
|
|
13966 |
|
|
* tree.c (decl_assembler_name_equal): Expect assembler name of decl
|
13967 |
|
|
to be mangled too.
|
13968 |
|
|
|
13969 |
|
|
2008-07-13 Richard Guenther
|
13970 |
|
|
|
13971 |
|
|
PR middle-end/36811
|
13972 |
|
|
* langhooks.c (lhd_print_error_function): Deal with recursive
|
13973 |
|
|
BLOCK trees.
|
13974 |
|
|
|
13975 |
|
|
2008-07-12 Jan Hubicka
|
13976 |
|
|
|
13977 |
|
|
* cgraph.c (assembler_name_hash): New static var.
|
13978 |
|
|
(hash_node_by_assembler_name, eq_assembler_name): New.
|
13979 |
|
|
(cgraph_node_for_asm): Use hashtable.
|
13980 |
|
|
(cgraph_remove_node): Maintain hashtable.
|
13981 |
|
|
(change_decl_assembler_name): Sanity check that names are not changing
|
13982 |
|
|
after aliasing was processed.
|
13983 |
|
|
* cgraph.h (varpoon_node): Add next GGC marker.
|
13984 |
|
|
* tree.c (decl_assembler_name_equal): Constify.
|
13985 |
|
|
(decl_assembler_name_hash): New.
|
13986 |
|
|
* tree.h (decl_assembler_name_equal): Constify.
|
13987 |
|
|
(decl_assembler_name_hash): Update.
|
13988 |
|
|
|
13989 |
|
|
2008-07-12 David Daney
|
13990 |
|
|
|
13991 |
|
|
* config/mips/driver-native.c (host_detect_local_cpu): Handle
|
13992 |
|
|
sb1 and r5000 cpus.
|
13993 |
|
|
|
13994 |
|
|
2008-07-12 Richard Sandiford
|
13995 |
|
|
|
13996 |
|
|
* doc/md.texi: Document the MIPS "v" constraint.
|
13997 |
|
|
* config/mips/mips.h (reg_class): Revert last change.
|
13998 |
|
|
(REG_CLASS_NAMES): Likewise.
|
13999 |
|
|
(REG_CLASS_CONTENTS): Likewise.
|
14000 |
|
|
* config/mips/mips.c (mips_regno_to_class): Likewise.
|
14001 |
|
|
* config/mips/constraints.md (v): Likewise, but add documentation.
|
14002 |
|
|
Add a comment to say that this constraint should not be used in
|
14003 |
|
|
gcc code.
|
14004 |
|
|
|
14005 |
|
|
2008-07-11 DJ Delorie
|
14006 |
|
|
|
14007 |
|
|
* config/h8300/h8300.md (length): Fix branch offset limit.
|
14008 |
|
|
|
14009 |
|
|
2008-07-11 Anatoly Sokolov
|
14010 |
|
|
|
14011 |
|
|
* config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype.
|
14012 |
|
|
* config/avr/avr.c (avr_peep2_scratch_safe): Remove.
|
14013 |
|
|
(avr_hard_regno_scratch_ok): New function.
|
14014 |
|
|
(TARGET_HARD_REGNO_SCRATCH_OK): Define.
|
14015 |
|
|
* config/avr/avr.md (all peepholes that request a scratch register):
|
14016 |
|
|
Remove avr_peep2_scratch_safe use.
|
14017 |
|
|
|
14018 |
|
|
2008-07-11 Tom Tromey
|
14019 |
|
|
Ian Lance Taylor
|
14020 |
|
|
|
14021 |
|
|
* c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
|
14022 |
|
|
(struct c_common_resword): Define.
|
14023 |
|
|
(D_CONLY, D_CXXONLY, D_C99, D_CXX0X, D_EXT, D_EXT89): Define.
|
14024 |
|
|
(D_ASM, D_OBJC, D_CXX_OBJC, D_CXXWARN): Define.
|
14025 |
|
|
(c_common_reswords, num_c_common_reswords): Declare.
|
14026 |
|
|
* c-common.c (c_common_reswords): New global const array.
|
14027 |
|
|
(num_c_common_reswords): New const int.
|
14028 |
|
|
* c-parser.c (struct resword, reswords): Don't define.
|
14029 |
|
|
(D_C89, D_EXT, D_EXT89, D_OBJC): Don't define.
|
14030 |
|
|
(c_parse_init): Clarify mask code. Use c_common_reswords rather
|
14031 |
|
|
than reswords. If warning about C++ keywords, give them a special
|
14032 |
|
|
RID code.
|
14033 |
|
|
(c_lex_one_token): Warn about C++ keywords. Call
|
14034 |
|
|
objc_is_reserved_word rather than OBJC_IS_AT_KEYWORD.
|
14035 |
|
|
(c_parser_external_declaration): Look for RID_xxx rather than
|
14036 |
|
|
RID_AT_xxx, for ObjC++ keywords which are also C++ keywords.
|
14037 |
|
|
(c_parser_statement_after_labels): Likewise.
|
14038 |
|
|
(c_parser_objc_class_instance_variables): Likewise.
|
14039 |
|
|
(c_parser_objc_class_declaration): Likewise.
|
14040 |
|
|
(c_parser_objc_try_catch_statement): Likewise.
|
14041 |
|
|
* c-decl.c (c_print_identifier): Ignore RID_CXX_COMPAT_WARN.
|
14042 |
|
|
(declspecs_add_type): Likewise.
|
14043 |
|
|
|
14044 |
|
|
2008-07-11 Angelo Graziosi
|
14045 |
|
|
|
14046 |
|
|
* ggc-page.c (alloc_page):
|
14047 |
|
|
Substituting xmalloc, xcalloc with
|
14048 |
|
|
XNEWVEC and XCNEWVAR macros which add the
|
14049 |
|
|
needed casts.
|
14050 |
|
|
|
14051 |
|
|
2008-07-11 Richard Guenther
|
14052 |
|
|
|
14053 |
|
|
PR tree-optimization/36765
|
14054 |
|
|
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
|
14055 |
|
|
aliases from HEAP vars to SMTs.
|
14056 |
|
|
|
14057 |
|
|
2008-07-10 Kaveh R. Ghazi
|
14058 |
|
|
|
14059 |
|
|
* Makefile.in (LOOSE_WARN, STRICT_WARN): Update comments.
|
14060 |
|
|
* configure.ac (loose_warn): Move -Wc++-compat from here...
|
14061 |
|
|
(strict_warn): ...to here.
|
14062 |
|
|
* configure: Regenerate.
|
14063 |
|
|
|
14064 |
|
|
2008-07-10 Joseph Myers
|
14065 |
|
|
|
14066 |
|
|
* config.gcc (arm-*-coff*, armel-*-coff*, h8300-*-*,
|
14067 |
|
|
i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*,
|
14068 |
|
|
m68k-*-coff*, sh-*-*, mips-sgi-irix[56]*, pdp11-*-bsd,
|
14069 |
|
|
rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Deprecate targets,
|
14070 |
|
|
excluding more specific h8300-*-* and sh-*-* targets.
|
14071 |
|
|
|
14072 |
|
|
2008-07-10 Daniel Berlin
|
14073 |
|
|
|
14074 |
|
|
* tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert calls.
|
14075 |
|
|
(eliminate): Ditto.
|
14076 |
|
|
(execute_pre): Call loop_optimizer_finalize in early exit.
|
14077 |
|
|
|
14078 |
|
|
2008-07-10 Jakub Jelinek
|
14079 |
|
|
|
14080 |
|
|
PR middle-end/36790
|
14081 |
|
|
* omp-low.c (lower_omp_2): If task_shared_vars, test all DECL_P
|
14082 |
|
|
uids in the bitmap, not just VAR_DECL uids.
|
14083 |
|
|
|
14084 |
|
|
PR rtl-optimization/36419
|
14085 |
|
|
* combine-stack-adj.c (adjust_frame_related_expr): New function.
|
14086 |
|
|
(combine_stack_adjustments_for_block): Call it if needed. Delete
|
14087 |
|
|
correct insn.
|
14088 |
|
|
* dwarf2out.c (dwarf2out_frame_debug_expr): Adjust
|
14089 |
|
|
DW_CFA_GNU_args_size if CSA pass merged some adjustments into
|
14090 |
|
|
prologue sp adjustment.
|
14091 |
|
|
|
14092 |
|
|
2008-07-10 Peter Maydell
|
14093 |
|
|
|
14094 |
|
|
PR other/28322
|
14095 |
|
|
* opts.c (print_ignored_options): Report postponed diagnostics for
|
14096 |
|
|
unknown -Wno-* options as warnings, not errors.
|
14097 |
|
|
(postpone_unknown_option_error): Renamed to...
|
14098 |
|
|
(postpone_unknown_option_warning): ... this.
|
14099 |
|
|
|
14100 |
|
|
2008-07-09 Doug Kwan
|
14101 |
|
|
|
14102 |
|
|
Revert:
|
14103 |
|
|
2008-07-08 Doug Kwan
|
14104 |
|
|
|
14105 |
|
|
* config/arm/arm.opt (mandroid): New option.
|
14106 |
|
|
* config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
|
14107 |
|
|
(LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
|
14108 |
|
|
(CC1_SPEC): Same.
|
14109 |
|
|
(CC1PLUS_SPEC): Same.
|
14110 |
|
|
(LIB_SPEC): Same.
|
14111 |
|
|
(STARTFILE_SPEC): Same.
|
14112 |
|
|
(ENDFILE_SPEC): Same.
|
14113 |
|
|
(TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
|
14114 |
|
|
used.
|
14115 |
|
|
|
14116 |
|
|
2008-07-09 Richard Sandiford
|
14117 |
|
|
|
14118 |
|
|
PR target/35802
|
14119 |
|
|
* config/mips/mips.h (reg_class): Remove V1_REG.
|
14120 |
|
|
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
|
14121 |
|
|
* config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS
|
14122 |
|
|
instead of V1_REGS.
|
14123 |
|
|
(mips_get_tp): New function.
|
14124 |
|
|
(mips_legitimize_tls_address): Use it.
|
14125 |
|
|
* config/mips/constraints.md (v): Delete.
|
14126 |
|
|
* config/mips/mips.md (TLS_GET_TP_REGNUM): New constant.
|
14127 |
|
|
(tls_get_tp_): Allow any GPR destination and clobber $3.
|
14128 |
|
|
After reload, split into a move and ...
|
14129 |
|
|
(*tls_get_tp__split): ...this new instruction.
|
14130 |
|
|
|
14131 |
|
|
2008-07-09 David Daney
|
14132 |
|
|
|
14133 |
|
|
* config/mips/driver-native.c: Include coretypes.h and tm.h.
|
14134 |
|
|
|
14135 |
|
|
2008-07-09 Jakub Jelinek
|
14136 |
|
|
|
14137 |
|
|
* gimplify.c (struct gimplify_ctx): Move to tree-gimple.h.
|
14138 |
|
|
(push_gimplify_context): Don't allocate temp_htab nor c itself here.
|
14139 |
|
|
Add c argument.
|
14140 |
|
|
(pop_gimplify_context): Check c->temp_htab instead of optimize whether
|
14141 |
|
|
htab_delete should be called. Don't free c.
|
14142 |
|
|
(lookup_tmp_var): Create temp_htab lazily.
|
14143 |
|
|
(gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
|
14144 |
|
|
gimplify_body, force_gimple_operand): Adjust push_gimplify_context
|
14145 |
|
|
callers.
|
14146 |
|
|
* omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
|
14147 |
|
|
lower_omp_ordered, lower_omp_critical, lower_omp_for,
|
14148 |
|
|
create_task_copyfn, lower_omp_taskreg, execute_lower_omp):
|
14149 |
|
|
* tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise.
|
14150 |
|
|
* tree-sra.c (generate_element_init): Likewise.
|
14151 |
|
|
* tree-mudflap.c (execute_mudflap_function_ops,
|
14152 |
|
|
execute_mudflap_function_decls): Likewise.
|
14153 |
|
|
* tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise.
|
14154 |
|
|
* tree-gimple.h (struct gimplify_ctx): New type.
|
14155 |
|
|
(push_gimplify_context): Adjust prototype.
|
14156 |
|
|
|
14157 |
|
|
2008-07-09 Daniel Berlin
|
14158 |
|
|
|
14159 |
|
|
* tree-ssa-pre.c (phi_translate_1): Update placement of
|
14160 |
|
|
add_to_value calls.
|
14161 |
|
|
|
14162 |
|
|
2008-07-09 Anatoly Sokolov
|
14163 |
|
|
|
14164 |
|
|
* target.h (struct gcc_target): Add hard_regno_scratch_ok field.
|
14165 |
|
|
* target-def.h (TARGET_HARD_REGNO_SCRATCH_OK): New.
|
14166 |
|
|
(TARGET_INITIALIZER): Use TARGET_HARD_REGNO_SCRATCH_OK.
|
14167 |
|
|
* targhooks.c (default_hard_regno_scratch_ok): New function.
|
14168 |
|
|
* targhooks.h (default_hard_regno_scratch_ok): Declare function.
|
14169 |
|
|
* doc/tm.texi: Document TARGET_HARD_REGNO_SCRATCH_OK hook.
|
14170 |
|
|
* recog.c: Include "target.h".
|
14171 |
|
|
(peep2_find_free_register): Add check for global regs. Add target
|
14172 |
|
|
specific check.
|
14173 |
|
|
* Makefile.in (recog.o): Depend on target.h.
|
14174 |
|
|
|
14175 |
|
|
2008-07-09 Kaz Kojima
|
14176 |
|
|
|
14177 |
|
|
* config/sh/sh.c (sh_canonical_va_list_type): New.
|
14178 |
|
|
(TARGET_CANONICAL_VA_LIST_TYPE): Define.
|
14179 |
|
|
|
14180 |
|
|
2008-07-09 Raksit Ashok
|
14181 |
|
|
|
14182 |
|
|
* doc/invoke.texi (Option Summary): Mention new option
|
14183 |
|
|
-Wdisallowed-function-list=...
|
14184 |
|
|
(Warning Options): Document -Wdisallowed-function-list=...
|
14185 |
|
|
* common.opt (Wdisallowed-function-list=): New flag.
|
14186 |
|
|
* flags.h (warn_disallowed_functions): External definition of new
|
14187 |
|
|
boolean warning flag.
|
14188 |
|
|
(warn_if_disallowed_function_p): Declare new function.
|
14189 |
|
|
* opts.c (warning_disallowed_functions): New static variable.
|
14190 |
|
|
(warn_disallowed_functions): New boolean warning flag.
|
14191 |
|
|
(warn_if_disallowed_function_p): New function.
|
14192 |
|
|
(add_comma_separated_to_vector): Rename
|
14193 |
|
|
add_instrument_functions_exclude_list to this.
|
14194 |
|
|
(common_handle_option): Handle new option. Rename calls to
|
14195 |
|
|
add_instrument_functions_exclude_list into calls to
|
14196 |
|
|
add_comma_separated_to_vector.
|
14197 |
|
|
* c-parser.c (c_parser_postfix_expression_after_primary): New warning
|
14198 |
|
|
based on flag warn_disallowed_functions.
|
14199 |
|
|
|
14200 |
|
|
2008-07-09 Christian Bruel
|
14201 |
|
|
|
14202 |
|
|
* final.c (get_attr_length_1): Call get_attr_length_1 with fallback_fn
|
14203 |
|
|
instead of get_attr_length.
|
14204 |
|
|
|
14205 |
|
|
2008-07-09 Kaveh R. Ghazi
|
14206 |
|
|
|
14207 |
|
|
* genattrtab.c (insert_right_side, evaluate_eq_attr): Avoid C++
|
14208 |
|
|
keywords.
|
14209 |
|
|
* genemit.c (gen_insn): Likewise.
|
14210 |
|
|
* gengtype.c (note_def_vec): Likewise.
|
14211 |
|
|
* gengtype.h (note_def_vec): Likewise.
|
14212 |
|
|
* genoutput.c (struct data, output_insn_data, process_template,
|
14213 |
|
|
gen_expand, gen_split, note_constraint): Likewise.
|
14214 |
|
|
* genrecog.c (new_decision, add_to_sequence, factor_tests,
|
14215 |
|
|
make_insn_sequence): Likewise.
|
14216 |
|
|
* gensupport.c (record_insn_name): Likewise.
|
14217 |
|
|
|
14218 |
|
|
2008-07-08 Doug Kwan
|
14219 |
|
|
|
14220 |
|
|
* config/arm/arm.opt (mandroid): New option.
|
14221 |
|
|
* config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
|
14222 |
|
|
(LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
|
14223 |
|
|
(CC1_SPEC): Same.
|
14224 |
|
|
(CC1PLUS_SPEC): Same.
|
14225 |
|
|
(LIB_SPEC): Same.
|
14226 |
|
|
(STARTFILE_SPEC): Same.
|
14227 |
|
|
(ENDFILE_SPEC): Same.
|
14228 |
|
|
(TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
|
14229 |
|
|
used.
|
14230 |
|
|
|
14231 |
|
|
2008-07-08 Raksit Ashok
|
14232 |
|
|
|
14233 |
|
|
* expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
|
14234 |
|
|
(set_storage_via_setmem): Fix expected_align parameter.
|
14235 |
|
|
* doc/invoke.texi (i386 and x86-64 Options): Add a couple of options
|
14236 |
|
|
missing from the list.
|
14237 |
|
|
* doc/md.texi (movmem): Explicitly state that expected alignment is
|
14238 |
|
|
to be expressed in bytes.
|
14239 |
|
|
(setmem): Explicitly state that expected alignment is to be expressed
|
14240 |
|
|
in bytes.
|
14241 |
|
|
|
14242 |
|
|
2008-07-08 Joseph Myers
|
14243 |
|
|
|
14244 |
|
|
* reload.c (find_reloads_subreg_address): Do not require validity
|
14245 |
|
|
of address in original mode before reloading address.
|
14246 |
|
|
|
14247 |
|
|
2008-07-07 Tianwei Sheng
|
14248 |
|
|
|
14249 |
|
|
* df-core.c (df_remove_problem): Adjust the access to avoid out of
|
14250 |
|
|
bounds array access.
|
14251 |
|
|
|
14252 |
|
|
2008-07-08 Jakub Jelinek
|
14253 |
|
|
|
14254 |
|
|
* tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P dst.
|
14255 |
|
|
|
14256 |
|
|
2008-07-05 Daniel Berlin
|
14257 |
|
|
|
14258 |
|
|
Fix PR tree-optimization/23455
|
14259 |
|
|
Fix PR tree-optimization/35286
|
14260 |
|
|
Fix PR tree-optimization/35287
|
14261 |
|
|
* Makefile.in (OBJS-common): Remove tree-vn.o.
|
14262 |
|
|
(tree-vn.o): Remove.
|
14263 |
|
|
* dbgcnt.def: Add treepre_insert debug counter.
|
14264 |
|
|
* gcc/tree-flow.h (add_to_value): Updated for other changes.
|
14265 |
|
|
(debug_value_expressions): Ditto.
|
14266 |
|
|
(print_value_expressions): Ditto.
|
14267 |
|
|
* tree-pretty-print.c (dump_generic_node): Updated for
|
14268 |
|
|
VALUE_HANDLE removal.
|
14269 |
|
|
* tree-ssa-dom.c (record_equality): Ditto.
|
14270 |
|
|
(cprop_operand): Ditto.
|
14271 |
|
|
(lookup_avail_expr): Ditto.
|
14272 |
|
|
* tree-ssa-threadedge.c
|
14273 |
|
|
(record_temporary_equivalences_from_stmts_at_dest): Ditto.
|
14274 |
|
|
(simplify_control_stmt_condition): Ditto.
|
14275 |
|
|
* tree.c (tree_code_size): Ditto.
|
14276 |
|
|
(tree_node_structure): Ditto.
|
14277 |
|
|
(iterative_hash_expr): Ditto.
|
14278 |
|
|
* tree.def: Ditto.
|
14279 |
|
|
* tree.h (VALUE_HANDLE_ID): Ditto.
|
14280 |
|
|
(VALUE_HANDLE_EXPR_SET): Ditto.
|
14281 |
|
|
(struct tree_value_handle): Ditto.
|
14282 |
|
|
(union tree_node): Ditto.
|
14283 |
|
|
* treestruct.def: Ditto.
|
14284 |
|
|
* tree-vn.c: Removed.
|
14285 |
|
|
* tree-ssa-pre.c: Rewritten entirely.
|
14286 |
|
|
* tree-ssa-sccvn.c (constant_to_value_id): New hashtable.
|
14287 |
|
|
(constant_value_ids): Ditto.
|
14288 |
|
|
(vn_nary_op_t): Moved to header.
|
14289 |
|
|
(vn_phi_t): Ditto.
|
14290 |
|
|
(vn_reference_op_t): Ditto
|
14291 |
|
|
(vn_reference_t): Ditto.
|
14292 |
|
|
(next_value_id): New variable.
|
14293 |
|
|
(VN_INFO): Add an assert.
|
14294 |
|
|
(vn_constant_eq): New function.
|
14295 |
|
|
(vn_constant_hash): Ditto.
|
14296 |
|
|
(get_or_alloc_constant_value_id): Ditto.
|
14297 |
|
|
(value_id_constant_p): Ditto.
|
14298 |
|
|
(vn_reference_compute_hash): De-staticify.
|
14299 |
|
|
(copy_reference_ops_from_ref): Don't use get_callee_fndecl.
|
14300 |
|
|
Disable some code with a FIXME. Remove VALUE_HANDLE use.
|
14301 |
|
|
(valueize_refs): Update opcode if it changes from ssa name to constant.
|
14302 |
|
|
(vn_reference_lookup_1): Add new argument.
|
14303 |
|
|
(vn_reference_lookup): Ditto.
|
14304 |
|
|
(vn_reference_lookup_pieces): New function.
|
14305 |
|
|
(vn_reference_insert): Add return type. Modify to deal with value ids.
|
14306 |
|
|
(vn_reference_insert_pieces): New function.
|
14307 |
|
|
(vn_nary_op_compute_hash): De-staticify.
|
14308 |
|
|
(vn_nary_op_eq): Ditto.
|
14309 |
|
|
(vn_nary_op_lookup_pieces): New function.
|
14310 |
|
|
(vn_nary_op_lookup): Add new argument.
|
14311 |
|
|
(vn_nary_op_insert_pieces): New function.
|
14312 |
|
|
(vn_nary_op_insert): Add return type. Modify to deal with value ids.
|
14313 |
|
|
(vn_phi_insert): Ditto.
|
14314 |
|
|
(visit_unary_op): Update for callee changes.
|
14315 |
|
|
(visit_binary_op): Ditto.
|
14316 |
|
|
(visit_reference_op_load): Ditto.
|
14317 |
|
|
(visit_reference_op_store): Ditto.
|
14318 |
|
|
(init_scc_vn): Init next_value_id, constant_to_value_id and
|
14319 |
|
|
constant_value_ids.
|
14320 |
|
|
(free_scc_vn): Free them.
|
14321 |
|
|
(set_hashtable_value_ids): New function.
|
14322 |
|
|
(run_scc_vn): Use it.
|
14323 |
|
|
(get_max_value_id): New function.
|
14324 |
|
|
(get_next_value_id): Ditto.
|
14325 |
|
|
(expressions_equal_p): Moved from tree-vn.c
|
14326 |
|
|
(sort_vuses): Ditto.
|
14327 |
|
|
(sort_vuses_heap): Ditto.
|
14328 |
|
|
* tree-ssa-sccvn.h: Structures moved from tree-ssa-sccvn.c (noted
|
14329 |
|
|
above).
|
14330 |
|
|
* tree.c (iterative_hash_hashval_t): Made non-static
|
14331 |
|
|
* tree.h (iterative_hash_hashval_t): Declare it.
|
14332 |
|
|
|
14333 |
|
|
2008-07-08 Martin Jambor
|
14334 |
|
|
|
14335 |
|
|
* ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
|
14336 |
|
|
instead of ipa_create_node_params.
|
14337 |
|
|
(ipcp_driver): Allocate infos with ipa_check_create_node_params and
|
14338 |
|
|
ipa_check_create_edge_args, free them with
|
14339 |
|
|
free_all_ipa_structures_after_ipa_cp, call ipa_register_cgraph_hooks.
|
14340 |
|
|
|
14341 |
|
|
* ipa-prop.c: Include flags.h and tree-inline.h.
|
14342 |
|
|
(ipa_node_params_vector): New variable.
|
14343 |
|
|
(ipa_edge_args_vector): New variable.
|
14344 |
|
|
(edge_removal_hook_holder): New variable.
|
14345 |
|
|
(node_removal_hook_holder): New variable.
|
14346 |
|
|
(edge_duplication_hook_holder): New variable.
|
14347 |
|
|
(node_duplication_hook_holder): New variable.
|
14348 |
|
|
(ipa_detect_param_modifications): Check for presence of modified flags.
|
14349 |
|
|
(ipa_compute_jump_functions): Check for presence of jump functions.
|
14350 |
|
|
(ipa_free_edge_args_substructures): New function.
|
14351 |
|
|
(ipa_create_node_params): Removed.
|
14352 |
|
|
(ipa_free_all_edge_args): Changed to deallocate the on-the-side vector.
|
14353 |
|
|
(ipa_free_node_params_substructures): New function.
|
14354 |
|
|
(ipa_free_all_node_params): Changed to deallocate the on-the-side
|
14355 |
|
|
vector.
|
14356 |
|
|
(ipa_edge_removal_hook): New function.
|
14357 |
|
|
(ipa_node_removal_hook): New function.
|
14358 |
|
|
(duplicate_array): New function.
|
14359 |
|
|
(ipa_edge_duplication_hook): New function.
|
14360 |
|
|
(ipa_node_duplication_hook): New function.
|
14361 |
|
|
(ipa_register_cgraph_hooks): New function.
|
14362 |
|
|
(ipa_unregister_cgraph_hooks): New function.
|
14363 |
|
|
(free_all_ipa_structures_after_ipa_cp): New function.
|
14364 |
|
|
|
14365 |
|
|
* ipa-prop.h: Include vec.h.
|
14366 |
|
|
(ipa_node_params_t): New typedef with vector types for it.
|
14367 |
|
|
(ipa_edge_args_t): New typedef with vector types for it.
|
14368 |
|
|
(IPA_NODE_REF): Changed to access an on-the-side vector.
|
14369 |
|
|
(IPA_EDGE_REF): Changed to access an on-the-side vector.
|
14370 |
|
|
(ipa_check_create_node_params): New function.
|
14371 |
|
|
(ipa_check_create_edge_args): New function.
|
14372 |
|
|
|
14373 |
|
|
* Makefile.in (IPA_PROP_H): New variable for ipa-prop.h. Converted
|
14374 |
|
|
all users.
|
14375 |
|
|
|
14376 |
|
|
2008-07-07 Tom Tromey
|
14377 |
|
|
|
14378 |
|
|
* configure, config.in: Rebuilt.
|
14379 |
|
|
* configure.ac: Don't check for scandir or alphasort.
|
14380 |
|
|
|
14381 |
|
|
2008-07-07 Joseph Myers
|
14382 |
|
|
|
14383 |
|
|
* config/arm/arm.c (arm_init_neon_builtins): Register built-in
|
14384 |
|
|
types immediately after creating them.
|
14385 |
|
|
|
14386 |
|
|
2008-07-07 Joseph Myers
|
14387 |
|
|
|
14388 |
|
|
* config/arm/aout.h (DOLLARS_IN_IDENTIFIERS): Remove.
|
14389 |
|
|
|
14390 |
|
|
2008-07-07 Fernando Pereira
|
14391 |
|
|
|
14392 |
|
|
* tree-ssa-structalias.c (compute_points_to_sets): Add call to
|
14393 |
|
|
dump_constraint_graph.
|
14394 |
|
|
(dump_constraint_edge): New function.
|
14395 |
|
|
(dump_constraint_graph): New function.
|
14396 |
|
|
(debug_constraint_graph): New function.
|
14397 |
|
|
(dump_constraint): Removed useless comparison.
|
14398 |
|
|
* tree-ssa-structalias.h (dump_constraint_edge): Declare.
|
14399 |
|
|
(dump_constraint_graph): Declare.
|
14400 |
|
|
(debug_constraint_graph): Declare.
|
14401 |
|
|
* tree-dump.c (struct dump_option_value_info): Declare TDF_GRAPH.
|
14402 |
|
|
|
14403 |
|
|
2008-07-07 Kai Tietz
|
14404 |
|
|
|
14405 |
|
|
* config/i386/i386.c (is_va_list_char_pointer): New.
|
14406 |
|
|
(ix86_va_start): Replace compare with ms_va_list_type_node
|
14407 |
|
|
by is_va_list_char_pointer.
|
14408 |
|
|
(ix86_gimplify_va_arg): Likewise.
|
14409 |
|
|
|
14410 |
|
|
2008-07-07 Martin Jambor
|
14411 |
|
|
|
14412 |
|
|
* cgraph.c (cgraph_edge_max_uid): New variable.
|
14413 |
|
|
(struct cgraph_edge_hook_list): New type.
|
14414 |
|
|
(struct cgraph_node_hook_list): New type.
|
14415 |
|
|
(struct cgraph_2edge_hook_list): New type.
|
14416 |
|
|
(struct cgraph_2node_hook_list): New type.
|
14417 |
|
|
(first_cgraph_edge_removal_hook): New variable.
|
14418 |
|
|
(first_cgraph_node_removal_hook): New variable.
|
14419 |
|
|
(first_cgraph_edge_duplicated_hook): New variable.
|
14420 |
|
|
(first_cgraph_node_duplicated_hook): New variable.
|
14421 |
|
|
(cgraph_add_edge_removal_hook): New function.
|
14422 |
|
|
(cgraph_remove_edge_removal_hook): New function.
|
14423 |
|
|
(cgraph_call_edge_removal_hooks): New function.
|
14424 |
|
|
(cgraph_add_node_removal_hook): New function.
|
14425 |
|
|
(cgraph_remove_node_removal_hook): New function.
|
14426 |
|
|
(cgraph_call_node_removal_hooks): New function.
|
14427 |
|
|
(cgraph_add_edge_duplication_hook): New function.
|
14428 |
|
|
(cgraph_remove_edge_duplication_hook): New function.
|
14429 |
|
|
(cgraph_call_edge_duplication_hooks): New function.
|
14430 |
|
|
(cgraph_add_node_duplication_hook): New function.
|
14431 |
|
|
(cgraph_remove_node_duplication_hook): New function.
|
14432 |
|
|
(cgraph_call_node_duplication_hooks): New function.
|
14433 |
|
|
(cgraph_create_edge): Assign to edge uid.
|
14434 |
|
|
(cgraph_remove_edge): Call edge removal hooks.
|
14435 |
|
|
(cgraph_node_remove_callees): Call edge removal hooks.
|
14436 |
|
|
(cgraph_node_remove_callers): Call edge removal hooks.
|
14437 |
|
|
(cgraph_remove_node): Call node removal hooks.
|
14438 |
|
|
(cgraph_clone_edge): Call edge duplication hooks.
|
14439 |
|
|
(cgraph_clone_node): Call node duplication hooks.
|
14440 |
|
|
|
14441 |
|
|
* cgraph.h (cgraph_edge): New field uid.
|
14442 |
|
|
(cgraph_edge_hook): New type.
|
14443 |
|
|
(cgraph_node_hook): New type.
|
14444 |
|
|
(cgraph_2edge_hook): New type.
|
14445 |
|
|
(cgraph_2node_hook): New type.
|
14446 |
|
|
|
14447 |
|
|
2008-07-07 Andreas Tobler
|
14448 |
|
|
|
14449 |
|
|
* config.in: Regenerate.
|
14450 |
|
|
|
14451 |
|
|
2008-07-07 Vladimir Prus
|
14452 |
|
|
|
14453 |
|
|
* gcc.c (print_sysroot): New.
|
14454 |
|
|
(option_map, display_help, process_command): Handle the
|
14455 |
|
|
-print-sysroot option.
|
14456 |
|
|
(main): Print the sysroot if requested.
|
14457 |
|
|
* doc/invoke.texi (Debugging Options): Document -print-sysroot.
|
14458 |
|
|
|
14459 |
|
|
2008-07-07 Ralf Wildenhues
|
14460 |
|
|
|
14461 |
|
|
PR target/34780
|
14462 |
|
|
* unwind-pe.h (size_of_encoded_value): add attribute unused.
|
14463 |
|
|
|
14464 |
|
|
2008-07-07 Daniel Jacobowitz
|
14465 |
|
|
|
14466 |
|
|
* function.c (assign_parm_remove_parallels): Check mode of entry_parm.
|
14467 |
|
|
(assign_parm_setup_block_p): Also check mode of entry_parm.
|
14468 |
|
|
|
14469 |
|
|
2008-07-07 Richard Guenther
|
14470 |
|
|
|
14471 |
|
|
* tree-ssa-structalias.h (set_used_smts): Remove.
|
14472 |
|
|
* tree-ssa-structalias.c (used_smts): Likewise.
|
14473 |
|
|
(set_used_smts): Likewise.
|
14474 |
|
|
* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove
|
14475 |
|
|
call to set_used_smts.
|
14476 |
|
|
|
14477 |
|
|
2008-07-07 Richard Guenther
|
14478 |
|
|
|
14479 |
|
|
* tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
|
14480 |
|
|
(new_var_info): Set it to false.
|
14481 |
|
|
(solution_set_add): Correctly handle pointers outside a var and
|
14482 |
|
|
inside a field.
|
14483 |
|
|
(type_safe): Treat variables with is_full_var properly.
|
14484 |
|
|
(do_sd_constraint): Likewise.
|
14485 |
|
|
(do_ds_constraint): Likewise.
|
14486 |
|
|
(process_constraint): Remove zeroing offset for !use_field_sensitive.
|
14487 |
|
|
(get_constraint_for_ptr_offset): New function.
|
14488 |
|
|
(get_constraint_for_component_ref): For addresses at least include
|
14489 |
|
|
the last field of the variable. Handle is_full_vars properly.
|
14490 |
|
|
(get_constraint_for_1): Factor common code, handle POINTER_PLUS_EXPR.
|
14491 |
|
|
(handle_ptr_arith): Remove.
|
14492 |
|
|
(find_func_aliases): Simplify assignment handling.
|
14493 |
|
|
(create_function_info_for): For parameter and result varinfos set
|
14494 |
|
|
is_full_var flag.
|
14495 |
|
|
(create_variable_info_for): Set is_full_var flag whenever we
|
14496 |
|
|
just created a single varinfo for a decl.
|
14497 |
|
|
(init_alias_vars): Initialize use_field_sensitive from
|
14498 |
|
|
max-fields-for-field-sensitive parameter.
|
14499 |
|
|
|
14500 |
|
|
2008-07-07 Richard Guenther
|
14501 |
|
|
|
14502 |
|
|
PR tree-optimization/36713
|
14503 |
|
|
* tree-flow-inline.h (is_call_used): New function.
|
14504 |
|
|
* tree-nrv.c (dest_safe_for_nrv_p): Use it.
|
14505 |
|
|
* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
|
14506 |
|
|
* tree-outof-ssa.c (create_temp): Set call-used flag if required.
|
14507 |
|
|
|
14508 |
|
|
2008-07-07 Maxim Kuvyrkov
|
14509 |
|
|
|
14510 |
|
|
* config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types.
|
14511 |
|
|
|
14512 |
|
|
2008-07-07 Mark Shinwell
|
14513 |
|
|
|
14514 |
|
|
* config/m68k/lb1sf68.asm: Add PIC macros for Linux targets.
|
14515 |
|
|
|
14516 |
|
|
2008-07-07 Maxim Kuvyrkov
|
14517 |
|
|
Nathan Sidwell
|
14518 |
|
|
|
14519 |
|
|
* config.gcc (m68k-*-linux*): Add with_arch. Add sysroot-suffix.h
|
14520 |
|
|
to tm_file. Add m68k/t-floatlib, m68k/t-linux & m68k/t-mlibs to
|
14521 |
|
|
tmake_file.
|
14522 |
|
|
* config/m68k/t-linux: New.
|
14523 |
|
|
* doc/install.texi: Document m68k-*-linux is now multilibbed by
|
14524 |
|
|
default.
|
14525 |
|
|
|
14526 |
|
|
2008-07-07 Nathan Sidwell
|
14527 |
|
|
|
14528 |
|
|
* config/m68k/t-cf (MULTILIB_EXTRA_OPTS): Add no-mac.
|
14529 |
|
|
* config/m68k/m68k-devices.def: Remove multilibs that only differ
|
14530 |
|
|
by MAC/EMAC.
|
14531 |
|
|
|
14532 |
|
|
2008-07-06 Kaveh R. Ghazi
|
14533 |
|
|
|
14534 |
|
|
* gcc.c (execute): Fix -Wc++-compat warning.
|
14535 |
|
|
|
14536 |
|
|
2008-07-06 H.J. Lu
|
14537 |
|
|
|
14538 |
|
|
PR target/36720
|
14539 |
|
|
* config/ia64/ia64.c (ia64_split_tmode): Fix typo in TImode
|
14540 |
|
|
constant for little endian.
|
14541 |
|
|
|
14542 |
|
|
2008-07-06 Richard Sandiford
|
14543 |
|
|
|
14544 |
|
|
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Check
|
14545 |
|
|
mips_base_mips16 instead of TARGET_MIPS16.
|
14546 |
|
|
(mips_base_mips16): Declare.
|
14547 |
|
|
* config/mips/mips.c (mips_base_mips16): Make global.
|
14548 |
|
|
(was_mips16_p): Remove GTY marker.
|
14549 |
|
|
(was_mips16_pch_p): New variable.
|
14550 |
|
|
(mips_set_mips16_mode): Check both was_mips16_p and was_mips16_pch_p.
|
14551 |
|
|
(mips_override_options): Force to non-MIPS16 mode initially.
|
14552 |
|
|
Do not complain about MIPS16 PIC incompatibilities here.
|
14553 |
|
|
Only allow -mgpopt if -mexplicit-relocs is in force for
|
14554 |
|
|
non-MIPS16 code.
|
14555 |
|
|
|
14556 |
|
|
2008-07-06 Andreas Tobler
|
14557 |
|
|
|
14558 |
|
|
* configure.ac: Check for caddr_t, define to char * if not defined.
|
14559 |
|
|
* configure: Regenerate.
|
14560 |
|
|
* ggc-common.c (mmap_gt_pch_get_address): Fix -Wc++-compat warnings.
|
14561 |
|
|
(mmap_gt_pch_use_address): Likewise.
|
14562 |
|
|
* config/host-solaris.c (sol_gt_pch_use_address): Likewise.
|
14563 |
|
|
|
14564 |
|
|
2008-07-06 Richard Guenther
|
14565 |
|
|
|
14566 |
|
|
* tree-ssa-structalias.c (struct variable_info): Remove has_union.
|
14567 |
|
|
(new_var_info): Deal with it.
|
14568 |
|
|
(solution_set_add): Likewise.
|
14569 |
|
|
(bitpos_of_field): Make signed, fix.
|
14570 |
|
|
(struct fieldoff): Remove type and decl fields. Make size field
|
14571 |
|
|
unsigned HOST_WIDE_INT. Add has_unknown_size and may_have_pointers
|
14572 |
|
|
flags.
|
14573 |
|
|
(fieldoff_compare): Deal with it.
|
14574 |
|
|
(push_fields_onto_fieldstack): Remove has_union argument, glob
|
14575 |
|
|
adjacent non-pointer fields together.
|
14576 |
|
|
(create_function_info_for): Do not set has_union.
|
14577 |
|
|
(create_variable_info_for): Simplify.
|
14578 |
|
|
|
14579 |
|
|
2008-07-06 Kai Tietz
|
14580 |
|
|
|
14581 |
|
|
* config.gcc (extra_headers): Add cross-stdarg.h for target
|
14582 |
|
|
x86_64-*-* and i?86-*-*.
|
14583 |
|
|
* config/i386/cross-stdarg.h: New.
|
14584 |
|
|
* builtins.c (std_fn_abi_va_list): New.
|
14585 |
|
|
(std_canonical_va_list_type): New.
|
14586 |
|
|
(stabilize_va_list): Replace va_list_type_node use by
|
14587 |
|
|
mtarget.canonical_va_list_type.
|
14588 |
|
|
(gimplify_va_arg_expr): Likewise.
|
14589 |
|
|
(expand_builtin_va_copy): Replace va_list_type_node use by
|
14590 |
|
|
mtarget.fn_abi_va_list.
|
14591 |
|
|
* tree-sra.c (is_va_list_type): New helper.
|
14592 |
|
|
(decl_can_be_decomposed_p): Replace
|
14593 |
|
|
va_list_type_node use by is_va_list_type.
|
14594 |
|
|
* tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
|
14595 |
|
|
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
|
14596 |
|
|
* c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
|
14597 |
|
|
* config/i386/i386-protos.h (ix86_get_valist_type): New.
|
14598 |
|
|
(ix86_enum_va_list): New.
|
14599 |
|
|
* config/i386/i386.c (sysv_va_list_type_node): New.
|
14600 |
|
|
(ms_va_list_type_node): New.
|
14601 |
|
|
(ix86_function_type_abi): Remove sorry.
|
14602 |
|
|
(ix86_build_builtin_va_list_abi): New.
|
14603 |
|
|
(ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
|
14604 |
|
|
for 64-bit targets.
|
14605 |
|
|
(ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
|
14606 |
|
|
(ix86_init_builtins_va_builtins_abi): New.
|
14607 |
|
|
(ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
|
14608 |
|
|
for 64-bit targets.
|
14609 |
|
|
(ix86_handle_abi_attribute): New.
|
14610 |
|
|
(attribute_spec): Add sysv_abi and ms_abi.
|
14611 |
|
|
(ix86_fn_abi_va_list): New.
|
14612 |
|
|
(ix86_canonical_va_list_type): New.
|
14613 |
|
|
(ix86_enum_va_list): New.
|
14614 |
|
|
(TARGET_FN_ABI_VA_LIST): New.
|
14615 |
|
|
(TARGET_CANONICAL_VA_LIST_TYPE): New.
|
14616 |
|
|
* config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
|
14617 |
|
|
* doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
|
14618 |
|
|
(TARGET_CANONICAL_VA_LIST_TYPE): New.
|
14619 |
|
|
(TARGET_ENUM_VA_LIST): New.
|
14620 |
|
|
* expr.h (std_fn_abi_va_list): New.
|
14621 |
|
|
(std_canonical_va_list_type): New.
|
14622 |
|
|
* target-def.h (TARGET_FN_ABI_VA_LIST): New.
|
14623 |
|
|
(TARGET_CANONICAL_VA_LIST_TYPE): New.
|
14624 |
|
|
(TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
|
14625 |
|
|
TARGET_CANONICAL_VA_LIST_TYPE.
|
14626 |
|
|
* target.h (struct gcc_target): Add fn_abi_va_list hook
|
14627 |
|
|
and canonical_va_list_type hook.
|
14628 |
|
|
|
14629 |
|
|
2008-07-05 Andrew Pinski
|
14630 |
|
|
|
14631 |
|
|
* fold-const.c (fold_convert_const): Treat OFFSET_TYPE the same as
|
14632 |
|
|
integral and pointer types.
|
14633 |
|
|
|
14634 |
|
|
2008-07-04 Roger Sayle
|
14635 |
|
|
|
14636 |
|
|
* config/rs6000/host-darwin.c (darwin_rs6000_extra_signals): Cast
|
14637 |
|
|
the "void*" result of xmalloc to "char*" to fix bootstrap breakage.
|
14638 |
|
|
|
14639 |
|
|
2008-07-04 Kaz Kojima
|
14640 |
|
|
|
14641 |
|
|
PR target/36684
|
14642 |
|
|
* config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns for PIC.
|
14643 |
|
|
|
14644 |
|
|
2008-07-04 Jakub Jelinek
|
14645 |
|
|
|
14646 |
|
|
* tree-switch-conversion.c (build_one_array, gen_def_assigns): Use
|
14647 |
|
|
build_gimple_modify_stmt.
|
14648 |
|
|
(build_arrays, gen_inbound_check): Likewise. Force RHS to be
|
14649 |
|
|
gimple operand. Use fold_build* instead of build*.
|
14650 |
|
|
|
14651 |
|
|
2008-07-04 Richard Guenther
|
14652 |
|
|
|
14653 |
|
|
* tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
|
14654 |
|
|
(do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
|
14655 |
|
|
properly to compute the reachability set if we do field-sensitive PTA.
|
14656 |
|
|
* invoke.texi (max-fields-for-field-sensitive): Document default.
|
14657 |
|
|
* opts.c (decode_options): Set max-fields-for-field-sensitive to
|
14658 |
|
|
100 for optimize >= 2.
|
14659 |
|
|
|
14660 |
|
|
2008-07-04 Kaveh R. Ghazi
|
14661 |
|
|
|
14662 |
|
|
* ggc-zone.c (lookup_page_table_if_allocated,
|
14663 |
|
|
set_page_table_entry, zone_find_object_size, alloc_small_page,
|
14664 |
|
|
alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
|
14665 |
|
|
new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
|
14666 |
|
|
-Wc++-compat and/or -Wcast-qual warnings.
|
14667 |
|
|
|
14668 |
|
|
2008-07-04 Alan Modra
|
14669 |
|
|
|
14670 |
|
|
PR target/36634
|
14671 |
|
|
* config/rs6000/rs6000.md (call, call_value): Don't arrange for
|
14672 |
|
|
pic_offset_table_rtx to be marked as used here.
|
14673 |
|
|
(call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
|
14674 |
|
|
TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
|
14675 |
|
|
(call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
|
14676 |
|
|
(sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
|
14677 |
|
|
!TARGET_SECURE_PLT.
|
14678 |
|
|
|
14679 |
|
|
2008-07-03 Kaveh R. Ghazi
|
14680 |
|
|
|
14681 |
|
|
* alloc-pool.c (hash_descriptor, eq_descriptor,
|
14682 |
|
|
alloc_pool_descriptor): Fix -Wc++-compat warnings.
|
14683 |
|
|
* bitmap.c (hash_descriptor, eq_descriptor, bitmap_descriptor):
|
14684 |
|
|
Likewise.
|
14685 |
|
|
* ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
|
14686 |
|
|
loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
|
14687 |
|
|
final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics): Likewise.
|
14688 |
|
|
* varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
|
14689 |
|
|
Likewise.
|
14690 |
|
|
|
14691 |
|
|
2008-07-03 Eric Botcazou
|
14692 |
|
|
|
14693 |
|
|
* tree-flow.h (loop_only_exit_p): Declare.
|
14694 |
|
|
* tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
|
14695 |
|
|
* tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
|
14696 |
|
|
the number of iterations if it is constant. Otherwise, if this is the
|
14697 |
|
|
only possible exit of the loop, use the conservative estimate on the
|
14698 |
|
|
number of iterations of the entire loop if available.
|
14699 |
|
|
|
14700 |
|
|
2008-07-03 Richard Sandiford
|
14701 |
|
|
|
14702 |
|
|
* Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
|
14703 |
|
|
* libgcc-std.ver (GCC_4.4.0): New version, inherited from GCC_4.3.0.
|
14704 |
|
|
Add synchronization functions.
|
14705 |
|
|
* config/sync.c: New file.
|
14706 |
|
|
* config/mips/t-libgcc-mips16 (LIBGCC_SYNC): Define.
|
14707 |
|
|
(LIBGCC_SYNC_CFLAGS): Likewise.
|
14708 |
|
|
|
14709 |
|
|
2008-07-03 Uros Bizjak
|
14710 |
|
|
|
14711 |
|
|
PR target/36710
|
14712 |
|
|
* config/i386/i386.md (mode): Add TF to "mode" attribute.
|
14713 |
|
|
(*pushtf_sse): New insn pattern.
|
14714 |
|
|
(pushtf splitters): New splitters.
|
14715 |
|
|
|
14716 |
|
|
2008-07-03 Michael Meissner
|
14717 |
|
|
|
14718 |
|
|
PR middle-end/35736
|
14719 |
|
|
* predict.c (build_predict_expr): Use void_type_node for the tree
|
14720 |
|
|
type, instead of NULL_TREE.
|
14721 |
|
|
|
14722 |
|
|
2008-07-03 H.J. Lu
|
14723 |
|
|
|
14724 |
|
|
* config/i386/i386.c (contains_aligned_value_p): Return true
|
14725 |
|
|
for TCmode.
|
14726 |
|
|
(ix86_data_alignment): Align TCmode to 128bits.
|
14727 |
|
|
(ix86_local_alignment): Likewise.
|
14728 |
|
|
|
14729 |
|
|
2008-07-03 Andrew Haley
|
14730 |
|
|
|
14731 |
|
|
PR bootstrap/33304
|
14732 |
|
|
* vec.h (VEC_TA): New.
|
14733 |
|
|
(DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
|
14734 |
|
|
DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
|
14735 |
|
|
* c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
|
14736 |
|
|
(C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
|
14737 |
|
|
(C_COMMON_FIXED_TYPES): Remove first arg.
|
14738 |
|
|
(C_COMMON_FIXED_MODE_TYPES): Likewise.
|
14739 |
|
|
* tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
|
14740 |
|
|
MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
|
14741 |
|
|
not to use empty macro arguments.
|
14742 |
|
|
|
14743 |
|
|
2008-07-02 Joseph Myers
|
14744 |
|
|
|
14745 |
|
|
* config/alpha/vms_tramp.asm, config/arm/crti.asm,
|
14746 |
|
|
config/arm/crtn.asm, config/bfin/crti.s, config/bfin/crtlibid.s,
|
14747 |
|
|
config/bfin/crtn.s, config/fr30/crti.asm, config/fr30/crtn.asm,
|
14748 |
|
|
config/frv/lib1funcs.asm, config/i386/sol2-c1.asm,
|
14749 |
|
|
config/i386/sol2-ci.asm, config/i386/sol2-cn.asm,
|
14750 |
|
|
config/i386/sol2-gc1.asm, config/ia64/crti.asm,
|
14751 |
|
|
config/ia64/crtn.asm, config/m68hc11/larith.asm,
|
14752 |
|
|
config/m68hc11/m68hc11-crt0.S, config/m68k/crti.s,
|
14753 |
|
|
config/m68k/crtn.s, config/mcore/crti.asm, config/mcore/crtn.asm,
|
14754 |
|
|
config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
|
14755 |
|
|
config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
|
14756 |
|
|
config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
|
14757 |
|
|
config/rs6000/crtsavres.asm, config/rs6000/e500crtres32gpr.asm,
|
14758 |
|
|
config/rs6000/e500crtres64gpr.asm,
|
14759 |
|
|
config/rs6000/e500crtres64gprctr.asm,
|
14760 |
|
|
config/rs6000/e500crtrest32gpr.asm,
|
14761 |
|
|
config/rs6000/e500crtrest64gpr.asm,
|
14762 |
|
|
config/rs6000/e500crtresx32gpr.asm,
|
14763 |
|
|
config/rs6000/e500crtresx64gpr.asm,
|
14764 |
|
|
config/rs6000/e500crtsav32gpr.asm,
|
14765 |
|
|
config/rs6000/e500crtsav64gpr.asm,
|
14766 |
|
|
config/rs6000/e500crtsav64gprctr.asm,
|
14767 |
|
|
config/rs6000/e500crtsavg32gpr.asm,
|
14768 |
|
|
config/rs6000/e500crtsavg64gpr.asm,
|
14769 |
|
|
config/rs6000/e500crtsavg64gprctr.asm, config/rs6000/eabi-ci.asm,
|
14770 |
|
|
config/rs6000/eabi-cn.asm, config/rs6000/eabi.asm,
|
14771 |
|
|
config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
|
14772 |
|
|
config/rs6000/tramp.asm, config/sparc/sol2-ci.asm,
|
14773 |
|
|
config/sparc/sol2-cn.asm: Remove .file directives.
|
14774 |
|
|
|
14775 |
|
|
2008-07-02 Richard Sandiford
|
14776 |
|
|
|
14777 |
|
|
* resource.c (mark_referenced_resources): Look inside
|
14778 |
|
|
UNSPEC_VOLATILEs and ASM_INPUTs.
|
14779 |
|
|
|
14780 |
|
|
2008-07-02 Ian Lance Taylor
|
14781 |
|
|
|
14782 |
|
|
* rtlanal.c (add_reg_note): New function.
|
14783 |
|
|
* rtl.h (add_reg_note): Declare.
|
14784 |
|
|
* auto-inc-dec.c (attempt_change): Use add_reg_note.
|
14785 |
|
|
* bb-reorder.c (add_reg_crossing_jump_notes): Likewise.
|
14786 |
|
|
* builtins.c (expand_builtin_longjmp): Likewise.
|
14787 |
|
|
(expand_builtin_nonlocal_goto): Likewise.
|
14788 |
|
|
* calls.c (emit_call_1, expand_call): Likewise.
|
14789 |
|
|
* cfgexpand.c (add_reg_br_prob_note): Likewise.
|
14790 |
|
|
* cfglayout.c (fixup_reorder_chain): Likewise.
|
14791 |
|
|
* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
|
14792 |
|
|
(commit_one_edge_insertion): Likewise.
|
14793 |
|
|
* combine.c (move_deaths, distribute_notes): Likewise.
|
14794 |
|
|
* df-problems.c (df_set_note): Likewise.
|
14795 |
|
|
* emit-rtl.c (link_cc0_insns, try_split): Likewise.
|
14796 |
|
|
(set_unique_reg_note): Likewise.
|
14797 |
|
|
(emit_copy_of_insn_after): Likewise.
|
14798 |
|
|
* expr.c (expand_expr_real): Likewise.
|
14799 |
|
|
* gcse.c (add_label_notes): Likewise.
|
14800 |
|
|
* haifa-sched.c (create_check_block_twin): Likewise.
|
14801 |
|
|
* jump.c (mark_jump_label_1): Likewise.
|
14802 |
|
|
* loop-doloop.c (add_test, doloop_modify): Likewise.
|
14803 |
|
|
* loop-unswitch.c (compare_and_jump_seq): Likewise.
|
14804 |
|
|
* lower-subreg.c (move_eh_region_note): Likewise.
|
14805 |
|
|
* optabs.c (emit_libcall_block): Likewise.
|
14806 |
|
|
* predict.c (predict_insn): Likewise.
|
14807 |
|
|
(combine_predictions_for_insn): Likewise.
|
14808 |
|
|
* recog.c (peephole2_optimize): Likewise.
|
14809 |
|
|
* regmove.c (try_auto_increment): Likewise.
|
14810 |
|
|
* reg-stack.c (emit_pop_insn, move_for_stack_reg): Likewise.
|
14811 |
|
|
* reload.c (find_reloads): Likewise.
|
14812 |
|
|
* reload1.c (fixup_eh_region_note): Likewise.
|
14813 |
|
|
(reload_as_needed, add_auto_inc_notes, copy_eh_notes): Likewise.
|
14814 |
|
|
* reorg.c (delete_prior_computation): Likewise.
|
14815 |
|
|
(delete_computation, dbr_schedule): Likewise.
|
14816 |
|
|
* config/pa/pa.c (legitimize_pic_address): Likewise.
|
14817 |
|
|
* config/sh/sh.c (sh_reorg): Likewise.
|
14818 |
|
|
|
14819 |
|
|
2008-07-02 H.J. Lu
|
14820 |
|
|
|
14821 |
|
|
PR target/36669
|
14822 |
|
|
* config/libgcc-glibc.ver: Add %exclude.
|
14823 |
|
|
* config/m32r/libgcc-glibc.ver: Likwise.
|
14824 |
|
|
* config/s390/libgcc-glibc.ver: Likwise.
|
14825 |
|
|
* config/sh/libgcc-glibc.ver: Likwise.
|
14826 |
|
|
* config/sparc/libgcc-sparc-glibc.ver: Likwise.
|
14827 |
|
|
|
14828 |
|
|
* config/i386/libgcc-glibc.ver: New.
|
14829 |
|
|
|
14830 |
|
|
* config/i386/libgcc-x86_64-glibc.ver: Removed.
|
14831 |
|
|
|
14832 |
|
|
2008-07-02 H.J. Lu
|
14833 |
|
|
|
14834 |
|
|
* config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
|
14835 |
|
|
from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
|
14836 |
|
|
i[34567]86-*-linux*, x86_64-*-linux*. Add
|
14837 |
|
|
i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
|
14838 |
|
|
i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
|
14839 |
|
|
x86_64-*-linux*. Add i386/t-linux to tmake_file for
|
14840 |
|
|
i[34567]86-*-linux*, x86_64-*-linux*.
|
14841 |
|
|
|
14842 |
|
|
* libgcc-std.ver: Add empty GCC_4.4.0.
|
14843 |
|
|
|
14844 |
|
|
* mkmap-symver.awk: Support multiple versions per symbol.
|
14845 |
|
|
|
14846 |
|
|
* config/i386/i386.c (ix86_init_builtins): Always define
|
14847 |
|
|
__builtin_fabsq and __builtin_copysignq with fallbacks.
|
14848 |
|
|
(ix86_expand_builtin): Emit normal call for __builtin_fabsq
|
14849 |
|
|
and __builtin_copysignq if SSE2 isn't available.
|
14850 |
|
|
|
14851 |
|
|
* config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
|
14852 |
|
|
(LIBGCC2_TF_CEXT): Likwise.
|
14853 |
|
|
(TF_SIZE): Likwise.
|
14854 |
|
|
|
14855 |
|
|
* config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.
|
14856 |
|
|
|
14857 |
|
|
* config/i386/sfp-machine.h: Moved to libgcc.
|
14858 |
|
|
|
14859 |
|
|
* config/i386/sfp-machine.h: New.
|
14860 |
|
|
* config/i386/t-linux: Likwise.
|
14861 |
|
|
|
14862 |
|
|
* config/i386/t-darwin: Remove softfp_wrap_start and
|
14863 |
|
|
softfp_wrap_end.
|
14864 |
|
|
* config/i386/t-darwin64: Likewise.
|
14865 |
|
|
|
14866 |
|
|
* config/i386/t-fprules-softfp64: Renamed to ...
|
14867 |
|
|
* config/i386/t-fprules-softfp: This.
|
14868 |
|
|
|
14869 |
|
|
* config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
|
14870 |
|
|
and softfp_wrap_end.
|
14871 |
|
|
|
14872 |
|
|
2008-07-02 Jason Merrill
|
14873 |
|
|
|
14874 |
|
|
* tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
|
14875 |
|
|
|
14876 |
|
|
* tree.c (ctor_to_list): New fn.
|
14877 |
|
|
* tree.h: Declare it.
|
14878 |
|
|
(CONSTRUCTOR_ELT): New macro.
|
14879 |
|
|
(CONSTRUCTOR_NELTS): New macro.
|
14880 |
|
|
|
14881 |
|
|
2008-07-02 Richard Guenther
|
14882 |
|
|
|
14883 |
|
|
* tree-ssa-structalias.c (struct variable_info): Reorder
|
14884 |
|
|
to fill padding on 64bit hosts. Make collapsed_to an int.
|
14885 |
|
|
(get_varinfo_fc): Deal with that.
|
14886 |
|
|
(new_var_info): Likewise.
|
14887 |
|
|
(collapse_rest_of_var): Likewise.
|
14888 |
|
|
|
14889 |
|
|
2008-07-02 Joshua Sumali
|
14890 |
|
|
|
14891 |
|
|
* doc/install.texi (--enable-java-home): Document.
|
14892 |
|
|
(--enable-aot-compile-rpm): Likewise.
|
14893 |
|
|
(--with-arch-directory): Likewise.
|
14894 |
|
|
(--with-os-directory): Likewise.
|
14895 |
|
|
(--with-origin-name): Likewise.
|
14896 |
|
|
(--with-arch-suffix): Likewise.
|
14897 |
|
|
(--with-jvm-root-dir): Likewise.
|
14898 |
|
|
(--with-jvm-jar-dir): Likewise.
|
14899 |
|
|
(--with-python-dir): Likewise.
|
14900 |
|
|
|
14901 |
|
|
2008-07-02 Richard Guenther
|
14902 |
|
|
|
14903 |
|
|
* tree-ssa-forwprop.c (can_propagate_from): Exclude loads
|
14904 |
|
|
from decls explicitly. Merge operand checking from tuples.
|
14905 |
|
|
|
14906 |
|
|
2008-07-02 Martin Jambor
|
14907 |
|
|
|
14908 |
|
|
* tree-switch-conversion.c: Included timevar.h which I forgot before.
|
14909 |
|
|
|
14910 |
|
|
2008-07-02 Martin Jambor
|
14911 |
|
|
|
14912 |
|
|
* tree-switch-conversion.c: Included timevar.h
|
14913 |
|
|
(pass_convert_switch): Added a timevar id (TV_TREE_SWITCH_CONVERSION).
|
14914 |
|
|
|
14915 |
|
|
* timevar.def: Added TV_TREE_SWITCH_CONVERSION.
|
14916 |
|
|
|
14917 |
|
|
2008-07-02 Martin Jambor
|
14918 |
|
|
|
14919 |
|
|
* tree-switch-conversion.c: Corrected various comments and
|
14920 |
|
|
whitespace issues
|
14921 |
|
|
(build_constructors): Fixed minor formatting mistakes.
|
14922 |
|
|
|
14923 |
|
|
* invoke.texi (Optimize Options): Corrected the
|
14924 |
|
|
switch-conversion-max-branch-ratio parameter.
|
14925 |
|
|
|
14926 |
|
|
2008-07-02 Mark Shinwell
|
14927 |
|
|
|
14928 |
|
|
* final.c (asm_insn_count): Return zero for an empty asm body.
|
14929 |
|
|
|
14930 |
|
|
2008-07-02 Richard Guenther
|
14931 |
|
|
|
14932 |
|
|
* bitmap.h (bitmap_set_bit): Return bool.
|
14933 |
|
|
(bitmap_clear_bit): Likewise.
|
14934 |
|
|
* bitmap.c (bitmap_set_bit): Return if the bit changed. Only
|
14935 |
|
|
write to the bitmap if it would.
|
14936 |
|
|
(bitmap_clear_bit): Likewise.
|
14937 |
|
|
* tree-ssa-structalias.c (add_implicit_graph_edge): Use
|
14938 |
|
|
bitmap_set_bit return value.
|
14939 |
|
|
(add_pred_graph_edge): Likewise.
|
14940 |
|
|
(add_graph_edge): Likewise.
|
14941 |
|
|
(do_sd_constraint): Likewise.
|
14942 |
|
|
(do_ds_constraint): Likewise.
|
14943 |
|
|
|
14944 |
|
|
2008-07-02 Kaveh R. Ghazi
|
14945 |
|
|
|
14946 |
|
|
* config/alpha/alpha.c (alpha_need_linkage, alpha_use_linkage):
|
14947 |
|
|
Fix -Wc++-compat and/or -Wcast-qual warnings.
|
14948 |
|
|
* config/i386/netware.c (gen_stdcall_or_fastcall_decoration,
|
14949 |
|
|
gen_regparm_prefix): Likewise.
|
14950 |
|
|
* vmsdbgout.c (write_modbeg, lookup_filename,
|
14951 |
|
|
vmsdbgout_source_line, vmsdbgout_init): Likewise.
|
14952 |
|
|
|
14953 |
|
|
2008-07-02 Danny Smith
|
14954 |
|
|
|
14955 |
|
|
* config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Undef to let
|
14956 |
|
|
defaults.h definition apply.
|
14957 |
|
|
|
14958 |
|
|
2008-07-01 Daniel Jacobowitz
|
14959 |
|
|
|
14960 |
|
|
* function.c (assign_parm_remove_parallels): New.
|
14961 |
|
|
(assign_parm_setup_block_p): Do not return true for non-BLKmode
|
14962 |
|
|
PARALLELs.
|
14963 |
|
|
(assign_parm_setup_block): Do not handle them.
|
14964 |
|
|
(assign_parm_setup_reg, assign_parm_setup_stack): Call
|
14965 |
|
|
assign_parm_remove_parallels.
|
14966 |
|
|
|
14967 |
|
|
2008-07-01 Daniel Jacobowitz
|
14968 |
|
|
|
14969 |
|
|
* c-typeck.c (convert_for_assignment): Use
|
14970 |
|
|
vector_targets_convertible_p.
|
14971 |
|
|
* c-common.c (vector_targets_convertible_p): New.
|
14972 |
|
|
* c-common.h (vector_targets_convertible_p): New prototype.
|
14973 |
|
|
* config/rs6000/rs6000.c (rs6000_is_opaque_type): Do not check
|
14974 |
|
|
opaque_p_V2SI_type_node.
|
14975 |
|
|
|
14976 |
|
|
2008-07-01 Steve Ellcey
|
14977 |
|
|
|
14978 |
|
|
* config/ia64/ia64.c (ia64_cannot_force_const_mem): Do not allow
|
14979 |
|
|
RFmode constants.
|
14980 |
|
|
|
14981 |
|
|
2008-07-01 Uros Bizjak
|
14982 |
|
|
|
14983 |
|
|
* config/i386/i386.c (ix86_build_signbit_mask): Generate TImode and
|
14984 |
|
|
TFmode constants via two element DImode vector for hosts with
|
14985 |
|
|
HOST_BITS_PER_WIDE_INT < 64.
|
14986 |
|
|
(ix86_init_builtins): Define __builtin_fabsq and __builtin_copysignq
|
14987 |
|
|
also for HOST_BITS_PER_WIDE_INT < 64.
|
14988 |
|
|
|
14989 |
|
|
2008-07-01 Richard Guenther
|
14990 |
|
|
|
14991 |
|
|
PR tree-optimization/36666
|
14992 |
|
|
* tree-ssa-structalias.c (get_constraint_for_1): Declare.
|
14993 |
|
|
(get_constraint_exp_from_ssa_var): Split into ...
|
14994 |
|
|
(get_constraint_exp_for_temp): ... this ...
|
14995 |
|
|
(get_constraint_for_ssa_var): ... and that.
|
14996 |
|
|
Return constraint expressions for all touched sub-fields
|
14997 |
|
|
if the results address is not taken.
|
14998 |
|
|
(process_constraint): Remove assertion that aggregate
|
14999 |
|
|
assignments do not happen at this place.
|
15000 |
|
|
(get_constraint_for_component_ref): Add address_p argument.
|
15001 |
|
|
Return constraint expressions for all touched sub-fields
|
15002 |
|
|
if the results address is not taken.
|
15003 |
|
|
(do_deref): Use get_constraint_exp_for_temp.
|
15004 |
|
|
(get_constraint_for_1): Rename from ...
|
15005 |
|
|
(get_constraint_for): ... this. Add the old function as wrapper.
|
15006 |
|
|
(do_structure_copy): Use get_constraint_for_1.
|
15007 |
|
|
|
15008 |
|
|
2008-07-01 Martin Jambor
|
15009 |
|
|
|
15010 |
|
|
* Makefile.in (tree-switch-conversion.o): Add.
|
15011 |
|
|
(OBJS-common): Add tree-swtch-conversion.o.
|
15012 |
|
|
* passes.c (init_optimization_passes): Add pass_convert_switch.
|
15013 |
|
|
* tree-pass.h (pass_convert_switch): Add.
|
15014 |
|
|
* tree-switch-conversion.c: New file.
|
15015 |
|
|
* gcc.dg/tree-ssa/cswtch.c: New testcase.
|
15016 |
|
|
* common.opt (ftree-cswtch): New option.
|
15017 |
|
|
* params.h (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
|
15018 |
|
|
* params.def (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
|
15019 |
|
|
* opts.c (decode_options): Set flag_tree_switch_conversion when
|
15020 |
|
|
optimization level is >= 2.
|
15021 |
|
|
* doc/invoke.texi (Optimize Options): Added description of
|
15022 |
|
|
-ftree-swtch-conversion and switch-conversion-max-branch-ratio.
|
15023 |
|
|
|
15024 |
|
|
2008-06-30 Kaveh R. Ghazi
|
15025 |
|
|
|
15026 |
|
|
* config/darwin-driver.c (darwin_default_min_version): Fix
|
15027 |
|
|
-Wc++-compat warnings.
|
15028 |
|
|
|
15029 |
|
|
2008-06-30 Uros Bizjak
|
15030 |
|
|
|
15031 |
|
|
* config/i386/i386.md (*movti_rex64): Add "!" to "r" constraint
|
15032 |
|
|
of operand 0.
|
15033 |
|
|
|
15034 |
|
|
2008-06-30 Kenneth Zadeck
|
15035 |
|
|
|
15036 |
|
|
* ifcvt.c (cond_move_process_if_block): Free vectors on false return.
|
15037 |
|
|
|
15038 |
|
|
2008-06-30 Kenneth Zadeck
|
15039 |
|
|
|
15040 |
|
|
PR rtl-optimization/34744
|
15041 |
|
|
* df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros.
|
15042 |
|
|
(df_scan_free_internal): Free data structures not
|
15043 |
|
|
allocated in storage pools.
|
15044 |
|
|
(df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec.
|
15045 |
|
|
(df_refs_add_to_chains): Use df_scan_free_ref_vec and
|
15046 |
|
|
df_scan_free_mws_vec.
|
15047 |
|
|
* dse.c (dse_step6): Free offset_map_p and offset_map_n
|
15048 |
|
|
unconditionally.
|
15049 |
|
|
|
15050 |
|
|
2008-06-30 H.J. Lu
|
15051 |
|
|
|
15052 |
|
|
* config/i386/i386.c (contains_aligned_value_p): Return true
|
15053 |
|
|
for __float128.
|
15054 |
|
|
(ix86_function_arg_boundary): Return its natural boundary
|
15055 |
|
|
for __float128.
|
15056 |
|
|
(return_in_memory_32): Don't check TDmode.
|
15057 |
|
|
(ix86_split_to_parts): Support splitting into 4 parts and
|
15058 |
|
|
support TFmode for 32bit target.
|
15059 |
|
|
(ix86_split_long_move): Support splitting into 4 parts.
|
15060 |
|
|
(bdesc_args): Enable IX86_BUILTIN_FABSQ and IX86_BUILTIN_COPYSIGNQ
|
15061 |
|
|
for SSE2.
|
15062 |
|
|
(ix86_init_mmx_sse_builtins): Move __float80 and __float128 to ...
|
15063 |
|
|
(ix86_init_builtins): Here.
|
15064 |
|
|
(ix86_scalar_mode_supported_p): Always return true for TFmode.
|
15065 |
|
|
(ix86_c_mode_for_suffix): Always return TFmode and XFmode for
|
15066 |
|
|
'q' and 'w', respectively.
|
15067 |
|
|
|
15068 |
|
|
* config/i386/i386.md (movtf): Check TARGET_SSE2 instead of
|
15069 |
|
|
TARGET_64BIT.
|
15070 |
|
|
(movtf_internal): Likewise.
|
15071 |
|
|
(tf2): Likewise.
|
15072 |
|
|
(*absnegtf2_sse): Likewise.
|
15073 |
|
|
(copysign3): Likewise.
|
15074 |
|
|
(copysign3_const): Likewise.
|
15075 |
|
|
(copysign3_var): Likewise.
|
15076 |
|
|
(define_split UNSPEC_COPYSIGN): Likewise.
|
15077 |
|
|
* config/i386/sse.md (*nandtf3): Likewise.
|
15078 |
|
|
(tf3): Likewise.
|
15079 |
|
|
(*tf3): Likewise.
|
15080 |
|
|
|
15081 |
|
|
2008-06-30 Joey Ye
|
15082 |
|
|
H.J. Lu
|
15083 |
|
|
|
15084 |
|
|
* global.c (compute_regsets): Set frame_pointer_needed here.
|
15085 |
|
|
* reload1.c (init_elim_table): Don't set frame_pointer_needed here.
|
15086 |
|
|
|
15087 |
|
|
2008-06-30 Aaron W. LaFramboise
|
15088 |
|
|
|
15089 |
|
|
* doc/install.texi (specific): Expand Windows build notes.
|
15090 |
|
|
|
15091 |
|
|
2008-06-30 Ira Rosen
|
15092 |
|
|
|
15093 |
|
|
PR tree-optimization/36648
|
15094 |
|
|
* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide
|
15095 |
|
|
number of prolog iterations by step. Fix the comment.
|
15096 |
|
|
|
15097 |
|
|
2008-06-30 Richard Guenther
|
15098 |
|
|
|
15099 |
|
|
PR middle-end/36671
|
15100 |
|
|
* tree-ssa-structalias.c (handle_lhs_call): Add flags argument,
|
15101 |
|
|
handle calls from ECF_MALLOC functions.
|
15102 |
|
|
(handle_pure_call): ECF_MALLOC functions do not return
|
15103 |
|
|
call-used memory.
|
15104 |
|
|
(find_func_aliases): Handle all calls, adjust calls to handle_lhs_call.
|
15105 |
|
|
|
15106 |
|
|
2008-06-29 Andreas Schwab
|
15107 |
|
|
|
15108 |
|
|
* config/m68k/m68k.c (print_operand): Always print a float
|
15109 |
|
|
constant in hex.
|
15110 |
|
|
* config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND)
|
15111 |
|
|
(ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND):
|
15112 |
|
|
Remove macros.
|
15113 |
|
|
|
15114 |
|
|
* config/rs6000/x-linux64: Remove never used file.
|
15115 |
|
|
|
15116 |
|
|
2008-06-29 Richard Guenther
|
15117 |
|
|
|
15118 |
|
|
* tree-ssa-structalias.h (compute_points_to_sets): Adjust
|
15119 |
|
|
prototype.
|
15120 |
|
|
(struct alias_info): Move ...
|
15121 |
|
|
* tree-ssa-alias.c: ... here.
|
15122 |
|
|
(update_alias_info): Declare.
|
15123 |
|
|
(compute_may_aliases): Call it.
|
15124 |
|
|
(update_alias_info): New function.
|
15125 |
|
|
* tree-ssa-structalias.c (update_alias_info): Move ...
|
15126 |
|
|
* tree-ssa-alias.c (update_alias_info_1): ... here.
|
15127 |
|
|
* tree-ssa-structalias.c (process_constraint_1): Remove
|
15128 |
|
|
unused from_call argument. Rename to ...
|
15129 |
|
|
(process_constraint): ... this. Delete old wrapper.
|
15130 |
|
|
(make_constraint_to): Adjust callers.
|
15131 |
|
|
(handle_const_call): Likewise.
|
15132 |
|
|
(handle_pure_call): Likewise.
|
15133 |
|
|
(init_base_vars): Likewise.
|
15134 |
|
|
(handle_lhs_call): Likewise. Remove unnecessary constraint.
|
15135 |
|
|
(find_func_aliases): We don't need structure copies for
|
15136 |
|
|
complex types.
|
15137 |
|
|
(make_constraint_from_anything): Remove.
|
15138 |
|
|
(create_variable_info_for): For globals make constraints
|
15139 |
|
|
from escaped, not from anything.
|
15140 |
|
|
(compute_points_to_sets): Do not call update_alias_info.
|
15141 |
|
|
(ipa_pta_execute): Use make_constraint_from.
|
15142 |
|
|
|
15143 |
|
|
2008-06-29 Kaveh R. Ghazi
|
15144 |
|
|
|
15145 |
|
|
* Makefile.in (CXX_COMPAT_WARN, cxx_compat_warn): Delete.
|
15146 |
|
|
(bitmap.o-warn, dominance.o-warn): New.
|
15147 |
|
|
* configure.ac (cxx_compat_warn): Delete.
|
15148 |
|
|
(loose_warn): Add -Wcast-qual and -Wc++-compat.
|
15149 |
|
|
* system.h: Remove #pragma diagnostic for -Wcast-qual and
|
15150 |
|
|
-Wc++-compat.
|
15151 |
|
|
* configure: Regenerate.
|
15152 |
|
|
|
15153 |
|
|
* optabs.c (libfunc_decl_hash, libfunc_decl_eq): Fix -Wcast-qual
|
15154 |
|
|
warnings.
|
15155 |
|
|
|
15156 |
|
|
2008-06-29 Kaveh R. Ghazi
|
15157 |
|
|
|
15158 |
|
|
* alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings.
|
15159 |
|
|
* df-scan.c (df_notes_rescan): Likewise.
|
15160 |
|
|
* ggc-page.c (set_page_table_entry): Likewise.
|
15161 |
|
|
* intl.c (gcc_gettext_width): Likewise.
|
15162 |
|
|
* varasm.c (get_unnamed_section, get_noswitch_section,
|
15163 |
|
|
get_section): Likewise.
|
15164 |
|
|
|
15165 |
|
|
2008-06-28 Andrew Jenner
|
15166 |
|
|
|
15167 |
|
|
* regrename.c (build_def_use): Don't copy RTX.
|
15168 |
|
|
|
15169 |
|
|
2008-06-28 Sandra Loosemore
|
15170 |
|
|
|
15171 |
|
|
* doc/extend.texi (Variable Attributes): Use @ref instead of @xref.
|
15172 |
|
|
(Type Attributes): Fix nesting of @table and @subsection. Adjust
|
15173 |
|
|
punctuation. Use @ref instead of @xref.
|
15174 |
|
|
(Function Names): Remove stray @display/@end display.
|
15175 |
|
|
(C++ Attributes): Use @ref instead of @xref.
|
15176 |
|
|
(Deprecated Features): Fix punctuation around @xref.
|
15177 |
|
|
(Backwards Compatibility): Likewise.
|
15178 |
|
|
* doc/rtl.texi (Incdec): Remove stray @table/@end table.
|
15179 |
|
|
|
15180 |
|
|
2008-06-28 Joseph Myers
|
15181 |
|
|
|
15182 |
|
|
* config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
|
15183 |
|
|
constants for E500 double.
|
15184 |
|
|
|
15185 |
|
|
2008-06-28 Ulrich Weigand
|
15186 |
|
|
|
15187 |
|
|
* doc/rtl.texi (const_vector): Document const_fixed as legitimate
|
15188 |
|
|
element type of const_vector.
|
15189 |
|
|
|
15190 |
|
|
2008-06-28 Uros Bizjak
|
15191 |
|
|
|
15192 |
|
|
* config/i386/i386.md (addti3, adddi3, addsi3, addhi3, addqi3):
|
15193 |
|
|
Remove FLAGS_REG clobber from expander pattern.
|
15194 |
|
|
(subti3, subdi3, subsi3, subhi3, subqi3): Ditto.
|
15195 |
|
|
(anddi3, andsi3, andhi3, andqi3): Ditto.
|
15196 |
|
|
(iordi3, iorsi3, iorhi3, iorqi3): Ditto.
|
15197 |
|
|
(xordi3, xorsi3, xorhi3, xorqi3): Ditto.
|
15198 |
|
|
(negti2, negdi2, negsi2, neghi2, negqi2): Ditto.
|
15199 |
|
|
(ashlsi3, ashlhi3, ashlqi3): Ditto.
|
15200 |
|
|
(ashrsi3, ashrhi3, ashrqi3): Ditto.
|
15201 |
|
|
(lshrsi3, lshrhi3, lshrqi3): Ditto.
|
15202 |
|
|
(rotldi3, rotlsi3, rotlhi3, rotlqi3): Ditto.
|
15203 |
|
|
(rotrdi3, rotrsi3, rotrhi3, rotrqi3): Ditto.
|
15204 |
|
|
|
15205 |
|
|
2008-06-28 Richard Guenther
|
15206 |
|
|
|
15207 |
|
|
* tree-ssa-structalias.c (callused_id, var_callused,
|
15208 |
|
|
callused_tree): Add.
|
15209 |
|
|
(handle_pure_call): New function.
|
15210 |
|
|
(find_func_aliases): Call it.
|
15211 |
|
|
(find_what_p_points_to): Handle the call-used set.
|
15212 |
|
|
(clobber_what_escaped): Likewise.
|
15213 |
|
|
(compute_call_used_vars): New function.
|
15214 |
|
|
(init_base_vars): Init the call-used variable.
|
15215 |
|
|
(do_sd_constraint): Do not propagate the solution from CALLUSED
|
15216 |
|
|
but use CALLUSED as a placeholder.
|
15217 |
|
|
(solve_graph): Likewise.
|
15218 |
|
|
* tree-flow-inline.h (gimple_call_used_vars): New function.
|
15219 |
|
|
* tree-flow.h (struct gimple_df): Add call_used_vars bitmap.
|
15220 |
|
|
(compute_call_used_vars): Declare.
|
15221 |
|
|
* tree-ssa-alias.c (set_initial_properties): Call
|
15222 |
|
|
compute_call_used_vars.
|
15223 |
|
|
(reset_alias_info): Clear call-used variables.
|
15224 |
|
|
(add_call_clobber_ops): Assert we are not called for const/pure
|
15225 |
|
|
functions. Remove handling of them.
|
15226 |
|
|
(add_call_read_ops): Handle pure functions by adding the
|
15227 |
|
|
call-used set of variables as VUSEs.
|
15228 |
|
|
* tree-ssa.c (init_tree_ssa): Allocate call-used bitmap.
|
15229 |
|
|
(delete_tree_ssa): Free it.
|
15230 |
|
|
* tree-dfa.c (remove_referenced_var): Clear the var from the
|
15231 |
|
|
call-used bitmap.
|
15232 |
|
|
|
15233 |
|
|
2008-06-28 Kai Tietz
|
15234 |
|
|
|
15235 |
|
|
* tree.c (build_varargs_function_type_list): New.
|
15236 |
|
|
(build_function_type_list_1): New.
|
15237 |
|
|
(build_function_type_list): Use build_function_type_list_1.
|
15238 |
|
|
* tree.h (build_varargs_function_type_list): New.
|
15239 |
|
|
|
15240 |
|
|
2008-06-28 Ulrich Weigand
|
15241 |
|
|
|
15242 |
|
|
PR target/34856
|
15243 |
|
|
* config/spu/spu.c (spu_builtin_splats): Do not generate
|
15244 |
|
|
invalid CONST_VECTOR expressions.
|
15245 |
|
|
(spu_expand_vector_init): Likewise.
|
15246 |
|
|
|
15247 |
|
|
2008-06-28 Richard Sandiford
|
15248 |
|
|
|
15249 |
|
|
* optabs.c (libfunc_decls): New variable.
|
15250 |
|
|
(libfunc_decl_hash, libfunc_decl_eq): New functions.
|
15251 |
|
|
(init_one_libfunc): Reuse decls and SYMBOL_REFs when asked
|
15252 |
|
|
for the same function twice.
|
15253 |
|
|
|
15254 |
|
|
2008-06-27 Uros Bizjak
|
15255 |
|
|
|
15256 |
|
|
* config/i386/i386.md (ashlti3, ashrti3, lshrti3): Expand using
|
15257 |
|
|
ix86_expand_binary_operator directly.
|
15258 |
|
|
(*ashlti3_1): Rename from ashlti3_1. Use nonmemory_operand predicate
|
15259 |
|
|
for operand 2.
|
15260 |
|
|
(*ashrti3_1): Ditto.
|
15261 |
|
|
(*lshrti3_1): Ditto.
|
15262 |
|
|
(*ashlti3_2, *ashrti3_2, *lshrti3_2): Remove insn patterns.
|
15263 |
|
|
(ashlti, ashrti and lshrti splitters): Handle nonmemory operand 2
|
15264 |
|
|
using only one splitter. Conditionaly execute splitter before or
|
15265 |
|
|
after peephole2 pass.
|
15266 |
|
|
(ashlti, ashrti and lshrti peephole2): Define peephole2 patterns.
|
15267 |
|
|
(x86_shld): Rename from x86_shld_1. Compress operand 2 constraints.
|
15268 |
|
|
Use only one alternative in asm template.
|
15269 |
|
|
(x86_64_shld): Compress operand 2 constraints. Use only one alternative
|
15270 |
|
|
in asm template.
|
15271 |
|
|
(*ashldi3_cmp_rex64): Use const_1_to_63_operand operand predicate and
|
15272 |
|
|
"J" operand constraint for operand 2.
|
15273 |
|
|
(*ashldi3_cconly_rex64): Ditto.
|
15274 |
|
|
(*ashrdi3_cmp_rex64): Ditto.
|
15275 |
|
|
(*ashrdi3_cconly_rex64): Ditto.
|
15276 |
|
|
(*lshrdi3_cmp_rex64): Ditto.
|
15277 |
|
|
(*lshrdi3_cconly_rex64): Ditto.
|
15278 |
|
|
* config/i386/predicates.md (const_1_to_63_operand): New predicate.
|
15279 |
|
|
* config/i386/i386.md (print_operand) ['s']: Print ", " using fputs.
|
15280 |
|
|
(split_ashr, split_ashl, split_lshr): Use gen_x86_shrd instead of
|
15281 |
|
|
gen_x86_shrd_1.
|
15282 |
|
|
|
15283 |
|
|
2008-06-27 Jakub Jelinek
|
15284 |
|
|
|
15285 |
|
|
* gimplify.c (omp_is_private): Don't return true if decl is not
|
15286 |
|
|
already private on #pragma omp for or #pragma omp parallel for.
|
15287 |
|
|
|
15288 |
|
|
PR debug/36617
|
15289 |
|
|
* tree-cfg.c (struct move_stmt_d): Replace block field with
|
15290 |
|
|
orig_block and new_block fields.
|
15291 |
|
|
(move_stmt_r): Only set TREE_BLOCK to p->new_block if
|
15292 |
|
|
if it used to be NULL, p->orig_block or if p->orig_block is NULL.
|
15293 |
|
|
(move_block_to_fn): Replace vars_map and new_label_map arguments
|
15294 |
|
|
with struct move_stmt_d pointer.
|
15295 |
|
|
(replace_block_vars_by_duplicates): New function.
|
15296 |
|
|
(move_sese_region_to_fn): Add ORIG_BLOCK argument. Adjust
|
15297 |
|
|
move_block_to_fn caller. If ORIG_BLOCK is non-NULL, move over
|
15298 |
|
|
all subblocks of ORIG_BLOCK to the new function. Call
|
15299 |
|
|
replace_block_vars_by_duplicates.
|
15300 |
|
|
* tree-flow.h (move_sese_region_to_fn): Adjust prototype.
|
15301 |
|
|
* omp-low.c (expand_omp_taskreg): Set TREE_USED on DECL_INITIAL
|
15302 |
|
|
BLOCK of the new function. Adjust move_sese_region_to_fn caller.
|
15303 |
|
|
Prune vars with original DECL_CONTEXT from child_cfun->local_decls.
|
15304 |
|
|
(expand_omp): Temporarily set input_location to the location of
|
15305 |
|
|
region's controlling stmt.
|
15306 |
|
|
(lower_omp_sections, lower_omp_for): Add a BLOCK into outermost
|
15307 |
|
|
BIND_EXPR, push ctx->block_vars and gimplification vars into
|
15308 |
|
|
the BIND_EXPR and its block's BLOCK_VARS instead of directly
|
15309 |
|
|
into dest function.
|
15310 |
|
|
(lower_omp_single): Set TREE_USED on the BIND_EXPR's BLOCK if
|
15311 |
|
|
there are any BLOCK_VARS.
|
15312 |
|
|
(lower_omp_taskreg): Set BLOCK on a BIND_EXPR containing the
|
15313 |
|
|
OMP_PARALLEL or OMP_TASK stmt.
|
15314 |
|
|
(lower_omp): Save and restore input_location around the lower_omp_1
|
15315 |
|
|
call.
|
15316 |
|
|
|
15317 |
|
|
2008-06-27 Richard Guenther
|
15318 |
|
|
|
15319 |
|
|
PR tree-optimization/36400
|
15320 |
|
|
PR tree-optimization/36373
|
15321 |
|
|
PR tree-optimization/36344
|
15322 |
|
|
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
|
15323 |
|
|
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
|
15324 |
|
|
(update_alias_info): Remove call clobbering code.
|
15325 |
|
|
(make_constraint_to): New helper function.
|
15326 |
|
|
(make_escape_constraint): Likewise.
|
15327 |
|
|
(handle_rhs_call): Use it on all pointer containing arguments.
|
15328 |
|
|
Also mark the static chain escaped.
|
15329 |
|
|
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
|
15330 |
|
|
instead of ANYTHING.
|
15331 |
|
|
(make_constraint_from): New helper split out from ...
|
15332 |
|
|
(make_constraint_from_anything): ... here.
|
15333 |
|
|
(find_func_aliases): Add constraints for escape sites.
|
15334 |
|
|
(intra_create_variable_infos): Make constraints from NONLOCAL
|
15335 |
|
|
for parameters.
|
15336 |
|
|
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
|
15337 |
|
|
as ANYTHING.
|
15338 |
|
|
(clobber_what_p_points_to): Remove.
|
15339 |
|
|
(clobber_what_escaped): New function.
|
15340 |
|
|
(init_base_vars): Init NONLOCAL and ESCAPED.
|
15341 |
|
|
(do_sd_constraint): Do not propagate the solution from ESCAPED
|
15342 |
|
|
but use ESCAPED as a placeholder.
|
15343 |
|
|
(solve_graph): Likewise.
|
15344 |
|
|
* tree-flow.h (clobber_what_p_points_to): Remove.
|
15345 |
|
|
(clobber_what_escaped): Declare.
|
15346 |
|
|
* tree-ssa-alias.c (set_initial_properties): Call it.
|
15347 |
|
|
Remove code clobbering escaped pointers.
|
15348 |
|
|
|
15349 |
|
|
2008-06-27 Richard Sandiford
|
15350 |
|
|
|
15351 |
|
|
* function.c (allocate_struct_function): Only allocate a unique
|
15352 |
|
|
funcdef_no if the decl is nonzero.
|
15353 |
|
|
|
15354 |
|
|
2008-06-27 Richard Sandiford
|
15355 |
|
|
|
15356 |
|
|
* config/mips/mips-protos.h (mips_split_const_insns): Declare.
|
15357 |
|
|
* config/mips/mips.c (mips_split_const_insns): New function.
|
15358 |
|
|
* config/mips/mips.md (move_type): New attribute.
|
15359 |
|
|
(mode): Move attribute definition earlier in file. Add "TI" and "TF".
|
15360 |
|
|
(dword_mode): New attribute.
|
15361 |
|
|
(type): Avoid long line. Map "move_type"s to "type"s,
|
15362 |
|
|
choosing "multi" for doubleword moves if appropriate.
|
15363 |
|
|
Swap MTC/MFC comments to match their declaration order.
|
15364 |
|
|
(extended_mips16): Default to "yes" if "move_type" is "sll0",
|
15365 |
|
|
"type" is "branch" or "jal" is "direct".
|
15366 |
|
|
(length): Handle "extended_mips16" first. Make the default
|
15367 |
|
|
"0" for "ghost" instructions. Set the length from "move_type".
|
15368 |
|
|
(truncdisi2, truncdihi2, truncdiqi2): Use "move_type" instead
|
15369 |
|
|
of "type", with "sll0" for the register alternative. Remove the
|
15370 |
|
|
"extended_mips16" attribute.
|
15371 |
|
|
(zero_extendsidi2, *clear_upper32): Use "move_type" instead
|
15372 |
|
|
of "type", with "shift_shift" for the register alternative.
|
15373 |
|
|
Remove the "length" attribute.
|
15374 |
|
|
(*extend2, *extendqihi2): Likewise.
|
15375 |
|
|
(*zero_extend2): Use "move_type" instead
|
15376 |
|
|
of "type", with "andi" for the register alternative.
|
15377 |
|
|
(*zero_extendqihi2): Likewise.
|
15378 |
|
|
(*zero_extend2_mips16e): Use a "move_type"
|
15379 |
|
|
of "andi" instead of a "type" of "arith".
|
15380 |
|
|
(*zero_extend2_mips16): Use "move_type"
|
15381 |
|
|
instead of "type".
|
15382 |
|
|
(*zero_extendqihi2_mips16, mov_l, mov_r, mov_l)
|
15383 |
|
|
(mov_r, *mov_ra): Likewise.
|
15384 |
|
|
(extendsidi2): Use "move_type" instead of "type", with "move"
|
15385 |
|
|
for the register alternative.
|
15386 |
|
|
(*extend2_mips16e): Use "move_type" instead
|
15387 |
|
|
of "type", with "signext" for the register alternative.
|
15388 |
|
|
(*extend2_se): Likewise.
|
15389 |
|
|
(*extendqihi2_mips16e, *extendqihi2_seb): Likewise.
|
15390 |
|
|
(fix_truncdfsi2_insn, fix_truncsfsi2_insn, fix_truncdfdi2)
|
15391 |
|
|
(fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2, floatdisf2)
|
15392 |
|
|
(floatdisf2, *branch_equality_mips16): Likewise.
|
15393 |
|
|
(unnamed branch insn): Likewise.
|
15394 |
|
|
(*movdi_gp32_fp64): Fold into...
|
15395 |
|
|
(*movdi_32bit): ...here.
|
15396 |
|
|
(*movdf_hardfloat_64bit, *movdf_hardfloat_32bit): Combine into...
|
15397 |
|
|
(*movdf_hardfloat): ...this new pattern.
|
15398 |
|
|
(*movdf_softfloat): Remove redundant FPR alternatives.
|
15399 |
|
|
(*movti, *movti_mips16, *movtf, *movtf_mips16): Add "mode" attributes.
|
15400 |
|
|
(*movv2sf_hardfloat_64bit, *movv2sf_hardfloat_32bit): Combine into...
|
15401 |
|
|
(*movv2sf): ...this new pattern. Use "DF" rather than "SF" for
|
15402 |
|
|
the "move" attribute.
|
15403 |
|
|
(*movdi_32bit): Use "move_type" instead of "type" and remove the
|
15404 |
|
|
"length" attribute. Use "fpload" and "fpstore" instead of "load"
|
15405 |
|
|
and "store" for COP loads and stores.
|
15406 |
|
|
(*movdi_32bit_mips16, *movdi_64bit, *movsi_internal, movcc)
|
15407 |
|
|
(*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16)
|
15408 |
|
|
(*movsf_hardfloat, *movsf_softfloat, *movsi_mips16, *movdf_hardfloat)
|
15409 |
|
|
(*movdf_softfloat, *movdf_mips16, *movti, *movti_mips16, *movtf)
|
15410 |
|
|
(*movtf_mips16, *movv2sf): Likewise.
|
15411 |
|
|
(mfhi_, mflo_)
|
15412 |
|
|
(load_low, load_high, store_word, mthc1)
|
15413 |
|
|
(mfhc1): Use "move_type" instead of "move".
|
15414 |
|
|
(*low_mips16): Use "extended_mips16" instead of "length".
|
15415 |
|
|
(loadgp_blockage): Remove the "length" attribute.
|
15416 |
|
|
(blockage, set_got_version, update_got_version): Likewise.
|
15417 |
|
|
(call_internal): Remove the "extended_mips16" attribute.
|
15418 |
|
|
(call_value_internal, call_value_multiple_internal): Likewise.
|
15419 |
|
|
* config/mips/loongson.md (mov_internal): Use "move_type"
|
15420 |
|
|
instead of "move".
|
15421 |
|
|
* config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Remove
|
15422 |
|
|
the "length" attribute.
|
15423 |
|
|
|
15424 |
|
|
2008-06-27 Kaveh R. Ghazi
|
15425 |
|
|
|
15426 |
|
|
* c-format.c (handle_format_attribute): Fix -Wc++-compat and/or
|
15427 |
|
|
-Wcast-qual warnings.
|
15428 |
|
|
* c-pragma.c (dpm_eq, handle_pragma_push_macro,
|
15429 |
|
|
handle_pragma_pop_macro): Likewise.
|
15430 |
|
|
* collect2.c (resolve_lib_name): Likewise.
|
15431 |
|
|
* config/arc/arc.c (arc_init): Likewise.
|
15432 |
|
|
* config/arm/arm.c (neon_builtin_compare,
|
15433 |
|
|
locate_neon_builtin_icode): Likewise.
|
15434 |
|
|
* config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section): Likewise.
|
15435 |
|
|
* config/bfin/bfin.c (bfin_init_machine_status,
|
15436 |
|
|
bfin_optimize_loop): Likewise.
|
15437 |
|
|
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
|
15438 |
|
|
* config/cris/cris.c (cris_init_expanders): Likewise.
|
15439 |
|
|
* config/darwin-c.c (frameworks_in_use, add_framework): Likewise.
|
15440 |
|
|
* config/darwin.c (machopic_indirection_eq,
|
15441 |
|
|
machopic_indirection_name, machopic_output_indirection): Likewise.
|
15442 |
|
|
* config/frv/frv.c (frv_init_machine_status, frv_compare_insns,
|
15443 |
|
|
frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1,
|
15444 |
|
|
frv_optimize_membar): Likewise.
|
15445 |
|
|
* config/i386/cygwin.h (mingw_scan,
|
15446 |
|
|
GCC_DRIVER_HOST_INITIALIZATION): Likewise.
|
15447 |
|
|
* config/i386/cygwin1.c (mingw_scan): Likewise.
|
15448 |
|
|
* config/i386/i386.c (machopic_output_stub): Likewise.
|
15449 |
|
|
* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix,
|
15450 |
|
|
i386_pe_unique_section): Likewise.
|
15451 |
|
|
* config/ia64/ia64.c (ia64_init_machine_status,
|
15452 |
|
|
ia64_h_i_d_extended, get_free_bundle_state, bundling, ia64_reorg):
|
15453 |
|
|
Likewise.
|
15454 |
|
|
* config/iq2000/iq2000.c, iq2000_init_machine_status): Likewise.
|
15455 |
|
|
* config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise.
|
15456 |
|
|
* config/m68k/m68k.c (m68k_handle_option,
|
15457 |
|
|
m68k_sched_md_init_global): Likewise.
|
15458 |
|
|
* config/mcore/mcore.c (mcore_mark_dllexport, mcore_mark_dllimport,
|
15459 |
|
|
mcore_unique_section): Likewise.
|
15460 |
|
|
* config/mips/mips.c (mips_block_move_straight,
|
15461 |
|
|
mips16_rewrite_pool_refs, mips_sim_wait_regs_2, mips_sim_record_set):
|
15462 |
|
|
Likewise.
|
15463 |
|
|
* config/mmix/mmix.c (mmix_init_machine_status,
|
15464 |
|
|
mmix_encode_section_info): Likewise.
|
15465 |
|
|
* config/pa/pa.c (pa_init_machine_status, hppa_encode_label): Likewise.
|
15466 |
|
|
* config/rs6000/rs6000.c (rs6000_init_machine_status,
|
15467 |
|
|
print_operand_address, output_toc, redefine_groups,
|
15468 |
|
|
rs6000_elf_encode_section_info, machopic_output_stub): Likewise.
|
15469 |
|
|
* config/s390/s390.c (s390_init_machine_status): Likewise.
|
15470 |
|
|
* config/score/score.c (score_block_move_straight,
|
15471 |
|
|
score_block_move_loop_body): Likewise.
|
15472 |
|
|
* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
|
15473 |
|
|
* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
|
15474 |
|
|
* emit-rtl.c (find_auto_inc): Likewise.
|
15475 |
|
|
* gcc.c (translate_options, process_command): Likewise.
|
15476 |
|
|
* reorg.c (dbr_schedule): Likewise.
|
15477 |
|
|
* sdbout.c (sdbout_start_source_file, sdbout_init): Likewise.
|
15478 |
|
|
* xcoffout.c (xcoffout_declare_function): Likewise.
|
15479 |
|
|
|
15480 |
|
|
2008-06-27 Daniel Berlin
|
15481 |
|
|
|
15482 |
|
|
* tree-ssa-structalias.c (find_func_aliases): Trivial fix to get
|
15483 |
|
|
ipa-pta working again.
|
15484 |
|
|
|
15485 |
|
|
2008-06-27 David Edelsohn
|
15486 |
|
|
|
15487 |
|
|
* config/rs6000/t-aix52: Append large data option to LDFLAGS for
|
15488 |
|
|
genautomata.
|
15489 |
|
|
|
15490 |
|
|
2008-06-27 Edmar Wienskoski
|
15491 |
|
|
|
15492 |
|
|
* config.gcc (powerpc*-*-*): Add new core e500mc.
|
15493 |
|
|
* config/rs6000/e500mc.md: New file.
|
15494 |
|
|
* config/rs6000/rs6000.c (processor_costs): Add new costs for
|
15495 |
|
|
e500mc.
|
15496 |
|
|
(rs6000_override_options): Add e500mc case to
|
15497 |
|
|
processor_target_table. Altivec and Spe options not allowed
|
15498 |
|
|
with e500mc. Add isel instruction to e500mc by
|
15499 |
|
|
default. Initialize rs6000_cost for e500mc.
|
15500 |
|
|
(rs6000_issue_rate): Set issue rate for e500mc.
|
15501 |
|
|
* config/rs6000/rs6000.h (processor_type): Add
|
15502 |
|
|
PROCESSOR_PPCE500MC.
|
15503 |
|
|
(ASM_CPU_SPEC): Add e500mc.
|
15504 |
|
|
Set TARGET_ISEL to rs6000_isel.
|
15505 |
|
|
* config/rs6000/e500.h: Remove redefinition of TARGET_ISEL.
|
15506 |
|
|
(CHECK_E500_OPTIONS): Remove TARGET_ISEL.
|
15507 |
|
|
* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc.
|
15508 |
|
|
Include e500mc.md.
|
15509 |
|
|
* doc/invoke.texi: Add e500mc to list of cpus.
|
15510 |
|
|
|
15511 |
|
|
2008-06-27 Laurynas Biveinis
|
15512 |
|
|
|
15513 |
|
|
PR c/34867
|
15514 |
|
|
* c-lex.c (lex_charconst): Initialize unsignedp.
|
15515 |
|
|
|
15516 |
|
|
2008-06-27 Olivier Hainque
|
15517 |
|
|
|
15518 |
|
|
* gimplify.c (gimplify_modify_expr_to_memset): Assert our
|
15519 |
|
|
documented assumptions.
|
15520 |
|
|
|
15521 |
|
|
2008-06-26 H.J. Lu
|
15522 |
|
|
|
15523 |
|
|
* dwarf2out.c: Remove trailing white spaces. Break long line
|
15524 |
|
|
in comments.
|
15525 |
|
|
|
15526 |
|
|
2008-06-26 Richard Sandiford
|
15527 |
|
|
|
15528 |
|
|
* libfuncs.h (LTI_synchronize): New libfunc_index.
|
15529 |
|
|
(synchronize_libfunc): Declare.
|
15530 |
|
|
* builtins.c (expand_builtin_synchronize): Consider using
|
15531 |
|
|
synchronize_libfunc before falling back on an asm blockage.
|
15532 |
|
|
* config/mips/mips.c: Include libfuncs.h
|
15533 |
|
|
(mips_init_libfuncs): Initialize synchronize_libfunc for TARGET_MIPS16.
|
15534 |
|
|
|
15535 |
|
|
2008-06-26 Nathan Froyd
|
15536 |
|
|
|
15537 |
|
|
* config/rs6000/rs6000.c (emit_allocate_stack): Add copy_r11
|
15538 |
|
|
parameter. Copy stack_reg to r11 where appropriate.
|
15539 |
|
|
(no_global_regs_above): Add gpr parameter.
|
15540 |
|
|
(rs6000_stack_info): Only add padding for SPE save area if we
|
15541 |
|
|
are saving SPE GPRs and CR.
|
15542 |
|
|
(saveres_routine_syms): New variable.
|
15543 |
|
|
(FIRST_SAVRES_REGISTER, LAST_SAVRES_REGISTER, N_SAVRES_REGISTERS):
|
15544 |
|
|
Define.
|
15545 |
|
|
(rs6000_savres_routine_sym): New function.
|
15546 |
|
|
(rs6000_emit_stack_reset, rs6000_restore_saved_cr): New functions,
|
15547 |
|
|
split out of...
|
15548 |
|
|
(rs6000_emit_epilogue): ...here. Use rs6000_use_multiple_p and
|
15549 |
|
|
rs6000_savres_strategy. Restore GPRs out-of-line if appropriate.
|
15550 |
|
|
Tweak FPR out-of-line saving.
|
15551 |
|
|
(rs6000_make_savres_rtx): New function.
|
15552 |
|
|
(rs6000_use_multiple_p): New function.
|
15553 |
|
|
(rs6000_savres_strategy): New function.
|
15554 |
|
|
(rs6000_emit_prologue): Use rs6000_savres_strategy. Save GPRs
|
15555 |
|
|
out-of-line if appropriate.
|
15556 |
|
|
* config/rs6000/sysv4.h (FP_SAVE_INLINE): Save FPRs out-of-line
|
15557 |
|
|
if we are optimizing for size.
|
15558 |
|
|
(GP_SAVE_INLINE): Define.
|
15559 |
|
|
(SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX): Only use _l on 64-bit targets.
|
15560 |
|
|
* config/rs6000/darwin.h (GP_SAVE_INLINE): Define.
|
15561 |
|
|
* config/rs6000/aix.h (GP_SAVE_INLINE): Define.
|
15562 |
|
|
* config/rs6000/rs6000.md (*save_gpregs_): New insn.
|
15563 |
|
|
(*save_fpregs_): Add use of r11.
|
15564 |
|
|
(*restore_gpregs_): New insn.
|
15565 |
|
|
(*return_and_restore_gpregs_): New insn.
|
15566 |
|
|
(*return_and_restore_fpregs_): Adjust to clobber LR and
|
15567 |
|
|
use r11.
|
15568 |
|
|
* config/rs6000/spe.md (*save_gpregs_spe): New insn.
|
15569 |
|
|
(*restore_gpregs_spe): New insn.
|
15570 |
|
|
(*return_and_restore_gpregs_spe): New insn.
|
15571 |
|
|
* config/rs6000/predicates.md (save_world_operation): Fix check.
|
15572 |
|
|
|
15573 |
|
|
2008-06-26 Steven Bosscher
|
15574 |
|
|
|
15575 |
|
|
* tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at
|
15576 |
|
|
this point, so assert that.
|
15577 |
|
|
|
15578 |
|
|
2008-06-26 Steven Bosscher
|
15579 |
|
|
|
15580 |
|
|
* cfganal.c: Include vec.h and vecprim.h.
|
15581 |
|
|
(compute_idf): Import from...
|
15582 |
|
|
* tree-into-ssa (compute_idf): ...here.
|
15583 |
|
|
* basic-block.h (compute_idf): Export.
|
15584 |
|
|
|
15585 |
|
|
2008-06-26 Joseph Myers
|
15586 |
|
|
|
15587 |
|
|
* c-decl.c (merge_decls): Use !current_function_decl to check for
|
15588 |
|
|
extern declaration of C99 inline function being at file scope.
|
15589 |
|
|
|
15590 |
|
|
2008-06-25 John David Anglin
|
15591 |
|
|
|
15592 |
|
|
* config.gcc (hppa[12]*-*-hpux10*): Don't use fixproto.
|
15593 |
|
|
|
15594 |
|
|
2008-06-25 Kaveh R. Ghazi
|
15595 |
|
|
|
15596 |
|
|
* alias.c (record_alias_subset, init_alias_analysis): Fix
|
15597 |
|
|
-Wc++-compat and/or -Wcast-qual warnings.
|
15598 |
|
|
* attribs.c (lookup_attribute_spec): Likewise.
|
15599 |
|
|
* bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
|
15600 |
|
|
copy_bb, connect_traces,
|
15601 |
|
|
find_rarely_executed_basic_blocks_and_cr): Likewise.
|
15602 |
|
|
* bt-load.c (find_btr_def_group, add_btr_def, new_btr_user,
|
15603 |
|
|
note_btr_set, migrate_btr_defs): Likewise.
|
15604 |
|
|
* builtins.c (result_vector, expand_builtin_memcpy,
|
15605 |
|
|
expand_builtin_mempcpy_args, expand_builtin_strncpy,
|
15606 |
|
|
builtin_memset_read_str, expand_builtin_printf,
|
15607 |
|
|
fold_builtin_memchr, rewrite_call_expr, fold_builtin_printf):
|
15608 |
|
|
Likewise.
|
15609 |
|
|
* caller-save.c (mark_set_regs): Likewise.
|
15610 |
|
|
* calls.c (expand_call, emit_library_call_value_1): Likewise.
|
15611 |
|
|
* cgraph.c (cgraph_edge): Likewise.
|
15612 |
|
|
* combine.c (likely_spilled_retval_1): Likewise.
|
15613 |
|
|
* coverage.c (htab_counts_entry_hash, htab_counts_entry_eq,
|
15614 |
|
|
htab_counts_entry_del, get_coverage_counts): Likewise.
|
15615 |
|
|
* cselib.c (new_elt_list, new_elt_loc_list, entry_and_rtx_equal_p,
|
15616 |
|
|
new_cselib_val): Likewise.
|
15617 |
|
|
* dbgcnt.c (dbg_cnt_process_opt): Likewise.
|
15618 |
|
|
* dbxout.c (dbxout_init, dbxout_type, output_used_types_helper):
|
15619 |
|
|
Likewise.
|
15620 |
|
|
* df-core.c (df_compact_blocks): Likewise.
|
15621 |
|
|
* df-problems.c (df_grow_bb_info, df_chain_create): Likewise.
|
15622 |
|
|
* df-scan.c (df_grow_reg_info, df_ref_create,
|
15623 |
|
|
df_insn_create_insn_record, df_insn_rescan, df_notes_rescan,
|
15624 |
|
|
df_ref_compare, df_ref_create_structure, df_bb_refs_record,
|
15625 |
|
|
df_record_entry_block_defs, df_record_exit_block_uses,
|
15626 |
|
|
df_bb_verify): Likewise.
|
15627 |
|
|
* df.h (DF_REF_EXTRACT_WIDTH_CONST, DF_REF_EXTRACT_OFFSET_CONST,
|
15628 |
|
|
DF_REF_EXTRACT_MODE_CONST): New.
|
15629 |
|
|
* dominance.c (get_immediate_dominator, get_dominated_by,
|
15630 |
|
|
nearest_common_dominator, root_of_dom_tree,
|
15631 |
|
|
iterate_fix_dominators, first_dom_son, next_dom_son): Fix
|
15632 |
|
|
-Wc++-compat and/or -Wcast-qual warnings.
|
15633 |
|
|
* dse.c (clear_alias_set_lookup, get_group_info, gen_rtx_MEM,
|
15634 |
|
|
record_store, replace_read, check_mem_read_rtx, scan_insn,
|
15635 |
|
|
dse_step1, dse_record_singleton_alias_set): Likewise.
|
15636 |
|
|
* dwarf2asm.c (dw2_force_const_mem): Likewise.
|
15637 |
|
|
|
15638 |
|
|
2008-06-25 Kaveh R. Ghazi
|
15639 |
|
|
|
15640 |
|
|
* dwarf2out.c (new_cfi, queue_reg_save, dwarf2out_begin_prologue,
|
15641 |
|
|
dwarf2out_frame_init, new_loc_descr, new_die, lookup_decl_die,
|
15642 |
|
|
lookup_decl_loc, add_var_loc_to_decl, compute_section_prefix,
|
15643 |
|
|
assign_symbol_names, htab_cu_hash, htab_cu_eq, htab_cu_del,
|
15644 |
|
|
build_abbrev_table, new_loc_list, output_comp_unit, add_arange,
|
15645 |
|
|
add_ranges_num, add_ranges_by_labels, file_info_cmp,
|
15646 |
|
|
file_name_acquire, output_file_names, add_const_value_attribute,
|
15647 |
|
|
premark_used_types_helper, file_table_eq, file_table_hash,
|
15648 |
|
|
lookup_filename, dwarf2out_var_location, dwarf2out_source_line,
|
15649 |
|
|
dwarf2out_init, file_table_relative_p): Fix -Wc++-compat and/or
|
15650 |
|
|
-Wcast-qual warnings.
|
15651 |
|
|
* ebitmap.c (ebitmap_array_grow, ebitmap_array_init,
|
15652 |
|
|
ebitmap_alloc, ebitmap_ior, ebitmap_and_compl): Likewise.
|
15653 |
|
|
* emit-rtl.c (get_mem_attrs, get_reg_attrs, gen_rtvec,
|
15654 |
|
|
gen_reg_rtx, start_sequence, init_emit): Likewise.
|
15655 |
|
|
* et-forest.c (et_new_occ, et_new_tree): Likewise.
|
15656 |
|
|
* except.c (init_eh_for_function, gen_eh_region,
|
15657 |
|
|
remove_unreachable_regions, add_ehl_entry, duplicate_eh_regions_1,
|
15658 |
|
|
arh_to_landing_pad, arh_to_label, add_action_record,
|
15659 |
|
|
add_call_site, switch_to_exception_section): Likewise.
|
15660 |
|
|
* expmed.c (synth_mult): Likewise.
|
15661 |
|
|
* expr.c (gen_group_rtx, emit_group_load, emit_group_store,
|
15662 |
|
|
store_expr): Likewise.
|
15663 |
|
|
* final.c (shorten_branches, final_scan_insn, debug_queue_symbol):
|
15664 |
|
|
Likewise.
|
15665 |
|
|
* function.c (assign_stack_temp_for_type,
|
15666 |
|
|
allocate_struct_function, match_asm_constraints_1): Likewise.
|
15667 |
|
|
* gcov-io.c (gcov_allocate): Likewise.
|
15668 |
|
|
* gcse.c (GNEW, GCNEW, GNEWVEC, GCNEWVEC, GRESIZEVEC, GNEWVAR,
|
15669 |
|
|
GCNEWVAR, GRESIZEVAR, GOBNEW, GOBNEWVAR): New.
|
15670 |
|
|
(gcse_main, alloc_gcse_mem, alloc_gcse_mem, alloc_reg_set_mem,
|
15671 |
|
|
record_one_set, insert_expr_in_table, insert_set_in_table,
|
15672 |
|
|
dump_hash_table, compute_hash_table_work, alloc_hash_table,
|
15673 |
|
|
pre_ldst_expr_hash, pre_ldst_expr_eq, find_rtx_in_ldst,
|
15674 |
|
|
reg_set_info, reg_clear_last_set): Fix -Wc++-compat and/or
|
15675 |
|
|
-Wcast-qual warnings.
|
15676 |
|
|
|
15677 |
|
|
2008-06-25 Kaveh R. Ghazi
|
15678 |
|
|
|
15679 |
|
|
* cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or
|
15680 |
|
|
-Wcast-qual warnings.
|
15681 |
|
|
* gcc.c (process_command): Likewise.
|
15682 |
|
|
* genattrtab.c (oballoc): Use XOBNEW.
|
15683 |
|
|
(oballocvec): Define.
|
15684 |
|
|
(attr_hash_add_rtx, attr_hash_add_string, attr_string,
|
15685 |
|
|
get_attr_value, fill_attr, make_length_attrs, gen_attr, gen_insn,
|
15686 |
|
|
gen_delay, find_attr, gen_insn_reserv, gen_bypass_1): Fix
|
15687 |
|
|
-Wc++-compat and/or -Wcast-qual warnings.
|
15688 |
|
|
* genautomata.c (XCREATENODE, XCREATENODEVEC, XCREATENODEVAR,
|
15689 |
|
|
XCOPYNODE, XCOPYNODEVEC, XCOPYNODEVAR): New.
|
15690 |
|
|
(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
|
15691 |
|
|
gen_presence_absence_set, gen_automaton, gen_regexp_el,
|
15692 |
|
|
gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
|
15693 |
|
|
gen_regexp_sequence, gen_reserv, gen_insn_reserv, process_excls,
|
15694 |
|
|
add_excls, process_presence_absence_names,
|
15695 |
|
|
process_presence_absence_patterns, add_presence_absence,
|
15696 |
|
|
process_regexp, add_advance_cycle_insn_decl, get_free_alt_state,
|
15697 |
|
|
get_free_state, add_arc, get_free_automata_list_el,
|
15698 |
|
|
form_reserv_sets_list, copy_insn_regexp, transform_1, transform_2,
|
15699 |
|
|
transform_3, cache_presence, create_ainsns, create_automata,
|
15700 |
|
|
create_state_ainsn_table, dfa_insn_code_enlarge,
|
15701 |
|
|
output_trans_func, output_min_issue_delay_func,
|
15702 |
|
|
output_dead_lock_func, output_reset_func,
|
15703 |
|
|
output_get_cpu_unit_code_func, output_dfa_start_func,
|
15704 |
|
|
expand_automata): Likewise.
|
15705 |
|
|
* genextract.c (gen_insn): Likewise.
|
15706 |
|
|
* gengtype-lex.l: Likewise.
|
15707 |
|
|
* gengtype.c (read_input_list, adjust_field_type,
|
15708 |
|
|
process_gc_options): Likewise.
|
15709 |
|
|
* genoutput.c (note_constraint): Likewise.
|
15710 |
|
|
* genpreds.c (mangle, add_constraint): Likewise.
|
15711 |
|
|
* genrecog.c (process_define_predicate, new_decision,
|
15712 |
|
|
add_to_sequence): Likewise.
|
15713 |
|
|
* gensupport.c (record_insn_name): Likewise.
|
15714 |
|
|
|
15715 |
|
|
2008-06-25 Kaveh R. Ghazi
|
15716 |
|
|
|
15717 |
|
|
* config/i386/driver-i386.c (detect_caches_amd,
|
15718 |
|
|
detect_caches_intel, host_detect_local_cpu): Fix -Wc++-compat
|
15719 |
|
|
and/or -Wcast-qual warnings.
|
15720 |
|
|
*ggc-common.c (ggc_mark_roots, gt_pch_note_object,
|
15721 |
|
|
gt_pch_note_reorder, relocate_ptrs, write_pch_globals,
|
15722 |
|
|
gt_pch_save): Likewise.
|
15723 |
|
|
* ggc-page.c (push_depth, push_by_depth, alloc_anon, alloc_page,
|
15724 |
|
|
gt_ggc_m_S, clear_marks, ggc_pch_read): Likewise.
|
15725 |
|
|
* global.c (compute_regsets): Likewise.
|
15726 |
|
|
* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
|
15727 |
|
|
finish_graph_dump_file): Likewise.
|
15728 |
|
|
* haifa-sched.c (schedule_block, extend_h_i_d, extend_ready,
|
15729 |
|
|
unlink_bb_notes): Likewise.
|
15730 |
|
|
* integrate.c (get_hard_reg_initial_val): Likewise.
|
15731 |
|
|
* ipa-prop.c (ipa_push_func_to_list): Likewise.
|
15732 |
|
|
* ipa-struct-reorg.c (gen_var_name, gen_cluster_name): Likewise.
|
15733 |
|
|
* local-alloc.c (update_equiv_regs): Likewise.
|
15734 |
|
|
* loop-invariant.c (check_invariant_table_size,
|
15735 |
|
|
hash_invariant_expr, eq_invariant_expr, find_or_insert_inv):
|
15736 |
|
|
Likewise.
|
15737 |
|
|
* loop-iv.c (check_iv_ref_table_size, analyzed_for_bivness_p,
|
15738 |
|
|
altered_reg_used, mark_altered): Likewise.
|
15739 |
|
|
* loop-unroll.c (si_info_eq, ve_info_eq, allocate_basic_variable,
|
15740 |
|
|
insert_var_expansion_initialization,
|
15741 |
|
|
combine_var_copies_in_loop_exit, apply_opt_in_copies,
|
15742 |
|
|
release_var_copies): Likewise.
|
15743 |
|
|
* matrix-reorg.c (mat_acc_phi_hash, mat_acc_phi_eq, mtt_info_eq,
|
15744 |
|
|
analyze_matrix_decl, add_allocation_site, analyze_transpose,
|
15745 |
|
|
analyze_accesses_for_phi_node, check_var_notmodified_p,
|
15746 |
|
|
check_allocation_function, find_sites_in_func,
|
15747 |
|
|
record_all_accesses_in_func, transform_access_sites,
|
15748 |
|
|
transform_allocation_sites): Likewise.
|
15749 |
|
|
* omp-low.c (new_omp_region, create_omp_child_function_name,
|
15750 |
|
|
check_omp_nesting_restrictions, check_combined_parallel,
|
15751 |
|
|
lower_omp_2, diagnose_sb_1, diagnose_sb_2): Likewise.
|
15752 |
|
|
* optabs.c (no_conflict_move_test, gen_libfunc, gen_fp_libfunc,
|
15753 |
|
|
gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
|
15754 |
|
|
gen_intraclass_conv_libfunc, set_optab_libfunc, set_conv_libfunc):
|
15755 |
|
|
Likewise.
|
15756 |
|
|
* opts-common.c (prune_options): Likewise.
|
15757 |
|
|
* opts.c (add_input_filename, print_filtered_help,
|
15758 |
|
|
get_option_state): Likewise.
|
15759 |
|
|
* params.c (add_params): Likewise.
|
15760 |
|
|
* passes.c (set_pass_for_id, next_pass_1,
|
15761 |
|
|
do_per_function_toporder, pass_fini_dump_file): Likewise.
|
15762 |
|
|
* postreload.c (reload_cse_simplify_operands): Likewise.
|
15763 |
|
|
* predict.c (tree_predicted_by_p, tree_predict_edge,
|
15764 |
|
|
clear_bb_predictions, combine_predictions_for_bb): Likewise.
|
15765 |
|
|
|
15766 |
|
|
2008-06-25 Kaveh R. Ghazi
|
15767 |
|
|
|
15768 |
|
|
* ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual
|
15769 |
|
|
warnings.
|
15770 |
|
|
* recog.c (check_asm_operands, validate_change_1): Likewise.
|
15771 |
|
|
* reg-stack.c (check_asm_stack_operands, subst_asm_stack_regs,
|
15772 |
|
|
subst_asm_stack_regs): Likewise.
|
15773 |
|
|
* regclass.c (regclass, som_hash, som_eq, record_subregs_of_mode,
|
15774 |
|
|
cannot_change_mode_set_regs, invalid_mode_change_p): Likewise.
|
15775 |
|
|
* regmove.c (reg_is_remote_constant_p): Likewise.
|
15776 |
|
|
* regrename.c (regrename_optimize, scan_rtx_reg,
|
15777 |
|
|
kill_clobbered_value, kill_set_value, kill_autoinc_value):
|
15778 |
|
|
Likewise.
|
15779 |
|
|
* regstat.c (regstat_init_n_sets_and_refs, regstat_compute_ri,
|
15780 |
|
|
regstat_compute_calls_crossed): Likewise.
|
15781 |
|
|
* reload1.c (init_reload, new_insn_chain,
|
15782 |
|
|
has_nonexceptional_receiver, reload, copy_reloads,
|
15783 |
|
|
calculate_needs_all_insns, init_elim_table): Likewise.
|
15784 |
|
|
* rtl-factoring.c (compute_rtx_cost, fill_hash_bucket): Likewise.
|
15785 |
|
|
* rtl.c (shallow_copy_rtx_stat): Likewise.
|
15786 |
|
|
* rtlanal.c (parms_set): Likewise.
|
15787 |
|
|
* sbitmap.c (sbitmap_alloc, sbitmap_alloc_with_popcount,
|
15788 |
|
|
sbitmap_resize, sbitmap_vector_alloc): Likewise.
|
15789 |
|
|
* sched-ebb.c (earliest_block_with_similiar_load,
|
15790 |
|
|
add_deps_for_risky_insns): Likewise.
|
15791 |
|
|
* sched-rgn.c (find_rgns, gather_region_statistics, extend_rgns,
|
15792 |
|
|
schedule_region): Likewise.
|
15793 |
|
|
* see.c (eq_descriptor_pre_extension,
|
15794 |
|
|
hash_descriptor_pre_extension, hash_del_pre_extension,
|
15795 |
|
|
eq_descriptor_properties, hash_descriptor_properties,
|
15796 |
|
|
hash_del_properties, see_seek_pre_extension_expr,
|
15797 |
|
|
see_initialize_data_structures, see_print_register_properties,
|
15798 |
|
|
see_print_pre_extension_expr, see_delete_merged_def_extension,
|
15799 |
|
|
see_delete_unmerged_def_extension, see_emit_use_extension,
|
15800 |
|
|
see_pre_delete_extension, see_map_extension, see_commit_changes,
|
15801 |
|
|
see_analyze_merged_def_local_prop,
|
15802 |
|
|
see_analyze_merged_def_local_prop,
|
15803 |
|
|
see_analyze_unmerged_def_local_prop, see_analyze_use_local_prop,
|
15804 |
|
|
see_set_prop_merged_def, see_set_prop_unmerged_def,
|
15805 |
|
|
see_set_prop_unmerged_use, see_print_one_extension,
|
15806 |
|
|
see_merge_one_use_extension, see_merge_one_def_extension,
|
15807 |
|
|
see_store_reference_and_extension, see_update_uses_relevancy,
|
15808 |
|
|
see_update_defs_relevancy): Likewise.
|
15809 |
|
|
* statistics.c (hash_statistics_hash, hash_statistics_eq,
|
15810 |
|
|
hash_statistics_free, curr_statistics_hash): Likewise.
|
15811 |
|
|
* stmt.c (parse_output_constraint, decl_overlaps_hard_reg_set_p,
|
15812 |
|
|
expand_asm_operands, expand_return, case_bit_test_cmp,
|
15813 |
|
|
expand_case): Likewise.
|
15814 |
|
|
* stor-layout.c (start_record_layout): Likewise.
|
15815 |
|
|
* stringpool.c (ggc_alloc_string, gt_pch_n_S,
|
15816 |
|
|
gt_pch_save_stringpool): Likewise.
|
15817 |
|
|
* tree-data-ref.c (hash_stmt_vertex_info,
|
15818 |
|
|
have_similar_memory_accesses_1, ref_base_address_1): Likewise.
|
15819 |
|
|
* tree-ssa-phiopt.c (name_to_bb_hash): Likewise.
|
15820 |
|
|
|
15821 |
|
|
2008-06-25 Uros Bizjak
|
15822 |
|
|
|
15823 |
|
|
PR target/36627
|
15824 |
|
|
* config/i386/i386.md: Change constraints of HImode and QImode
|
15825 |
|
|
immediate operands from "i" to "n". Change SImode "ni" constraint to
|
15826 |
|
|
"i" and SImode "rmi" constraint to "g". Remove all constraints
|
15827 |
|
|
from const0_operand and const1_operand predicated operands.
|
15828 |
|
|
(i): Change QImode and HImode attribute from "i" to "n".
|
15829 |
|
|
(*subqi_2): Change HImode operands to QImode.
|
15830 |
|
|
(*subqi_3): Ditto.
|
15831 |
|
|
|
15832 |
|
|
2008-06-25 Olivier Hainque
|
15833 |
|
|
|
15834 |
|
|
* Makefile.in (GTFILES_H): Use | instead of ; as separator in
|
15835 |
|
|
sed substitutions.
|
15836 |
|
|
|
15837 |
|
|
2008-06-25 Richard Guenther
|
15838 |
|
|
|
15839 |
|
|
* tree-ssa-structalias.c (fieldoff_compare): Make sure to
|
15840 |
|
|
not overflow the result type.
|
15841 |
|
|
|
15842 |
|
|
2008-06-25 Richard Guenther
|
15843 |
|
|
|
15844 |
|
|
* tree-vn.c (vn_add): Handle TRUTH_*_EXPR.
|
15845 |
|
|
(vn_lookup): Likewise.
|
15846 |
|
|
|
15847 |
|
|
2008-06-25 Richard Guenther
|
15848 |
|
|
|
15849 |
|
|
PR tree-optimization/35518
|
15850 |
|
|
* fold-const.c (fold_ternary): Strip trivial BIT_FIELD_REFs.
|
15851 |
|
|
* tree-sra.c (instantiate_element): Use fold_build3 to build
|
15852 |
|
|
BIT_FIELD_REFs.
|
15853 |
|
|
(try_instantiate_multiple_fields): Likewise.
|
15854 |
|
|
|
15855 |
|
|
2008-06-24 Andrew Pinski
|
15856 |
|
|
|
15857 |
|
|
* config/rs6000/rs6000.md: Change all string instruction's clobber to
|
15858 |
|
|
be early clobbers.
|
15859 |
|
|
|
15860 |
|
|
2008-06-24 Andrew Pinski
|
15861 |
|
|
|
15862 |
|
|
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Set
|
15863 |
|
|
use_backchain_to_restore_sp to true
|
15864 |
|
|
if the offset of the link register save area would go over the 32k - 1
|
15865 |
|
|
offset limit of the load
|
15866 |
|
|
instructions.
|
15867 |
|
|
|
15868 |
|
|
2008-06-25 Hans-Peter Nilsson
|
15869 |
|
|
|
15870 |
|
|
* doc/invoke.texi (Optimize Options) : Add
|
15871 |
|
|
anchor for the type-punning blurb. Cross-reference "Structures
|
15872 |
|
|
unions enumerations and bit-fields implementation". Provide a
|
15873 |
|
|
cast-through-pointer example. Make final sentence self-contained.
|
15874 |
|
|
* doc/implement-c.texi (Structures unions enumerations and
|
15875 |
|
|
bit-fields implementation): Cross-reference the type-punning blurb
|
15876 |
|
|
in the -fstrict-aliasing documentation.
|
15877 |
|
|
|
15878 |
|
|
2008-06-24 Andrew Pinski
|
15879 |
|
|
|
15880 |
|
|
PR middle-end/36594
|
15881 |
|
|
* builtins.c (expand_builtin_nonlocal_goto): Stabilize the address of
|
15882 |
|
|
the memory instead of the memory itself for the save area.
|
15883 |
|
|
|
15884 |
|
|
2008-06-24 Olivier Hainque
|
15885 |
|
|
Nicolas Roche
|
15886 |
|
|
|
15887 |
|
|
* gengtype.c (srcdir_len): size_t instead of int.
|
15888 |
|
|
(get_file_realbasename): New function. For F a filename, the real
|
15889 |
|
|
basename of F, with all the path components stripped.
|
15890 |
|
|
(get_file_srcdir_relative_path): New function. For F a filename, the
|
15891 |
|
|
relative path to F from $(srcdir).
|
15892 |
|
|
(get_file_basename): Rewrite using get_file_srcdir_relative_path and
|
15893 |
|
|
get_file_realbasename. Adjust the head comment.
|
15894 |
|
|
(get_prefix_langdir_index): New function. For F a filename, return the
|
15895 |
|
|
lang_dir_names[] relative index of the language directory that is
|
15896 |
|
|
a prefix in F.
|
15897 |
|
|
(get_file_langdir): For F a filename, return the name of the language
|
15898 |
|
|
directory where F is located.
|
15899 |
|
|
(get_file_gtfilename): New function. The gt- output file name for an
|
15900 |
|
|
input filename F.
|
15901 |
|
|
(get_output_file_with_visibility): Replace in-line computations with
|
15902 |
|
|
uses of get_file_gtfilename and get_prefix_langdir_index.
|
15903 |
|
|
* Makefile.in (GTFILES_H): Adjust to match what gengtype generates.
|
15904 |
|
|
|
15905 |
|
|
2008-06-24 Jakub Jelinek
|
15906 |
|
|
|
15907 |
|
|
PR tree-optimization/36504
|
15908 |
|
|
* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Skip
|
15909 |
|
|
references without base address.
|
15910 |
|
|
|
15911 |
|
|
2008-06-23 Uros Bizjak
|
15912 |
|
|
|
15913 |
|
|
PR middle-end/36584
|
15914 |
|
|
* calls.c (expand_call): Increase alignment for recursive functions.
|
15915 |
|
|
|
15916 |
|
|
2008-06-23 Anatoly Sokolov
|
15917 |
|
|
|
15918 |
|
|
* config/avr/avr.c (avr_function_value): Add new 'outgoing' argument.
|
15919 |
|
|
(TARGET_FUNCTION_VALUE): New define.
|
15920 |
|
|
* config/avr/avr-protos.h (avr_function_value): Remove declaration.
|
15921 |
|
|
* config/avr/avr.h (FUNCTION_VALUE): Remove.
|
15922 |
|
|
|
15923 |
|
|
2008-06-23 Uros Bizjak
|
15924 |
|
|
|
15925 |
|
|
* config/i386/i386.md (fmodxf3): Change sequence of move instructions.
|
15926 |
|
|
(fmod3): Ditto.
|
15927 |
|
|
(remainderxf3): Ditto.
|
15928 |
|
|
(remainder3): Ditto.
|
15929 |
|
|
|
15930 |
|
|
2008-06-23 Jakub Jelinek
|
15931 |
|
|
|
15932 |
|
|
PR target/36533
|
15933 |
|
|
* emit-rtl.c (set_reg_attrs_from_value): Do nothing if
|
15934 |
|
|
REG is a hard register.
|
15935 |
|
|
|
15936 |
|
|
PR tree-optimization/36508
|
15937 |
|
|
* tree-ssa-pre.c (compute_antic): Allow num_iterations up to
|
15938 |
|
|
499, don't check it at all in release compilers.
|
15939 |
|
|
|
15940 |
|
|
2008-06-23 Uros Bizjak
|
15941 |
|
|
|
15942 |
|
|
* config/i386/i386.md (*fop__1_i387): Use SSE_FLOAT_MODE_P
|
15943 |
|
|
together with SSE_TARGET_MATH to disable insn pattern.
|
15944 |
|
|
(*fop__2_i387): Ditto.
|
15945 |
|
|
(*fop__3_i387): Ditto.
|
15946 |
|
|
|
15947 |
|
|
2008-06-22 Andy Hutchinson
|
15948 |
|
|
|
15949 |
|
|
* config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define.
|
15950 |
|
|
|
15951 |
|
|
2008-06-22 Laurynas Biveinis
|
15952 |
|
|
|
15953 |
|
|
PR middle-end/34906
|
15954 |
|
|
* gimplify.c (gimplify_asm_expr): Check the return code of
|
15955 |
|
|
parse_output_constraint call, set function return and is_inout
|
15956 |
|
|
value if it failed.
|
15957 |
|
|
|
15958 |
|
|
2008-06-22 Ian Lance Taylor
|
15959 |
|
|
|
15960 |
|
|
* c-lex.c (narrowest_unsigned_type): Change itk to int.
|
15961 |
|
|
(narrowest_signed_type): Likewise.
|
15962 |
|
|
* c-typeck.c (c_common_type): Change local variable mclass to enum
|
15963 |
|
|
mode_class, twice.
|
15964 |
|
|
(parser_build_binary_op): Compare the TREE_CODE_CLASS with
|
15965 |
|
|
tcc_comparison, not the tree code itself.
|
15966 |
|
|
* c-common.c (def_fn_type): Pass int, not an enum, to va_arg.
|
15967 |
|
|
(c_expand_expr): Cast modifier to enum expand_modifier.
|
15968 |
|
|
* c-common.h (C_RID_CODE): Add casts.
|
15969 |
|
|
(C_SET_RID_CODE): Define.
|
15970 |
|
|
* c-parser.c (c_parse_init): Use C_SET_RID_CODE.
|
15971 |
|
|
(c_lex_one_token): Add cast to avoid warning.
|
15972 |
|
|
(c_parser_objc_type_name): Rename local typename to type_name.
|
15973 |
|
|
(check_no_duplicate_clause): Change code parameter to enum
|
15974 |
|
|
omp_clause_code.
|
15975 |
|
|
(c_parser_omp_var_list_parens): Change kind parameter to enum
|
15976 |
|
|
omp_clause_code.
|
15977 |
|
|
(c_parser_omp_flush): Pass OMP_CLAUSE_ERROR, not 0, to
|
15978 |
|
|
c_parser_omp_list_var_parens.
|
15979 |
|
|
(c_parser_omp_threadprivate): Likewise.
|
15980 |
|
|
* cp/lex.c (init_reswords): Use C_SET_RID_CODE.
|
15981 |
|
|
* cp/parser.c (cp_lexer_get_preprocessor_token): Likewise.
|
15982 |
|
|
* c-format.c (NO_FMT): Define.
|
15983 |
|
|
(printf_length_specs): Use NO_FMT.
|
15984 |
|
|
(asm_fprintf_length_specs): Likewise.
|
15985 |
|
|
(gcc_diag_length_specs): Likewise.
|
15986 |
|
|
(scanf_length_specs): Likewise.
|
15987 |
|
|
(strfmon_length_specs): Likewise.
|
15988 |
|
|
(gcc_gfc_length_specs): Likewise.
|
15989 |
|
|
(printf_flag_specs): Change 0 to STD_C89.
|
15990 |
|
|
(asm_fprintf_flag_specs): Likewise.
|
15991 |
|
|
(gcc_diag_flag_specs): Likewise.
|
15992 |
|
|
(gcc_cxxdiag_flag_specs): Likewise.
|
15993 |
|
|
(scanf_flag_specs): Likewise.
|
15994 |
|
|
(strftime_flag_specs): Likewise.
|
15995 |
|
|
(strfmon_flag_specs): Likewise.
|
15996 |
|
|
(print_char_table): Likewise.
|
15997 |
|
|
(asm_fprintf_char_table): Likewise.
|
15998 |
|
|
(gcc_diag_char_table): Likewise.
|
15999 |
|
|
(gcc_tdiag_char_table): Likewise.
|
16000 |
|
|
(gcc_cdiag_char_table): Likewise.
|
16001 |
|
|
(gcc_cxxdiag_char_table): Likewise.
|
16002 |
|
|
(gcc_gfc_char_table): Likewise.
|
16003 |
|
|
(scan_char_table): Likewise.
|
16004 |
|
|
(time_char_table): Likewis.
|
16005 |
|
|
(monetary_char_table): Likewise.
|
16006 |
|
|
* c-format.h (BADLEN): Likewise.
|
16007 |
|
|
|
16008 |
|
|
2008-06-21 Ian Lance Taylor
|
16009 |
|
|
|
16010 |
|
|
* tree.h (enum tree_code): Include all-tree.def, not tree.def.
|
16011 |
|
|
Define END_OF_BASE_TREE_CODES around inclusion.
|
16012 |
|
|
* tree.c (tree_code_type): New global array.
|
16013 |
|
|
(tree_code_length, tree_code_name): Likewise.
|
16014 |
|
|
* Makefile.in (TREE_H): Add all-tree.def, c-common.def, and
|
16015 |
|
|
$(lang_tree_files).
|
16016 |
|
|
(all-tree.def, s-alltree): New targets.
|
16017 |
|
|
(gencheck.h, s-gencheck): Remove.
|
16018 |
|
|
(tree.o): Depend upon all-tree.def.
|
16019 |
|
|
(build/gencheck.o): Remove gencheck.h dependency.
|
16020 |
|
|
(mostlyclean): Don't remove gencheck.h.
|
16021 |
|
|
* c-common.h (enum c_tree_code): Remove.
|
16022 |
|
|
* c-lang.c (tree_code_type): Remove.
|
16023 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16024 |
|
|
* gencheck.c (tree_codes): Include all-tree.def, rather than
|
16025 |
|
|
tree.def, c-common.def, and gencheck.h. Undefined DEFTREECODE
|
16026 |
|
|
after it is used.
|
16027 |
|
|
* tree-browser.c (tb_tree_codes): Include all-tree.def, rather
|
16028 |
|
|
than tree.def.
|
16029 |
|
|
* cp/cp-tree.h (enum cplus_tree_code): Remove.
|
16030 |
|
|
(operator_name_info): Size to MAX_TREE_CODES.
|
16031 |
|
|
(assignment_operator_name_info): Likewise.
|
16032 |
|
|
* cp/cp-lang.c (tree_code_type): Remove.
|
16033 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16034 |
|
|
* cp/lex.c (operator_name_info): Size to MAX_TREE_CODES.
|
16035 |
|
|
(assignment_operator_name_info): Likewise.
|
16036 |
|
|
* cp/decl.c (grok_op_properties): Change LAST_CPLUS_TREE_CODE to
|
16037 |
|
|
MAX_TREE_CODES.
|
16038 |
|
|
* cp/mangle.c (write_expression): Likewise.
|
16039 |
|
|
* cp/Make-lang.in (CXX_TREE_H): Remove cp/cp-tree.def.
|
16040 |
|
|
* fortran/f95-lang.c (tree_code_type): Remove.
|
16041 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16042 |
|
|
* java/java-tree.h (enum java_tree_code): Remove.
|
16043 |
|
|
* java/lang.c (tree_code_type): Remove.
|
16044 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16045 |
|
|
* java/Make-lang.in (JAVA_TREE_H): Remove java/java-tree.def.
|
16046 |
|
|
* objc/objc-act.h (enum objc_tree_code): Remove.
|
16047 |
|
|
* objc/objc-lang.c (tree_code_type): Remove.
|
16048 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16049 |
|
|
* objcp/objcp-lang.c (tree_code_type): Remove.
|
16050 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16051 |
|
|
* ada/ada-tree.h (enum gnat_tree_code): Remove.
|
16052 |
|
|
* ada/Make-lang.in (ADA_TREE_H): Remove ada/ada-tre.def.
|
16053 |
|
|
* ada/misc.c (tree_code_type): Remove.
|
16054 |
|
|
(tree_code_length, tree_code_name): Remove.
|
16055 |
|
|
|
16056 |
|
|
2008-06-21 Bernhard Fischer
|
16057 |
|
|
|
16058 |
|
|
* tree-ssa-pre.c (fini_antic): Bitmap_sets have to be freed before
|
16059 |
|
|
the grand_bitmap_obstack.
|
16060 |
|
|
|
16061 |
|
|
2008-06-20 Kaveh R. Ghazi
|
16062 |
|
|
|
16063 |
|
|
* ggc.h (GGC_RESIZEVAR): New, reorder macros.
|
16064 |
|
|
* tracer.c (tail_duplicate): Fix for -Wc++-compat.
|
16065 |
|
|
* tree-affine.c (aff_combination_expand, free_name_expansion): Likewise.
|
16066 |
|
|
* tree-cfg.c (replace_by_duplicate_decl, replace_ssa_name,
|
16067 |
|
|
move_stmt_r, new_label_mapper): Likewise.
|
16068 |
|
|
* tree-complex.c (cvc_lookup): Likewise.
|
16069 |
|
|
* tree-dfa.c (create_function_ann): Likewise.
|
16070 |
|
|
* tree-dump.c (dump_register): Likewise.
|
16071 |
|
|
* tree-if-conv.c (tree_if_conversion, add_to_predicate_list,
|
16072 |
|
|
find_phi_replacement_condition): Likewise.
|
16073 |
|
|
* tree-inline.c (copy_phis_for_bb, estimate_num_insns_1,
|
16074 |
|
|
tree_function_versioning): Likewise.
|
16075 |
|
|
* tree-into-ssa.c (cmp_dfsnum): Likewise.
|
16076 |
|
|
* tree-iterator.c (tsi_link_before, tsi_link_after): Likewise.
|
16077 |
|
|
* tree-nested.c (lookup_field_for_decl, lookup_tramp_for_decl,
|
16078 |
|
|
get_nonlocal_debug_decl, convert_nonlocal_reference,
|
16079 |
|
|
convert_nonlocal_omp_clauses, get_local_debug_decl,
|
16080 |
|
|
convert_local_reference, convert_local_omp_clauses,
|
16081 |
|
|
convert_nl_goto_reference, convert_nl_goto_receiver,
|
16082 |
|
|
convert_tramp_reference, convert_call_expr): Likewise.
|
16083 |
|
|
* tree-outof-ssa.c (contains_tree_r): Likewise.
|
16084 |
|
|
* tree-parloops.c (reduction_phi, initialize_reductions,
|
16085 |
|
|
eliminate_local_variables_1, add_field_for_reduction,
|
16086 |
|
|
add_field_for_name, create_phi_for_local_result,
|
16087 |
|
|
create_call_for_reduction_1, create_loads_for_reductions,
|
16088 |
|
|
create_stores_for_reduction, create_loads_and_stores_for_name):
|
16089 |
|
|
Likewise.
|
16090 |
|
|
* tree-phinodes.c (allocate_phi_node): Likewise.
|
16091 |
|
|
* tree-predcom.c (order_drefs, execute_pred_commoning_cbck): Likewise.
|
16092 |
|
|
* tree-sra.c (sra_elt_hash, sra_elt_eq, lookup_element): Likewise.
|
16093 |
|
|
* tree-ssa-alias.c (get_mem_sym_stats_for): Likewise.
|
16094 |
|
|
* tree-ssa-coalesce.c (compare_pairs): Likewise.
|
16095 |
|
|
* tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq,
|
16096 |
|
|
memref_free, gather_mem_refs_stmt, vtoe_hash, vtoe_eq, vtoe_free,
|
16097 |
|
|
record_vop_access, get_vop_accesses, get_vop_stores): Likewise.
|
16098 |
|
|
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
|
16099 |
|
|
* tree-ssa-sccvn.c (VN_INFO_GET, free_phi, free_reference,
|
16100 |
|
|
vn_nary_op_insert): Likewise.
|
16101 |
|
|
* tree-ssa.c (redirect_edge_var_map_add,
|
16102 |
|
|
redirect_edge_var_map_clear, redirect_edge_var_map_dup): Likewise.
|
16103 |
|
|
* tree-vectorizer.c (vectorize_loops): Likewise.
|
16104 |
|
|
* tree.c (make_node_stat, copy_node_stat, build_int_cst_wide,
|
16105 |
|
|
build_fixed, build_real, make_tree_binfo_stat, make_tree_vec_stat,
|
16106 |
|
|
tree_cons_stat, build1_stat, build_variant_type_copy,
|
16107 |
|
|
decl_init_priority_lookup, decl_fini_priority_lookup,
|
16108 |
|
|
decl_priority_info, decl_restrict_base_lookup,
|
16109 |
|
|
decl_restrict_base_insert, decl_debug_expr_lookup,
|
16110 |
|
|
decl_debug_expr_insert, decl_value_expr_lookup,
|
16111 |
|
|
decl_value_expr_insert, type_hash_eq, type_hash_lookup,
|
16112 |
|
|
type_hash_add, get_file_function_name, tree_check_failed,
|
16113 |
|
|
tree_not_check_failed, tree_range_check_failed,
|
16114 |
|
|
omp_clause_range_check_failed, build_omp_clause,
|
16115 |
|
|
build_vl_exp_stat): Likewise.
|
16116 |
|
|
* value-prof.c (gimple_histogram_value,
|
16117 |
|
|
gimple_duplicate_stmt_histograms): Likewise.
|
16118 |
|
|
* var-tracking.c (attrs_list_insert, attrs_list_copy,
|
16119 |
|
|
unshare_variable, variable_union_info_cmp_pos, variable_union,
|
16120 |
|
|
dataflow_set_different_1, dataflow_set_different_2,
|
16121 |
|
|
vt_find_locations, variable_was_changed, set_variable_part,
|
16122 |
|
|
emit_notes_for_differences_1, emit_notes_for_differences_2): Likewise.
|
16123 |
|
|
* varasm.c (prefix_name, emutls_decl, section_entry_eq,
|
16124 |
|
|
section_entry_hash, object_block_entry_eq,
|
16125 |
|
|
object_block_entry_hash, create_block_symbol,
|
16126 |
|
|
initialize_cold_section_name, default_function_rodata_section,
|
16127 |
|
|
strip_reg_name, set_user_assembler_name, const_desc_eq,
|
16128 |
|
|
build_constant_desc, output_constant_def, lookup_constant_def,
|
16129 |
|
|
const_desc_rtx_hash, const_desc_rtx_eq, const_rtx_hash_1,
|
16130 |
|
|
create_constant_pool, force_const_mem, compute_reloc_for_rtx_1,
|
16131 |
|
|
default_internal_label): Likewise.
|
16132 |
|
|
* varray.c (varray_init, varray_grow): Likewise.
|
16133 |
|
|
* vec.c (vec_gc_o_reserve_1, vec_heap_o_reserve_1): Likewise.
|
16134 |
|
|
|
16135 |
|
|
2008-06-20 Uros Bizjak
|
16136 |
|
|
|
16137 |
|
|
* config/i386/i386.md (*jcc_fused_1): Handle all valid compare
|
16138 |
|
|
operators for "test" insn. Macroize insn using SWI mode macro.
|
16139 |
|
|
(*jcc_fused_2): Ditto.
|
16140 |
|
|
(*jcc_fused_3): Macroize insn using SWI mode macro.
|
16141 |
|
|
(*jcc_fused_4): Ditto.
|
16142 |
|
|
|
16143 |
|
|
2008-06-20 Bernhard Fischer
|
16144 |
|
|
|
16145 |
|
|
* tree-ssa-pre.c: Fix typo in comment.
|
16146 |
|
|
(init_antic, fini_antic): Add explicit funtions for
|
16147 |
|
|
initializing and deinitializing ANTIC and AVAIL sets.
|
16148 |
|
|
(create_expression_by_pieces): Fix typo in comment.
|
16149 |
|
|
Remove redundant set of new_stuff and use NULL_TREE instead of NULL.
|
16150 |
|
|
(execute_pre): Eventually dump details about ANTIC_IN.
|
16151 |
|
|
|
16152 |
|
|
2008-06-19 Kaveh R. Ghazi
|
16153 |
|
|
|
16154 |
|
|
* collect2.c (main, add_to_list): Fix for -Wc++-compat.
|
16155 |
|
|
* gcc.c (translate_options, init_spec, store_arg, read_specs,
|
16156 |
|
|
add_to_obstack, file_at_path, find_a_file, execute,
|
16157 |
|
|
add_preprocessor_option, add_assembler_option, add_linker_option,
|
16158 |
|
|
process_command, insert_wrapper, do_option_spec, do_self_spec,
|
16159 |
|
|
spec_path, do_spec_1, is_directory, main, used_arg,
|
16160 |
|
|
getenv_spec_function): Likewise.
|
16161 |
|
|
* tlink.c (symbol_hash_lookup, file_hash_lookup,
|
16162 |
|
|
demangled_hash_lookup, symbol_push, file_push, frob_extension):
|
16163 |
|
|
Likewise.
|
16164 |
|
|
|
16165 |
|
|
2008-06-19 Kenneth Zadeck
|
16166 |
|
|
|
16167 |
|
|
* doc/rtl.texi: Updated subreg section.
|
16168 |
|
|
|
16169 |
|
|
2008-06-19 Jakub Jelinek
|
16170 |
|
|
|
16171 |
|
|
PR c++/36523
|
16172 |
|
|
* cgraphunit.c (cgraph_process_new_functions): Don't clear
|
16173 |
|
|
node->needed and node->reachable.
|
16174 |
|
|
* cgraphbuild.c (record_reference): Handle OMP_PARALLEL and OMP_TASK.
|
16175 |
|
|
* omp-low.c (delete_omp_context): Call finalize_task_copyfn.
|
16176 |
|
|
(expand_task_call): Don't call expand_task_copyfn.
|
16177 |
|
|
(expand_task_copyfn): Renamed to...
|
16178 |
|
|
(finalize_task_copyfn): ... this.
|
16179 |
|
|
|
16180 |
|
|
2008-06-19 Jan Hubicka
|
16181 |
|
|
|
16182 |
|
|
* builtins.c (expand_builtin_nonlocal_goto): Stabilize r_sp before
|
16183 |
|
|
clobbering framepointer.
|
16184 |
|
|
|
16185 |
|
|
2008-06-19 Jan Hubicka
|
16186 |
|
|
|
16187 |
|
|
* tree-optimize.c (execute_early_local_optimizations): Set
|
16188 |
|
|
cgraph_state only at first invocation.
|
16189 |
|
|
|
16190 |
|
|
2008-06-19 Kaveh R. Ghazi
|
16191 |
|
|
|
16192 |
|
|
* system.h (-Wc++-compat): Activate as a warning, no an error.
|
16193 |
|
|
|
16194 |
|
|
2008-06-19 Uros Bizjak
|
16195 |
|
|
|
16196 |
|
|
* config/i386/i386.md (*jcc_fused_1): Use ASM_COMMENT_START
|
16197 |
|
|
instead of "#" in insn asm template.
|
16198 |
|
|
(*jcc_fused_2): Ditto.
|
16199 |
|
|
|
16200 |
|
|
2008-06-19 Uros Bizjak
|
16201 |
|
|
|
16202 |
|
|
* config/i386/i386.h (ix86_tune_indices)
|
16203 |
|
|
[X86_TUNE_FUSE_CMP_AND_BRANCH]: New.
|
16204 |
|
|
(TARGET_FUSE_CMP_AND_BRANCH): New define.
|
16205 |
|
|
* config/i386/i386.md (*jcc_fused_1): New insn pattern
|
16206 |
|
|
(*jcc_fused_2): Ditto.
|
16207 |
|
|
* config/i386/i386.c (ix86_tune_features): Add m_CORE2 to
|
16208 |
|
|
X86_TUNE_FUSE_CMP_AND_BRANCH targets.
|
16209 |
|
|
(print operand): Handle 'E' and 'e' code.
|
16210 |
|
|
|
16211 |
|
|
2008-06-19 Anatoly Sokolov
|
16212 |
|
|
|
16213 |
|
|
* config/avr/avr.c (avr_mcu_t): Add attiny13a.
|
16214 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
|
16215 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
|
16216 |
|
|
|
16217 |
|
|
2008-06-19 Bernhard Fischer
|
16218 |
|
|
|
16219 |
|
|
* cgraphunit.c (cgraph_finalize_function): Remove redundant setting of
|
16220 |
|
|
node->decl.
|
16221 |
|
|
(cgraph_expand_function): Use local copy of decl.
|
16222 |
|
|
(cgraph_expand_all_functions): Remove redundant initialization of
|
16223 |
|
|
order_pos.
|
16224 |
|
|
(cgraph_optimize): Reword internal_error message.
|
16225 |
|
|
|
16226 |
|
|
2008-06-19 Chung-Lin Tang
|
16227 |
|
|
|
16228 |
|
|
* arm-protos.h (arm_return_in_memory): Remove public
|
16229 |
|
|
arm_return_in_memory() prototype.
|
16230 |
|
|
* arm.c (arm_return_in_memory): Add static prototype, add target
|
16231 |
|
|
hook macro, change definition and comments.
|
16232 |
|
|
* arm.h (TARGET_RETURN_IN_MEMORY): Remove.
|
16233 |
|
|
|
16234 |
|
|
2008-06-19 Ben Elliston
|
16235 |
|
|
|
16236 |
|
|
* dfp.h, dfp.c, config/dfp-bit.h, config/dfp-bit.c, real.h,
|
16237 |
|
|
real.c: Remove references to IEEE 754R.
|
16238 |
|
|
* doc/install.texi (Configuration): IEEE 754R -> IEEE 754-2008.
|
16239 |
|
|
* doc/libgcc.texi (Decimal float library routines): Likewise.
|
16240 |
|
|
|
16241 |
|
|
2008-06-18 Ulrich Weigand
|
16242 |
|
|
|
16243 |
|
|
* targhooks.h (struct gcc_target): New member unwind_word_mode.
|
16244 |
|
|
(default_unwind_word_mode): Add prototype.
|
16245 |
|
|
* targhooks.c (default_unwind_word_mode): New function.
|
16246 |
|
|
(default_eh_return_filter_mode): Return targetm.unwind_word_mode ()
|
16247 |
|
|
instead of word_mode.
|
16248 |
|
|
* target-def.h (TARGET_UNWIND_WORD_MODE): New macro.
|
16249 |
|
|
(TARGET_INITIALIZER): Use it.
|
16250 |
|
|
|
16251 |
|
|
* c-common.c (handle_mode_attribute): Support "unwind_word"
|
16252 |
|
|
mode attribute.
|
16253 |
|
|
* unwind-generic.h (_Unwind_Word, _Unwind_Sword): Use it.
|
16254 |
|
|
|
16255 |
|
|
* except.c (init_eh): Use targetm.unwind_word_mode () instead of
|
16256 |
|
|
word_mode to access SjLj_Function_Context member "data".
|
16257 |
|
|
(sjlj_emit_dispatch_table): Likewise. Also, perform type
|
16258 |
|
|
conversion from targetm.eh_return_filter_mode () to
|
16259 |
|
|
targetm.unwind_word_mode () if they differ.
|
16260 |
|
|
|
16261 |
|
|
* builtin-types.def (BT_UNWINDWORD): New primitive type.
|
16262 |
|
|
(BT_FN_UNWINDWORD_PTR): New function type.
|
16263 |
|
|
(BT_FN_WORD_PTR): Remove.
|
16264 |
|
|
* builtins.def (BUILT_IN_EXTEND_POINTER): Use BT_FN_UNWINDWORD_PTR.
|
16265 |
|
|
* except.c (expand_builtin_extend_pointer): Convert pointer to
|
16266 |
|
|
targetm.unwind_word_mode () instead of word_mode.
|
16267 |
|
|
|
16268 |
|
|
* config/spu/spu-protos.h (spu_eh_return_filter_mode): Remove.
|
16269 |
|
|
* config/spu/spu.c (spu_eh_return_filter_mode): Remove.
|
16270 |
|
|
(spu_unwind_word_mode): New function.
|
16271 |
|
|
(TARGET_EH_RETURN_FILTER_MODE): Do not define.
|
16272 |
|
|
(TARGET_UNWIND_WORD_MODE): Define.
|
16273 |
|
|
* config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS): Remove -D__word__=SI.
|
16274 |
|
|
|
16275 |
|
|
2008-06-18 Ulrich Weigand
|
16276 |
|
|
|
16277 |
|
|
* config/spu/spu.c (reg_align): Remove.
|
16278 |
|
|
(regno_aligned_for_load): Also accept ARG_POINTER_REGNUM.
|
16279 |
|
|
(spu_split_load): Use regno_aligned_for_load instead of reg_align.
|
16280 |
|
|
(spu_split_store): Likewise.
|
16281 |
|
|
|
16282 |
|
|
2008-06-18 Bernhard Fischer
|
16283 |
|
|
|
16284 |
|
|
* gcc/tree-vn.c: Fix typo in comment.
|
16285 |
|
|
|
16286 |
|
|
2008-06-18 Jan Hubicka
|
16287 |
|
|
|
16288 |
|
|
* cgraphunit.c (cgraph_optimize): Output debug info when doing
|
16289 |
|
|
toplevel reorder too.
|
16290 |
|
|
|
16291 |
|
|
2008-06-18 Jan Hubicka
|
16292 |
|
|
|
16293 |
|
|
* c-opts.c (c_common_post_options): PCH is not compatible with
|
16294 |
|
|
no-unit-at-a-time.
|
16295 |
|
|
* opts.c (handle_options): Enable unit-at-a-time at O0 along with
|
16296 |
|
|
-fno-toplevel-reorder by default now.
|
16297 |
|
|
|
16298 |
|
|
2008-06-18 Ralf Wildenhues
|
16299 |
|
|
|
16300 |
|
|
PR documentation/30739
|
16301 |
|
|
* doc/install.texi (Prerequisites): Document dependency on awk.
|
16302 |
|
|
|
16303 |
|
|
2008-06-18 Uros Bizjak
|
16304 |
|
|
Ian Lance Taylor
|
16305 |
|
|
|
16306 |
|
|
PR rtl-optimization/35604
|
16307 |
|
|
* jump.c (redirect_exp_1): Skip the condition of an IF_THEN_ELSE. We
|
16308 |
|
|
only want to change jump destinations, not eventual label comparisons.
|
16309 |
|
|
|
16310 |
|
|
2008-06-16 Jan Hubicka
|
16311 |
|
|
|
16312 |
|
|
* cgraphunit.c (cgraph_expand_pending_functions): Give up at
|
16313 |
|
|
syntax errors.
|
16314 |
|
|
(cgraph_analyze_function): Likewise.
|
16315 |
|
|
|
16316 |
|
|
2008-06-16 Jan Hubicka
|
16317 |
|
|
|
16318 |
|
|
* cgraph.h (cgraph_mark_if_needed): New function.
|
16319 |
|
|
* cgraphunit.c (cgraph_mark_if_needed): New function.
|
16320 |
|
|
* c-decl.c (duplicate_decl): Use it.
|
16321 |
|
|
|
16322 |
|
|
2008-06-16 Jan Hubicka
|
16323 |
|
|
|
16324 |
|
|
* cgraph.c (cgraph_add_new_function): When in expansion state, do
|
16325 |
|
|
lowering.
|
16326 |
|
|
|
16327 |
|
|
2008-06-16 Jan Hubicka
|
16328 |
|
|
|
16329 |
|
|
* tree-outof-ssa.c (pass_out_of_ssa): Do not depend on PROP_alias.
|
16330 |
|
|
|
16331 |
|
|
2008-06-16 Daniel Jacobowitz
|
16332 |
|
|
Kazu Hirata
|
16333 |
|
|
Maxim Kuvyrkov
|
16334 |
|
|
|
16335 |
|
|
* config.gcc (mips64el-st-linux-gnu): Use mips/st.h and mips/t-st.
|
16336 |
|
|
* config.host: Use driver-native.o and mips/x-native for mips*-linux*.
|
16337 |
|
|
* config/mips/linux.h (host_detect_local_cpu): Declare, add to
|
16338 |
|
|
EXTRA_SPEC_FUNCTIONS.
|
16339 |
|
|
(MARCH_MTUNE_NATIVE_SPECS, BASE_DRIVER_SELF_SPECS): New macros.
|
16340 |
|
|
(DRIVER_SELF_SPECS): Adjust.
|
16341 |
|
|
* config/mips/linux64.h (DRIVER_SELF_SPECS): Update.
|
16342 |
|
|
* config/mips/st.h, config/mips/t-st: New.
|
16343 |
|
|
* config/mips/driver-native.c, config/mips/x-native: New.
|
16344 |
|
|
* doc/invoke.texi (MIPS): Document 'native' value for -march and
|
16345 |
|
|
-mtune options.
|
16346 |
|
|
|
16347 |
|
|
2008-06-18 Maxim Kuvyrkov
|
16348 |
|
|
|
16349 |
|
|
* config/mips/mips.h (ISA_HAS_CONDMOVE): Slice ISA_HAS_FP_CONDMOVE
|
16350 |
|
|
from it.
|
16351 |
|
|
(ISA_HAS_FP_CONDMOVE): New macro.
|
16352 |
|
|
(ISA_HAS_FP_MADD4_MSUB4, ISA_HAS_FP_MADD3_MSUB3): New macros.
|
16353 |
|
|
(ISA_HAS_NMADD_NMSUB): Rename to ISA_HAS_NMADD4_NMSUB4.
|
16354 |
|
|
(ISA_HAS_NMADD3_NMSUB3): New macro.
|
16355 |
|
|
* config/mips/mips.c (mips_rtx_costs): Update.
|
16356 |
|
|
* config/mips/mips.md (MOVECC): Don't use FP conditional moves when
|
16357 |
|
|
compiling for ST Loongson 2E/2F.
|
16358 |
|
|
(madd): Rename to madd4. Update.
|
16359 |
|
|
(madd3): New pattern.
|
16360 |
|
|
(msub): Rename to msub4. Update.
|
16361 |
|
|
(msub3): New pattern.
|
16362 |
|
|
(nmadd): Rename to nmadd4. Update.
|
16363 |
|
|
(nmadd3): New pattern.
|
16364 |
|
|
(nmadd_fastmath): Rename to nmadd4_fastmath. Update.
|
16365 |
|
|
(nmadd3_fastmath): New pattern.
|
16366 |
|
|
(nmsub): Rename to nmsub4. Update.
|
16367 |
|
|
(nmsub3): New pattern.
|
16368 |
|
|
(nmsub_fastmath): Rename to nmsub4_fastmath. Update.
|
16369 |
|
|
(nmsub3_fastmath): New pattern.
|
16370 |
|
|
(mov_on_, movcc): Update.
|
16371 |
|
|
|
16372 |
|
|
2008-06-18 Steven Bosscher
|
16373 |
|
|
|
16374 |
|
|
* df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
|
16375 |
|
|
(DF_REF_INSN_INFO): New.
|
16376 |
|
|
(DF_REF_INSN, DF_REF_INSN_UID): Rewrite macros using DF_REF_INSN_INFO.
|
16377 |
|
|
(DF_REF_IS_ARTIFICIAL): Artificial refs are now identified as refs
|
16378 |
|
|
with a NULL DF_REF_INSN_INFO.
|
16379 |
|
|
(DF_INSN_INFO_GET, DF_INSN_INFO_SET): Renamed from DF_INSN_GET and
|
16380 |
|
|
DF_INSN_SET.
|
16381 |
|
|
(DF_INSN_INFO_LUID, DF_INSN_INFO_DEFS, DF_INSN_INFO_USES,
|
16382 |
|
|
DF_INSN_INFO_EQ_USES): New.
|
16383 |
|
|
(DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, DF_INSN_EQ_USES,
|
16384 |
|
|
DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
|
16385 |
|
|
DF_INSN_UID_EQ_USES): Rewrite using DF_INSN_INFO_* macros.
|
16386 |
|
|
* df-core.c: Update comment for above changes.
|
16387 |
|
|
(df_insn_debug_regno): Use DF_INSN_INFO_GET instead of INSN_UID and
|
16388 |
|
|
DF_INSN_UID_* macros.
|
16389 |
|
|
(df_ref_debug): Check for NULL DF_REF_INSN_INFO.
|
16390 |
|
|
* df-scan.c (df_ref_record): Take a df_insn_info instead of an
|
16391 |
|
|
insn rtx. Update all callers.
|
16392 |
|
|
(df_def_record_1, df_defs_record, df_uses_record, df_get_call_refs,
|
16393 |
|
|
df_ref_create_structure, df_insn_refs_collect): Likewise.
|
16394 |
|
|
(df_ref_equal_p): Compare DF_REF_INSN_INFO pointers for the refs.
|
16395 |
|
|
* df-problems.c (df_chain_dump): Test for non-NULL DF_REF_INSN_INFO.
|
16396 |
|
|
(df_live_bb_local_compute): Retrieve DF_INSN_INFO, use DF_INSN_INFO_*
|
16397 |
|
|
macros to access the insn refs.
|
16398 |
|
|
(df_chain_top_dump, df_chain_bottom_dump, df_byte_lr_alloc): Likewise.
|
16399 |
|
|
* fwprop.c (use_killed_between): Use DF_REF_INSN accessor macro.
|
16400 |
|
|
(all_uses_available): Retrieve DF_INSN_INFO for def_insn, and use it
|
16401 |
|
|
for accessing the refs.
|
16402 |
|
|
(try_fwprop_subst): Likewise.
|
16403 |
|
|
* ddg.c (add_cross_iteration_register_deps): Use DF_REF_INSN macro.
|
16404 |
|
|
* web.c (union_defs): Retrieve DF_INSN_INFO for def_insn, and use it
|
16405 |
|
|
for accessing the refs.
|
16406 |
|
|
* loop-invariant.c (invariant_for_use): Use DF_REF_BB macro.
|
16407 |
|
|
(check_dependencies): Use DF_INSN_INFO_GET, use DF_INSN_INFO_* macros
|
16408 |
|
|
to look at the insn refs.
|
16409 |
|
|
(record_uses): Likewise.
|
16410 |
|
|
* dce.c (deletable_insn_p): Don't tolerate artificial DEFs in this
|
16411 |
|
|
function anymore.
|
16412 |
|
|
(mark_artificial_uses): Don't mark_insn for artificial refs.
|
16413 |
|
|
(mark_reg_rependencies): Likewise.
|
16414 |
|
|
|
16415 |
|
|
* doc/rtl.texi: Remove documentation of ADDRESSOF.
|
16416 |
|
|
|
16417 |
|
|
2008-06-17 Ralf Wildenhues
|
16418 |
|
|
|
16419 |
|
|
* configure: Regenerate.
|
16420 |
|
|
|
16421 |
|
|
2008-06-17 Eric B. Weddington
|
16422 |
|
|
|
16423 |
|
|
* config/avr/avr.c (avr_mcu_t): Remove atmega32hvb.
|
16424 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
|
16425 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
|
16426 |
|
|
|
16427 |
|
|
2008-06-17 Eric B. Weddington
|
16428 |
|
|
|
16429 |
|
|
* config/avr/avr.c (avr_mcu_t): Add attiny167.
|
16430 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
|
16431 |
|
|
* gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise.
|
16432 |
|
|
|
16433 |
|
|
2008-06-17 Eric B. Weddington
|
16434 |
|
|
|
16435 |
|
|
* config/avr/avr.c (avr_mcu_t): Add atmega32u4.
|
16436 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
|
16437 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
|
16438 |
|
|
|
16439 |
|
|
2008-06-17 Bernhard Fischer
|
16440 |
|
|
|
16441 |
|
|
* tree-ssa-sccvn.c: Fix format of comments.
|
16442 |
|
|
|
16443 |
|
|
2008-06-17 Bernhard Fischer
|
16444 |
|
|
|
16445 |
|
|
* cgraph.c: Remove unneeded forward declarations of eq_node()
|
16446 |
|
|
and hash_node().
|
16447 |
|
|
|
16448 |
|
|
2008-06-17 Steven Bosscher
|
16449 |
|
|
|
16450 |
|
|
* see.c (see_analyse_one_def): Do not look for REG_LIBCALL and
|
16451 |
|
|
REG_RETVAL notes.
|
16452 |
|
|
(see_update_relevancy): Likewise.
|
16453 |
|
|
* fwprop.c (try_fwprop_subst): Likewise.
|
16454 |
|
|
* rtlanal.c (noop_move_p): Likewise.
|
16455 |
|
|
* builtins.c (expand_buitlin_mathfn): Don't try to add REG_EQUAL
|
16456 |
|
|
notes to non-existing libcall blocks.
|
16457 |
|
|
* cse.c (cse_insn): Change prototype. Don't update libcall notes.
|
16458 |
|
|
Remove orig_set.
|
16459 |
|
|
(cse_extended_basic_block): Don't track libcall and no-conflict notes.
|
16460 |
|
|
(dead_libcall_p): Remove.
|
16461 |
|
|
(delete_trivially_dead_insns): Don't use it.
|
16462 |
|
|
* web.c (union_defs): Remove comment about keeping nops.
|
16463 |
|
|
* gcse.c (hash_scan_insn): Don't take libcall pointers.
|
16464 |
|
|
(compute_hash_table_work): Don't track libcall notes.
|
16465 |
|
|
(do_local_cprop): Don't take libcall pointers. Don't update
|
16466 |
|
|
libcall notes.
|
16467 |
|
|
(adjust_libcall_notes): Deleted.
|
16468 |
|
|
(local_cprop_pass): Remove stack for nested libcalls (which shouldn't
|
16469 |
|
|
ever have existed in the first place).
|
16470 |
|
|
(replace_store_insn): Don't try to remove libcall notes.
|
16471 |
|
|
* lower-subreg.c (move_libcall_note, move_retval_note): Deleted.
|
16472 |
|
|
(resolve_reg_notes): Don't call them.
|
16473 |
|
|
(resolve_simple_move): Likewise.
|
16474 |
|
|
(decompose_multiword_subregs): Remove block handling REG_RETVAL notes.
|
16475 |
|
|
Don't remove REG_RETVAL notes.
|
16476 |
|
|
* emit-rtl.c (try_split): Don't update libcall notes.
|
16477 |
|
|
(emit_copy_of_insn_after): Dito.
|
16478 |
|
|
* cselib.c (cselib_current_insn_in_libcall): Remove.
|
16479 |
|
|
(cselib_process_insn): Don't set/clear it.
|
16480 |
|
|
(new_elt_loc_list): Don't record it.
|
16481 |
|
|
(cselib_init): Don't initialize it.
|
16482 |
|
|
* cselib.c (struct elt_loc_list): Remove in_libcall field.
|
16483 |
|
|
* loop-invariant.c (find_invariant_insn): Don't look for libcall
|
16484 |
|
|
notes.
|
16485 |
|
|
* sched-deps.c (sched_analyze_insn): Don't group libcall blocks.
|
16486 |
|
|
(sched_analyze): Don't set up deps->libcall_block_tail_insn.
|
16487 |
|
|
(init_deps): Don't initialize it.
|
16488 |
|
|
* sched-int.h (struct deps): Rremove libcall_block_tail_insn field.
|
16489 |
|
|
* combine.c (delete_noop_moves): Don't update libcall notes.
|
16490 |
|
|
(can_combine_p): Remove now pointless #if 0 block.
|
16491 |
|
|
(try_combine): Remove another obsolete #if 0 block.
|
16492 |
|
|
(distribute_notes): Don't distribute libcall notes.
|
16493 |
|
|
* reg-notes.def (REG_LIBCALL, REG_RETVAL): Remove.
|
16494 |
|
|
* dce.c (libcall_dead_p): Remove.
|
16495 |
|
|
(delete_unmarked_insns): Don't handle libcall blocks.
|
16496 |
|
|
(preserve_libcall_for_dce): Remove.
|
16497 |
|
|
(prescan_insns_for_dce): Don't special-case libcall block insns.
|
16498 |
|
|
* reload1 (reload): Don't handle libcall notes.
|
16499 |
|
|
* doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
|
16500 |
|
|
documentation.
|
16501 |
|
|
|
16502 |
|
|
2008-06-16 Eric B. Weddington
|
16503 |
|
|
|
16504 |
|
|
* config/avr/avr.c (avr_mcu_t): Add atmega32c1.
|
16505 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
|
16506 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
|
16507 |
|
|
|
16508 |
|
|
2008-06-16 Eric B. Weddington
|
16509 |
|
|
|
16510 |
|
|
* config/avr/avr.c (avr_mcu_t): Add atmega32m1.
|
16511 |
|
|
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
|
16512 |
|
|
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
|
16513 |
|
|
|
16514 |
|
|
2008-06-16 Ralf Wildenhues
|
16515 |
|
|
|
16516 |
|
|
* Makefile.in (FLAGS_TO_PASS): Add $(datarootdir).
|
16517 |
|
|
|
16518 |
|
|
2008-06-16 Ira Rosen
|
16519 |
|
|
|
16520 |
|
|
PR tree-optimization/36493
|
16521 |
|
|
* tree-vect-transform.c (vect_create_data_ref_ptr): Remove TYPE from
|
16522 |
|
|
the arguments list. Use VECTYPE to create vector pointer.
|
16523 |
|
|
(vectorizable_store): Fail if accesses through a pointer to vectype
|
16524 |
|
|
do not alias the original memory reference operands.
|
16525 |
|
|
Call vect_create_data_ref_ptr without the removed argument.
|
16526 |
|
|
(vectorizable_load): Likewise.
|
16527 |
|
|
(vect_setup_realignment): Call vect_create_data_ref_ptr without the
|
16528 |
|
|
removed argument.
|
16529 |
|
|
|
16530 |
|
|
2008-06-015 Andy Hutchinson
|
16531 |
|
|
|
16532 |
|
|
PR target/36336
|
16533 |
|
|
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for
|
16534 |
|
|
reg_equiv_constant.
|
16535 |
|
|
|
16536 |
|
|
2008-06-15 Maxim Kuvyrkov
|
16537 |
|
|
|
16538 |
|
|
* config/mips/loongson2ef.md: New file.
|
16539 |
|
|
* config/mips/mips.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
|
16540 |
|
|
(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
|
16541 |
|
|
(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
|
16542 |
|
|
(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): New constants.
|
16543 |
|
|
(define_attr "cpu"): Rename loongson2e and loongson2f to loongson_2e
|
16544 |
|
|
and loongson_2f.
|
16545 |
|
|
(loongson2ef.md): New include.
|
16546 |
|
|
* config/mips/loongson.md (vec_pack_ssat_, vec_pack_usat_)
|
16547 |
|
|
(add3, paddd, ssadd3, usadd3)
|
16548 |
|
|
(loongson_and_not_, loongson_average_, loongson_eq_)
|
16549 |
|
|
(loongson_gt_, loongson_extract_halfword)
|
16550 |
|
|
(loongson_insert_halfword_0, loongson_insert_halfword_2)
|
16551 |
|
|
(loongson_insert_halfword_3, loongson_mult_add, smax3)
|
16552 |
|
|
(umax3, smin3, umin3, loongson_move_byte_mask)
|
16553 |
|
|
(umul3_highpart, smul3_highpart, loongson_smul_lowpart)
|
16554 |
|
|
(loongson_umul_word, loongson_pasubub, reduc_uplus_)
|
16555 |
|
|
(loongson_psadbh, loongson_pshufh, loongson_psll)
|
16556 |
|
|
(loongson_psra, loongson_psrl, sub3, psubd)
|
16557 |
|
|
(sssub3, ussub3, vec_interleave_high)
|
16558 |
|
|
(vec_interleave_low): Define type attribute.
|
16559 |
|
|
* config/mips/mips.c (mips_ls2): New static variable.
|
16560 |
|
|
(mips_issue_rate): Update to handle tuning for Loongson 2E/2F.
|
16561 |
|
|
(mips_ls2_init_dfa_post_cycle_insn, mips_init_dfa_post_cycle_insn)
|
16562 |
|
|
(sched_ls2_dfa_post_advance_cycle, mips_dfa_post_advance_cycle):
|
16563 |
|
|
Implement target scheduling hooks.
|
16564 |
|
|
(mips_multipass_dfa_lookahead): Update to handle tuning for
|
16565 |
|
|
Loongson 2E/2F.
|
16566 |
|
|
(mips_sched_init): Initialize data for Loongson scheduling.
|
16567 |
|
|
(mips_ls2_variable_issue): New static function.
|
16568 |
|
|
(mips_variable_issue): Update to handle tuning for Loongson 2E/2F.
|
16569 |
|
|
Add sanity check.
|
16570 |
|
|
(TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN)
|
16571 |
|
|
(TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Override target hooks.
|
16572 |
|
|
* config/mips/mips.h (TUNE_LOONGSON_2EF): New macros.
|
16573 |
|
|
(ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS):
|
16574 |
|
|
Handle ST Loongson 2E/2F cores.
|
16575 |
|
|
(CPU_UNITS_QUERY): Define macro to enable querying of DFA units.
|
16576 |
|
|
|
16577 |
|
|
2008-06-15 Ralf Wildenhues
|
16578 |
|
|
|
16579 |
|
|
* omp-low.c (extract_omp_for_data): Fix comment typo.
|
16580 |
|
|
* c.opt: Fix typo.
|
16581 |
|
|
|
16582 |
|
|
2008-06-15 Ralf Wildenhues
|
16583 |
|
|
|
16584 |
|
|
* doc/sourcebuild.texi (Config Fragments): Remove obsolete
|
16585 |
|
|
FIXME note about gcc/config.guess.
|
16586 |
|
|
* doc/options.texi (Option file format): Remove non-ASCII bytes.
|
16587 |
|
|
* doc/cpp.texi: Expand TABs, drop indentation outside examples.
|
16588 |
|
|
* doc/cppopts.texi: Likewise.
|
16589 |
|
|
* doc/extend.texi: Likewise.
|
16590 |
|
|
* doc/gcc.texi: Likewise.
|
16591 |
|
|
* doc/gccint.texi: Likewise.
|
16592 |
|
|
* doc/gcov.texi: Likewise.
|
16593 |
|
|
* doc/gty.texi: Likewise.
|
16594 |
|
|
* doc/hostconfig.texi: Likewise.
|
16595 |
|
|
* doc/install.texi: Likewise.
|
16596 |
|
|
* doc/invoke.texi: Likewise.
|
16597 |
|
|
* doc/loop.texi: Likewise.
|
16598 |
|
|
* doc/makefile.texi: Likewise.
|
16599 |
|
|
* doc/md.texi: Likewise.
|
16600 |
|
|
* doc/passes.texi: Likewise.
|
16601 |
|
|
* doc/tm.texi: Likewise.
|
16602 |
|
|
* doc/tree-ssa.texi: Likewise.
|
16603 |
|
|
* doc/trouble.texi: Likewise.
|
16604 |
|
|
|
16605 |
|
|
2008-06-15 Mark Shinwell
|
16606 |
|
|
Nathan Sidwell
|
16607 |
|
|
Maxim Kuvyrkov
|
16608 |
|
|
Richard Sandiford
|
16609 |
|
|
|
16610 |
|
|
* config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes.
|
16611 |
|
|
* config/mips/mips-protos.h (mips_expand_vector_init): New.
|
16612 |
|
|
* config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F
|
16613 |
|
|
builtins.
|
16614 |
|
|
* config/mips/mips.c (mips_split_doubleword_move): Handle new modes.
|
16615 |
|
|
(mips_hard_regno_mode_ok_p): Allow 64-bit vector modes for Loongson.
|
16616 |
|
|
(mips_vector_mode_supported_p): Add V2SImode, V4HImode and
|
16617 |
|
|
V8QImode cases.
|
16618 |
|
|
(LOONGSON_BUILTIN, LOONGSON_BUILTIN_ALIAS): New.
|
16619 |
|
|
(CODE_FOR_loongson_packsswh, CODE_FOR_loongson_packsshb,
|
16620 |
|
|
(CODE_FOR_loongson_packushb, CODE_FOR_loongson_paddw,
|
16621 |
|
|
(CODE_FOR_loongson_paddh, CODE_FOR_loongson_paddb,
|
16622 |
|
|
(CODE_FOR_loongson_paddsh, CODE_FOR_loongson_paddsb)
|
16623 |
|
|
(CODE_FOR_loongson_paddush, CODE_FOR_loongson_paddusb)
|
16624 |
|
|
(CODE_FOR_loongson_pmaxsh, CODE_FOR_loongson_pmaxub)
|
16625 |
|
|
(CODE_FOR_loongson_pminsh, CODE_FOR_loongson_pminub)
|
16626 |
|
|
(CODE_FOR_loongson_pmulhuh, CODE_FOR_loongson_pmulhh)
|
16627 |
|
|
(CODE_FOR_loongson_biadd, CODE_FOR_loongson_psubw)
|
16628 |
|
|
(CODE_FOR_loongson_psubh, CODE_FOR_loongson_psubb)
|
16629 |
|
|
(CODE_FOR_loongson_psubsh, CODE_FOR_loongson_psubsb)
|
16630 |
|
|
(CODE_FOR_loongson_psubush, CODE_FOR_loongson_psubusb)
|
16631 |
|
|
(CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw)
|
16632 |
|
|
(CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh)
|
16633 |
|
|
(CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): New.
|
16634 |
|
|
(mips_builtins): Add Loongson builtins.
|
16635 |
|
|
(mips_loongson_2ef_bdesc): New.
|
16636 |
|
|
(mips_bdesc_arrays): Add mips_loongson_2ef_bdesc.
|
16637 |
|
|
(mips_builtin_vector_type): Handle unsigned versions of vector modes.
|
16638 |
|
|
(MIPS_ATYPE_UQI, MIPS_ATYPE_UDI, MIPS_ATYPE_V2SI, MIPS_ATYPE_UV2SI)
|
16639 |
|
|
(MIPS_ATYPE_V4HI, MIPS_ATYPE_UV4HI, MIPS_ATYPE_V8QI, MIPS_ATYPE_UV8QI):
|
16640 |
|
|
New.
|
16641 |
|
|
(mips_expand_vector_init): New.
|
16642 |
|
|
* config/mips/mips.h (HAVE_LOONGSON_VECTOR_MODES): New.
|
16643 |
|
|
(TARGET_CPU_CPP_BUILTINS): Define __mips_loongson_vector_rev
|
16644 |
|
|
if appropriate.
|
16645 |
|
|
* config/mips/mips.md: Add unspec numbers for Loongson
|
16646 |
|
|
builtins. Include loongson.md.
|
16647 |
|
|
(MOVE64): Include Loongson vector modes.
|
16648 |
|
|
(SPLITF): Include Loongson vector modes.
|
16649 |
|
|
(HALFMODE): Handle Loongson vector modes.
|
16650 |
|
|
* config/mips/loongson.md: New.
|
16651 |
|
|
* config/mips/loongson.h: New.
|
16652 |
|
|
* config.gcc: Add loongson.h header for mips*-*-* targets.
|
16653 |
|
|
* doc/extend.texi (MIPS Loongson Built-in Functions): New.
|
16654 |
|
|
|
16655 |
|
|
2008-06-14 Joseph Myers
|
16656 |
|
|
|
16657 |
|
|
* config.gcc (arc-*-elf*, avr-*-*, fr30-*-elf, frv-*-elf,
|
16658 |
|
|
h8300-*-elf*, h8300-*-*, i[34567]86-*-elf*, x86_64-*-elf*,
|
16659 |
|
|
i[34567]86-*-aout*, i[34567]86-*-coff*, ia64*-*-elf*,
|
16660 |
|
|
iq2000*-*-elf*, m32r-*-elf*, m32rle-*-elf*, m32r-*-linux*,
|
16661 |
|
|
m32rle-*-linux*, m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*,
|
16662 |
|
|
m68k-*-coff*, mcore-*-elf, mcore-*-pe*, mipsisa64sr71k-*-elf*,
|
16663 |
|
|
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*, mips-*-elf* |
|
16664 |
|
|
mipsel-*-elf*, mips64-*-elf* | mips64el-*-elf*, mips64vr-*-elf* |
|
16665 |
|
|
mips64vrel-*-elf*, mips64orion-*-elf* | mips64orionel-*-elf*,
|
16666 |
|
|
mipstx39-*-elf* | mipstx39el-*-elf*, mn10300-*-*, pdp11-*-,
|
16667 |
|
|
powerpc-*-elf*, powerpcle-*-elf*, sh-*-elf* | sh[12346l]*-*-elf* |
|
16668 |
|
|
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | sh-*-linux* |
|
16669 |
|
|
sh[2346lbe]*-*-linux* | sh-*-netbsdelf* | shl*-*-netbsdelf* |
|
16670 |
|
|
sh5-*-netbsd* | sh5l*-*-netbsd* | sh64-*-netbsd* |
|
16671 |
|
|
sh64l*-*-netbsd*, sh-*-*, sparc-*-elf*, sparc64-*-elf*,
|
16672 |
|
|
v850e1-*-*, v850e-*-*, v850-*-*, xstormy16-*-elf, m32c-*-elf*):
|
16673 |
|
|
Remove use_fixproto=yes.
|
16674 |
|
|
(ia64*-*-hpux*): Remove comment about using fixproto.
|
16675 |
|
|
(m68k-*-uclinuxoldabi*, m68k-*-uclinux*): Remove use_fixproto=no.
|
16676 |
|
|
|
16677 |
|
|
2008-06-14 Ralf Wildenhues
|
16678 |
|
|
|
16679 |
|
|
* configure.ac: Update gthr-default.h lazily, to avoid unneeded
|
16680 |
|
|
library rebuilds.
|
16681 |
|
|
* configure: Regenerate.
|
16682 |
|
|
|
16683 |
|
|
2008-06-13 Eric Botcazou
|
16684 |
|
|
|
16685 |
|
|
PR middle-end/36520
|
16686 |
|
|
* builtins.c (get_memory_rtx): Test for the presence of DECL_SIZE_UNIT
|
16687 |
|
|
before evaluating it.
|
16688 |
|
|
|
16689 |
|
|
2008-06-13 Jakub Jelinek
|
16690 |
|
|
|
16691 |
|
|
PR c/36507
|
16692 |
|
|
* c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for
|
16693 |
|
|
nested inline functions.
|
16694 |
|
|
(start_decl, start_function): Don't invert DECL_EXTERNAL
|
16695 |
|
|
for nested inline functions.
|
16696 |
|
|
|
16697 |
|
|
2008-06-13 Richard Sandiford
|
16698 |
|
|
|
16699 |
|
|
* config/mips/mips.md: Remove TARGET_DEBUG_D_MODE conditions from
|
16700 |
|
|
splits that must be made for correctness.
|
16701 |
|
|
|
16702 |
|
|
2008-06-13 Richard Sandiford
|
16703 |
|
|
|
16704 |
|
|
* config/mips/mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
|
16705 |
|
|
(AVAIL_NON_MIPS16): Likewise.
|
16706 |
|
|
(mips_builtin_description): Replace target_flags with a predicate.
|
16707 |
|
|
(paired_single, sb1_paired_single, mips3d, dsp, dspr2, dsp_32)
|
16708 |
|
|
(dspr2_32): New availability predicates.
|
16709 |
|
|
(MIPS_BUILTIN): New macro.
|
16710 |
|
|
(DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS)
|
16711 |
|
|
(CMP_4S_BUILTINS, MOVTF_BUILTINS, CMP_BUILTINS)
|
16712 |
|
|
(DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): Use it.
|
16713 |
|
|
Replace the TARGET_FLAGS parameters with AVAIL parameters.
|
16714 |
|
|
(mips_ps_bdesc, mips_sb1_bdesc, mips_dsp_bdesc)
|
16715 |
|
|
(mips_dsp_32only_bdesc): Merge into...
|
16716 |
|
|
(mips_builtins): ...this new array.
|
16717 |
|
|
(mips_bdesc_map, mips_bdesc_arrays): Delete.
|
16718 |
|
|
(mips_init_builtins): Update after above changes.
|
16719 |
|
|
(mips_expand_builtin_1): Merge into...
|
16720 |
|
|
(mips_expand_builtin): ...here and update after above changes.
|
16721 |
|
|
|
16722 |
|
|
2008-06-12 Paul Brook
|
16723 |
|
|
|
16724 |
|
|
* longlong.h (__arm__): Define count_leading_zeros.
|
16725 |
|
|
* config/arm/lib1funcs.asm (xxh, xxl, yyh, yyl): Define.
|
16726 |
|
|
(clzsi2, clzdi2): New functions.
|
16727 |
|
|
* config/arm/bpabi-v6m.S (xxh, xxl, yyh, yyl): Remove.
|
16728 |
|
|
* config/arm/bpabi.S (xxh, xxl, yyh, yyl): Remove.
|
16729 |
|
|
* config/arm/t-strongarm-elf (LIB1ASMFUNCS): Ditto.
|
16730 |
|
|
* config/arm/t-vxworks (LIB1ASMFUNCS): Ditto.
|
16731 |
|
|
* config/arm/t-pe (LIB1ASMFUNCS): Ditto.
|
16732 |
|
|
* config/arm/t-arm-elf (LIB1ASMFUNCS): Ditto.
|
16733 |
|
|
* config/arm/t-arm-coff (LIB1ASMFUNCS): Ditto.
|
16734 |
|
|
* config/arm/t-linux (LIB1ASMFUNCS): Ditto.
|
16735 |
|
|
* config/arm/t-symbian (LIB1ASMFUNCS): Ditto.
|
16736 |
|
|
* config/arm/t-wince-pe (LIB1ASMFUNCS): Ditto.
|
16737 |
|
|
|
16738 |
|
|
2008-06-12 Kazu Hirata
|
16739 |
|
|
|
16740 |
|
|
* config/m68k/m68k.c (m68k_tune_flags): New.
|
16741 |
|
|
(override_options): Compute m68k_tune_flags.
|
16742 |
|
|
(MULL_COST, MULW_COST): Update for various variants of CFV2.
|
16743 |
|
|
* config/m68k/m68k.h (TUNE_MAC, TUNE_EMAC): New.
|
16744 |
|
|
|
16745 |
|
|
2008-06-12 Jakub Jelinek
|
16746 |
|
|
|
16747 |
|
|
PR middle-end/36506
|
16748 |
|
|
* omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus warning.
|
16749 |
|
|
|
16750 |
|
|
2008-06-12 Eric Botcazou
|
16751 |
|
|
|
16752 |
|
|
* tree-inline.c (copy_body_r): Copy TREE_SIDE_EFFECTS along with
|
16753 |
|
|
TREE_THIS_VOLATILE on INDIRECT_REF nodes.
|
16754 |
|
|
|
16755 |
|
|
2008-06-12 Eric Botcazou
|
16756 |
|
|
|
16757 |
|
|
* expr.c (store_field): Do a block copy from BLKmode to BLKmode-like.
|
16758 |
|
|
(get_inner_reference): Use BLKmode for byte-aligned BLKmode bitfields.
|
16759 |
|
|
|
16760 |
|
|
2008-06-12 Jakub Jelinek
|
16761 |
|
|
|
16762 |
|
|
PR middle-end/36506
|
16763 |
|
|
* omp-low.c (expand_omp_sections): Handle #pragma omp sections with
|
16764 |
|
|
reductions.
|
16765 |
|
|
|
16766 |
|
|
2008-06-12 Richard Guenther
|
16767 |
|
|
|
16768 |
|
|
PR tree-optimization/36345
|
16769 |
|
|
* tree-flow.h (struct ptr_info_def): Align escape_mask,
|
16770 |
|
|
add memory_tag_needed flag.
|
16771 |
|
|
(may_alias_p): Declare.
|
16772 |
|
|
* tree-ssa-alias.c (may_alias_p): Export.
|
16773 |
|
|
(set_initial_properties): Use memory_tag_needed flag.
|
16774 |
|
|
(update_reference_counts): Likewise.
|
16775 |
|
|
(reset_alias_info): Reset memory_tag_needed flag.
|
16776 |
|
|
(create_name_tags): Check memory_tag_needed flag.
|
16777 |
|
|
(dump_points_to_info_for): Dump it.
|
16778 |
|
|
* tree-ssa-structalias.c (struct variable_info): Remove
|
16779 |
|
|
directly_dereferenced flag.
|
16780 |
|
|
(new_var_info): Do not initialize it.
|
16781 |
|
|
(process_constraint_1): Do not set it.
|
16782 |
|
|
(update_alias_info): Set is_dereferenced flag.
|
16783 |
|
|
(set_uids_in_ptset): Use may_alias_p.
|
16784 |
|
|
(set_used_smts): Check memory_tag_needed flag.
|
16785 |
|
|
(find_what_p_points_to): Likewise. Pass is_dereferenced flag.
|
16786 |
|
|
* tree-ssa-alias.c (verify_flow_sensitive_alias_info): Check
|
16787 |
|
|
memory_tag_needed flag.
|
16788 |
|
|
* tree-ssa-alias-warnings.c (dsa_named_for): Try to recover
|
16789 |
|
|
from broken design.
|
16790 |
|
|
|
16791 |
|
|
2008-06-12 Kai Tietz
|
16792 |
|
|
|
16793 |
|
|
* config/i386/i386.c (ix86_compute_frame_layout): Disable
|
16794 |
|
|
red zone for w64 abi.
|
16795 |
|
|
(ix86_expand_prologue): Likewise.
|
16796 |
|
|
(ix86_force_to_memory): Likewise.
|
16797 |
|
|
(ix86_free_from_memory): Likewise.
|
16798 |
|
|
|
16799 |
|
|
2008-06-11 Edmar Wienskoski
|
16800 |
|
|
|
16801 |
|
|
PR target/36425
|
16802 |
|
|
* config/rs6000/rs6000.c (rs6000_override_options): Set
|
16803 |
|
|
rs6000_isel conditionally to the absence of comand line override.
|
16804 |
|
|
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
|
16805 |
|
|
Remove duplicate rs6000_isel setting.
|
16806 |
|
|
* config/rs6000/eabispe.h: Ditto.
|
16807 |
|
|
|
16808 |
|
|
2008-06-11 Richard Guenther
|
16809 |
|
|
|
16810 |
|
|
* alias.c (get_alias_set): Use the element alias-set for arrays.
|
16811 |
|
|
(record_component_aliases): For arrays and vectors do nothing.
|
16812 |
|
|
* c-common.c (strict_aliasing_warning): Handle the cases
|
16813 |
|
|
of alias set zero explicitly.
|
16814 |
|
|
* Makefile.in (dfp.o-warn): Add -Wno-error.
|
16815 |
|
|
|
16816 |
|
|
2008-06-11 Joseph Myers
|
16817 |
|
|
|
16818 |
|
|
* config.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64
|
16819 |
|
|
tune_32 tune_64.
|
16820 |
|
|
(i[34567]86-*-* | x86_64-*-*): Add arch_32 arch_64 cpu_32 cpu_64
|
16821 |
|
|
tune_32 tune_64 to supported_defaults. Allow values not
|
16822 |
|
|
supporting 64-bit mode for arch_32, cpu_32 and tune_32 for
|
16823 |
|
|
x86_64. Do not override cpu_32 or cpu_64 values from target name.
|
16824 |
|
|
(i[34567]86-*-linux*, i[34567]86-*-solaris2.1[0-9]*): Only default
|
16825 |
|
|
with_cpu_64 to generic for 64-bit-supporting configurations, not
|
16826 |
|
|
with_cpu. Remove FIXMEs.
|
16827 |
|
|
* doc/install.texi (--with-cpu-32, --with-cpu-64, --with-arch-32,
|
16828 |
|
|
--with-arch-64, --with-tune-32, --with-tune-64): Document.
|
16829 |
|
|
* config/i386/i386.h (OPT_ARCH32, OPT_ARCH64): Define.
|
16830 |
|
|
(OPTION_DEFAULT_SPECS): Add tune_32, tune_64, cpu_32, cpu_64,
|
16831 |
|
|
arch_32 and arch_64.
|
16832 |
|
|
|
16833 |
|
|
2008-06-11 Eric Botcazou
|
16834 |
|
|
Olivier Hainque
|
16835 |
|
|
|
16836 |
|
|
* builtins.c (get_memory_rtx): Accept byte-addressable bitfields.
|
16837 |
|
|
Use DECL_SIZE_UNIT to retrieve the size of the field.
|
16838 |
|
|
|
16839 |
|
|
2008-06-11 Joseph Myers
|
16840 |
|
|
|
16841 |
|
|
* config/arm/arm.c (arm_init_neon_builtins): Move initialization
|
16842 |
|
|
with function calls after declarations. Lay out
|
16843 |
|
|
neon_float_type_node before further use.
|
16844 |
|
|
|
16845 |
|
|
2008-06-11 Richard Guenther
|
16846 |
|
|
|
16847 |
|
|
* tree-flow.h (may_point_to_global_var): Declare.
|
16848 |
|
|
* tree-ssa-alias.c (may_point_to_global_var): New function.
|
16849 |
|
|
* tree-ssa-sink.c (is_hidden_global_store): Use it.
|
16850 |
|
|
|
16851 |
|
|
2008-06-10 Kazu Hirata
|
16852 |
|
|
|
16853 |
|
|
* configure.ac: Teach that fido supports .debug_line.
|
16854 |
|
|
* configure: Regenerate.
|
16855 |
|
|
|
16856 |
|
|
2008-06-10 Tom Tromey
|
16857 |
|
|
|
16858 |
|
|
* c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file
|
16859 |
|
|
debug hook.
|
16860 |
|
|
|
16861 |
|
|
2008-06-10 Joseph Myers
|
16862 |
|
|
|
16863 |
|
|
* dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.
|
16864 |
|
|
(encode_decimal64, decode_decimal64, encode_decimal128,
|
16865 |
|
|
decode_decimal128): Reverse order of 32-bit parts of value if host
|
16866 |
|
|
and target endianness differ.
|
16867 |
|
|
|
16868 |
|
|
2008-06-10 Vinodha Ramasamy
|
16869 |
|
|
|
16870 |
|
|
* value_prob.c (tree_divmod_fixed_value_transform): Use gcov_type.
|
16871 |
|
|
Avoid division by 0.
|
16872 |
|
|
(tree_mod_pow2_value_transform): Likewise.
|
16873 |
|
|
(tree_ic_transform): Likewise.
|
16874 |
|
|
(tree_stringops_transform): Likewise.
|
16875 |
|
|
(tree_mod_subtract_transform): Likewise.
|
16876 |
|
|
* tree-inline-c (copy_bb): Corrected int type to gcov_type.
|
16877 |
|
|
(copy_edges_for_bb): Likewise.
|
16878 |
|
|
(initialize_cfun): Likewise.
|
16879 |
|
|
|
16880 |
|
|
2008-06-10 Uros Bizjak
|
16881 |
|
|
|
16882 |
|
|
* config/i386/i386.md (*btdi_rex64): Change operand 1 predicate to
|
16883 |
|
|
nonmemory_operand. Add "N" operand constraint.
|
16884 |
|
|
(*btsi): Ditto.
|
16885 |
|
|
(*jcc_btdi_mask_rex64): New instruction and split pattern.
|
16886 |
|
|
(*jcc_btsi_mask): Ditto.
|
16887 |
|
|
(*jcc_btsi_mask_1): Ditto.
|
16888 |
|
|
|
16889 |
|
|
2008-06-10 Joseph Myers
|
16890 |
|
|
|
16891 |
|
|
* config/rs6000/rs6000.c (build_opaque_vector_type): Set
|
16892 |
|
|
TYPE_CANONICAL for copied element type.
|
16893 |
|
|
|
16894 |
|
|
2008-06-10 Uros Bizjak
|
16895 |
|
|
|
16896 |
|
|
PR target/36473
|
16897 |
|
|
* config/i386/i386.c (ix86_tune_features) [TUNE_USE_BT]:
|
16898 |
|
|
Add m_CORE2 and m_GENERIC.
|
16899 |
|
|
* config/i386/predicates.md (bt_comparison_operator): New predicate.
|
16900 |
|
|
* config/i386/i386.md (*btdi_rex64): New instruction pattern.
|
16901 |
|
|
(*btsi): Ditto.
|
16902 |
|
|
(*jcc_btdi_rex64): New instruction and split pattern.
|
16903 |
|
|
(*jcc_btsi): Ditto.
|
16904 |
|
|
(*jcc_btsi_1): Ditto.
|
16905 |
|
|
(*btsq): Fix Intel asm dialect operand order.
|
16906 |
|
|
(*btrq): Ditto.
|
16907 |
|
|
(*btcq): Ditto.
|
16908 |
|
|
|
16909 |
|
|
2008-06-09 Andy Hutchinson
|
16910 |
|
|
|
16911 |
|
|
PR middle-end/36447
|
16912 |
|
|
* simplify-rtx.c (simplify_subreg): Add check for shift count
|
16913 |
|
|
greater than size.
|
16914 |
|
|
|
16915 |
|
|
2008-06-09 Richard Sandiford
|
16916 |
|
|
|
16917 |
|
|
* doc/md.texi: Synchronize with later constraints.md change.
|
16918 |
|
|
* longlong.h (umul_ppmm): Replace the MIPS asm implementation
|
16919 |
|
|
with a C implementation.
|
16920 |
|
|
* config/mips/mips.c (mips_legitimize_move): Remove MFHI and
|
16921 |
|
|
MFLO handling.
|
16922 |
|
|
(mips_subword): Assume TImode for CONST_INTs if TARGET_64BIT.
|
16923 |
|
|
(mips_split_doubleword_move): Use special MTHI and MFHI instructions
|
16924 |
|
|
when moving to and from MD_REGNUM.
|
16925 |
|
|
(mips_output_move): Don't handle moves from GPRs to HI_REGNUM.
|
16926 |
|
|
Handle moves from LO_REGNUM to GPRs using MFLO, MACC or DMACC.
|
16927 |
|
|
Handle byte and halfword moves.
|
16928 |
|
|
(mips_hard_regno_mode_ok_p): Handle MD_REGS and DSP_ACC_REGS
|
16929 |
|
|
separately.
|
16930 |
|
|
* config/mips/constraints.md (h): Turn into NO_REGS.
|
16931 |
|
|
(l, x): Update documentation.
|
16932 |
|
|
* config/mips/mips.md (UNSPEC_MFHILO): Delete.
|
16933 |
|
|
(UNSPEC_MFHI, UNSPEC_MTHI, UNSPEC_SET_HILO): New.
|
16934 |
|
|
(UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): Renumber.
|
16935 |
|
|
(HILO): New mode iterator.
|
16936 |
|
|
(MOVE128): Add TI.
|
16937 |
|
|
(any_div): New code iterator.
|
16938 |
|
|
(u): Extend code attribute to div and udiv.
|
16939 |
|
|
(*add3_mips16, *movdi_64bit_mips16, *movsi_mips16): Use
|
16940 |
|
|
d_operand in the splitters. Remove redundant CONST_INT checks.
|
16941 |
|
|
(mulsi3_mult3, mul3_internal, mul3_r4000, *mul_acc_si)
|
16942 |
|
|
(*macc, *msac, *msac_using_macc, *macc2, *msac2, *mul_sub_si)
|
16943 |
|
|
(*muls): Remove "=h" clobbers. Adjust peephole2s and define_splits
|
16944 |
|
|
accordingly, using normal moves instead of unspecs to move LO into
|
16945 |
|
|
a GPR. Use d_operand and lo_operand instead of *_REG_P checks.
|
16946 |
|
|
(mulsidi3): Handle expansion in C code.
|
16947 |
|
|
(mulsidi3_32bit_internal): Rename to...
|
16948 |
|
|
(mulsidi3_32bit): ...this.
|
16949 |
|
|
(mulsidi3_32bit_r4000): Fix insn separator.
|
16950 |
|
|
(*mulsidi3_64bit): Rename to...
|
16951 |
|
|
(mulsidi3_64bit): ...this. Combine DImode "=h" and "=l" clobbers
|
16952 |
|
|
into a TImode "=x" clobber. In the split, use an UNSPEC_SET_HILO
|
16953 |
|
|
to set LO and HI to the multiplication result. Use a normal move
|
16954 |
|
|
for MFLO and an unspec for MFHI.
|
16955 |
|
|
(*mulsidi3_64bit_parts): Replace with...
|
16956 |
|
|
(mulsidi3_64bit_hilo): ...this new instruction.
|
16957 |
|
|
(mulsi3_highpart): Extend to TARGET_FIX_R4000.
|
16958 |
|
|
(mulsi3_highpart_internal): Turn into a define_insn_and_split
|
16959 |
|
|
and extend it to TARGET_FIX_R4000. Store the destination in a GPR
|
16960 |
|
|
instead of HI. Split the instruction into a separate multiplication
|
16961 |
|
|
and MFHI if !TARGET_FIX_R4000.
|
16962 |
|
|
(muldi3_highpart): Likewise.
|
16963 |
|
|
(mulsi3_highpart_mulhi_internal): Remove the first alternative
|
16964 |
|
|
and the "=h" clobber.
|
16965 |
|
|
(*mulsi3_highpart_neg_mulhi_internal): Likewise.
|
16966 |
|
|
(mulditi3): New expander.
|
16967 |
|
|
(mulditi3_internal, mulditi3_r4000): New patterns.
|
16968 |
|
|
(madsi): Remove "=h" clobber.
|
16969 |
|
|
(divmod4, udivmod4): Turn into define_insn_and_splits.
|
16970 |
|
|
Force the modulus result to be a GPR and split the instruction into
|
16971 |
|
|
a division followed by an MFHI after reload.
|
16972 |
|
|
(divmod4_hilo_): New instruction.
|
16973 |
|
|
(*lea_high64): Use d_operand in the define_peephole2. Likewise
|
16974 |
|
|
the MIPS16 HIGH define_split.
|
16975 |
|
|
(*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16): Change type
|
16976 |
|
|
of acc<->gpr moves to "multi".
|
16977 |
|
|
(*movdi_64bit): Replace the single "x" alternative with
|
16978 |
|
|
alternatives for moving into and out of "a".
|
16979 |
|
|
(*movhi_internal, *movqi_internal): Likewise. Use mips_output_move.
|
16980 |
|
|
(*movsi_internal): Extend the "d<-A" alternative to "d<-a".
|
16981 |
|
|
(*movdi_64bit_mips16, *movsi_mips16): Add d<-a alternatives.
|
16982 |
|
|
Use d_operand in the splitters. Remove redundant CONST_INT checks.
|
16983 |
|
|
(*movhi_mips16, *movqi_mips16): Likewise. Use mips_output_move.
|
16984 |
|
|
(movti): New expander.
|
16985 |
|
|
(*movti, *movti_mips16): New insns.
|
16986 |
|
|
(mfhilo_, *mfhilo_, *mfhilo__macc): Delete.
|
16987 |
|
|
(mfhi_): New pattern.
|
16988 |
|
|
(mthi_): Likewise.
|
16989 |
|
|
* config/mips/predicates.md (fpr_operand): Delete.
|
16990 |
|
|
(d_operand): New predicate.
|
16991 |
|
|
|
16992 |
|
|
2008-06-09 Michael Meissner
|
16993 |
|
|
|
16994 |
|
|
* config.gcc (i[34567]86-*-*): Put test in quotes to prevent
|
16995 |
|
|
failure on some Bourne shells.
|
16996 |
|
|
(x86_64-*-*): Ditto.
|
16997 |
|
|
|
16998 |
|
|
2008-06-09 Kai Tietz
|
16999 |
|
|
|
17000 |
|
|
* config/i386/cygming.h (TARGET_SUBTARGET64_DEFAULT): New.
|
17001 |
|
|
|
17002 |
|
|
2008-06-09 Eric Botcazou
|
17003 |
|
|
|
17004 |
|
|
* doc/install.texi (*-*-solaris2*): Remove obsolete contents.
|
17005 |
|
|
(sparc-sun-solaris2*): Likewise.
|
17006 |
|
|
|
17007 |
|
|
2008-06-09 Arnaud Charlet
|
17008 |
|
|
|
17009 |
|
|
* doc/install.texi: Update requirements to build the Ada compiler.
|
17010 |
|
|
|
17011 |
|
|
2008-06-08 Steven Bosscher
|
17012 |
|
|
|
17013 |
|
|
* df-scan.c (struct df_scan_problem_data): Remove the
|
17014 |
|
|
mw_link_pool alloc pool.
|
17015 |
|
|
(df_scan_free_internal): Don't free it.
|
17016 |
|
|
(df_scan_alloc): Don't allocate it.
|
17017 |
|
|
* df.h (struct df_link): Update comment.
|
17018 |
|
|
|
17019 |
|
|
2008-06-08 Nathan Sidwell
|
17020 |
|
|
|
17021 |
|
|
* except.h: Correct checks for when SJLJ exceptions must be used.
|
17022 |
|
|
|
17023 |
|
|
2008-06-08 Manuel Lopez-Ibanez
|
17024 |
|
|
|
17025 |
|
|
* doc/invoke.texi (Wenum-compare): Mention that it is enabled by
|
17026 |
|
|
default.
|
17027 |
|
|
|
17028 |
|
|
2008-06-08 Joseph Myers
|
17029 |
|
|
|
17030 |
|
|
PR tree-optimization/36218
|
17031 |
|
|
* configure.ac: Use LDFLAGS="${LDFLAGS_FOR_BUILD}" when running
|
17032 |
|
|
configure for the build system.
|
17033 |
|
|
(BUILD_LDFLAGS): Define.
|
17034 |
|
|
* configure: Regenerate.
|
17035 |
|
|
* Makefile.in (BUILD_LDFLAGS): Define to @BUILD_LDFLAGS@.
|
17036 |
|
|
|
17037 |
|
|
2008-07-08 Anatoly Sokolov
|
17038 |
|
|
|
17039 |
|
|
PR target/36424
|
17040 |
|
|
* config/avr/avr.h (HARD_REGNO_RENAME_OK): Define.
|
17041 |
|
|
* config/avr/avr.c (avr_hard_regno_rename_ok): New function.
|
17042 |
|
|
* config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype.
|
17043 |
|
|
|
17044 |
|
|
2008-06-07 Danny Smith
|
17045 |
|
|
|
17046 |
|
|
* config/i386/cygming.h (MAYBE_UWIN_CPP_BUILTINS): Remove.
|
17047 |
|
|
|
17048 |
|
|
2008-06-07 Joseph Myers
|
17049 |
|
|
|
17050 |
|
|
* config.gcc (Obsolete configurations): Remove list of
|
17051 |
|
|
configurations.
|
17052 |
|
|
(Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
|
17053 |
|
|
*-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*. Remove other
|
17054 |
|
|
targets matched by those patterns.
|
17055 |
|
|
(strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
|
17056 |
|
|
m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
|
17057 |
|
|
alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
|
17058 |
|
|
arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
|
17059 |
|
|
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
|
17060 |
|
|
i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
|
17061 |
|
|
i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
|
17062 |
|
|
i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
|
17063 |
|
|
i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
|
17064 |
|
|
mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
|
17065 |
|
|
powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
|
17066 |
|
|
powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
|
17067 |
|
|
strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
|
17068 |
|
|
vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
|
17069 |
|
|
i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
|
17070 |
|
|
Make code for Solaris 7 and greater unconditional for Solaris.
|
17071 |
|
|
(ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
|
17072 |
|
|
Remove --with-* handling.
|
17073 |
|
|
* config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
|
17074 |
|
|
(LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
|
17075 |
|
|
ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
|
17076 |
|
|
LINK_OS_WINDISS_SPEC): Remove.
|
17077 |
|
|
* config/rs6000/sysv4.opt (mwindiss): Remove.
|
17078 |
|
|
* configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
|
17079 |
|
|
* configure: Regenerate.
|
17080 |
|
|
* doc/cpp.texi: Don't mention BeOS.
|
17081 |
|
|
* doc/extend.texi (interrupt): Don't mention MS1.
|
17082 |
|
|
* doc/install.texi (i386-@var{any}-sysv, m68k-bull-sysv,
|
17083 |
|
|
m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
|
17084 |
|
|
alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
|
17085 |
|
|
i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
|
17086 |
|
|
powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
|
17087 |
|
|
Remove.
|
17088 |
|
|
* doc/invoke.texi (MT Options): Remove.
|
17089 |
|
|
(-mwindiss): Remove.
|
17090 |
|
|
(CRIS Options): Remove cris-axis-aout references.
|
17091 |
|
|
(HPPA Options): Don't mention hppa1.1-*-pro.
|
17092 |
|
|
* doc/md.texi (MorphoTech family): Remove.
|
17093 |
|
|
* libgcc2.c: Don't handle UWIN.
|
17094 |
|
|
* config/alpha/t-unicosmk: Remove.
|
17095 |
|
|
* config/alpha/unicosmk.h: Remove.
|
17096 |
|
|
* config/arm/kaos-arm.h: Remove.
|
17097 |
|
|
* config/arm/kaos-strongarm.h: Remove.
|
17098 |
|
|
* config/arm/strongarm-coff.h: Remove.
|
17099 |
|
|
* config/arm/strongarm-elf.h: Remove.
|
17100 |
|
|
* config/arm/strongarm-pe.h: Remove.
|
17101 |
|
|
* config/arm/t-strongarm-pe: Remove.
|
17102 |
|
|
* config/arm/t-xscale-coff: Remove.
|
17103 |
|
|
* config/arm/t-xscale-elf: Remove.
|
17104 |
|
|
* config/arm/xscale-coff.h: Remove.
|
17105 |
|
|
* config/arm/xscale-elf.h: Remove.
|
17106 |
|
|
* config/chorus.h: Remove.
|
17107 |
|
|
* config/cris/aout.h: Remove.
|
17108 |
|
|
* config/cris/aout.opt: Remove.
|
17109 |
|
|
* config/cris/t-aout: Remove.
|
17110 |
|
|
* config/i386/beos-elf.h: Remove.
|
17111 |
|
|
* config/i386/kaos-i386.h: Remove.
|
17112 |
|
|
* config/i386/ptx4-i.h: Remove.
|
17113 |
|
|
* config/i386/sco5.h: Remove.
|
17114 |
|
|
* config/i386/sco5.opt: Remove.
|
17115 |
|
|
* config/i386/sysv4-cpp.h: Remove.
|
17116 |
|
|
* config/i386/sysv5.h: Remove.
|
17117 |
|
|
* config/i386/t-beos: Remove.
|
17118 |
|
|
* config/i386/t-sco5: Remove.
|
17119 |
|
|
* config/i386/t-uwin: Remove.
|
17120 |
|
|
* config/i386/uwin.asm: Remove.
|
17121 |
|
|
* config/i386/uwin.h: Remove.
|
17122 |
|
|
* config/kaos.h: Remove.
|
17123 |
|
|
* config/mips/windiss.h: Remove.
|
17124 |
|
|
* config/mt: Remove directory.
|
17125 |
|
|
* config/pa/pa-osf.h: Remove.
|
17126 |
|
|
* config/pa/pa-pro-end.h: Remove.
|
17127 |
|
|
* config/pa/t-pro: Remove.
|
17128 |
|
|
* config/ptx4.h: Remove.
|
17129 |
|
|
* config/rs6000/beos.h: Remove.
|
17130 |
|
|
* config/rs6000/kaos-ppc.h: Remove.
|
17131 |
|
|
* config/rs6000/t-beos: Remove.
|
17132 |
|
|
* config/rs6000/windiss.h: Remove.
|
17133 |
|
|
* config/sh/kaos-sh.h: Remove.
|
17134 |
|
|
* config/sol2-6.h: Remove.
|
17135 |
|
|
* config/sparc/sol26-sld.h: Remove.
|
17136 |
|
|
* config/sparc/sysv4-only.h: Remove.
|
17137 |
|
|
* config/vax/bsd.h: Remove.
|
17138 |
|
|
* config/vax/t-memfuncs: Remove.
|
17139 |
|
|
* config/vax/ultrix.h: Remove.
|
17140 |
|
|
* config/vax/vaxv.h: Remove.
|
17141 |
|
|
* config/windiss.h: Remove.
|
17142 |
|
|
|
17143 |
|
|
2008-06-06 Uros Bizjak
|
17144 |
|
|
|
17145 |
|
|
PR rtl-optimization/36438
|
17146 |
|
|
* cse.c (fold_rtx) [ASHIFT, LSHIFTRT, ASHIFTRT]: Break out early
|
17147 |
|
|
for vector shifts with constant scalar shift operands.
|
17148 |
|
|
|
17149 |
|
|
2008-06-06 Sandip Matte
|
17150 |
|
|
|
17151 |
|
|
* doc/invoke.texi: Document -march=xlr.
|
17152 |
|
|
* config/mips/xlr.md: New file.
|
17153 |
|
|
* config/mips/mips.md: Include it.
|
17154 |
|
|
(cpu): Add "xlr".
|
17155 |
|
|
* config/mips/mips.h (PROCESSOR_XLR): New processor_type.
|
17156 |
|
|
* config/mips/mips.c (mips_cpu_info_table): Add an XLR entry.
|
17157 |
|
|
(mips_rtx_cost_data): Likewise.
|
17158 |
|
|
|
17159 |
|
|
2008-06-06 Nathan Froyd
|
17160 |
|
|
|
17161 |
|
|
* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Remove
|
17162 |
|
|
PRE_INC and PRE_DEC cases.
|
17163 |
|
|
|
17164 |
|
|
2008-06-06 Jakub Jelinek
|
17165 |
|
|
|
17166 |
|
|
PR rtl-optimization/36419
|
17167 |
|
|
* except.c (expand_resx_expr): Call do_pending_stack_adjust () before
|
17168 |
|
|
the emitting jump insn.
|
17169 |
|
|
|
17170 |
|
|
PR target/36362
|
17171 |
|
|
* gimplify.c (gimplify_expr) : If *expr_p type
|
17172 |
|
|
is not bool, boolify the whole *expr_p and convert to the desired type.
|
17173 |
|
|
|
17174 |
|
|
2008-06-06 Jakub Jelinek
|
17175 |
|
|
|
17176 |
|
|
* c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805.
|
17177 |
|
|
* langhooks.h (struct lang_hooks_for_decls): Add omp_finish_clause.
|
17178 |
|
|
Add omp_private_outer_ref hook, add another argument to
|
17179 |
|
|
omp_clause_default_ctor hook.
|
17180 |
|
|
* langhooks-def.h (LANG_HOOKS_OMP_FINISH_CLAUSE): Define.
|
17181 |
|
|
(LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define.
|
17182 |
|
|
(LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): Change to
|
17183 |
|
|
hook_tree_tree_tree_tree_null.
|
17184 |
|
|
(LANG_HOOKS_DECLS): Add LANG_HOOKS_OMP_FINISH_CLAUSE and
|
17185 |
|
|
LANG_HOOKS_OMP_PRIVATE_OUTER_REF.
|
17186 |
|
|
* hooks.c (hook_tree_tree_tree_tree_null): New function.
|
17187 |
|
|
* hooks.h (hook_tree_tree_tree_tree_null): New prototype.
|
17188 |
|
|
* tree.def (OMP_TASK): New tree code.
|
17189 |
|
|
* tree.h (OMP_TASK_COPYFN, OMP_TASK_ARG_SIZE, OMP_TASK_ARG_ALIGN,
|
17190 |
|
|
OMP_CLAUSE_PRIVATE_OUTER_REF, OMP_CLAUSE_LASTPRIVATE_STMT,
|
17191 |
|
|
OMP_CLAUSE_COLLAPSE_ITERVAR, OMP_CLAUSE_COLLAPSE_COUNT,
|
17192 |
|
|
OMP_TASKREG_CHECK, OMP_TASKREG_BODY, OMP_TASKREG_CLAUSES,
|
17193 |
|
|
OMP_TASKREG_FN, OMP_TASKREG_DATA_ARG, OMP_TASK_BODY,
|
17194 |
|
|
OMP_TASK_CLAUSES, OMP_TASK_FN, OMP_TASK_DATA_ARG,
|
17195 |
|
|
OMP_CLAUSE_COLLAPSE_EXPR): Define.
|
17196 |
|
|
(enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.
|
17197 |
|
|
(OMP_DIRECTIVE_P): Add OMP_TASK.
|
17198 |
|
|
(OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): New clause codes.
|
17199 |
|
|
(OMP_CLAUSE_SCHEDULE_AUTO): New schedule kind.
|
17200 |
|
|
* tree.c (omp_clause_code_name): Add OMP_CLAUSE_COLLAPSE
|
17201 |
|
|
and OMP_CLAUSE_UNTIED entries.
|
17202 |
|
|
(omp_clause_num_ops): Likewise. Increase OMP_CLAUSE_LASTPRIVATE
|
17203 |
|
|
num_ops to 2.
|
17204 |
|
|
(walk_tree_1): Handle OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
|
17205 |
|
|
Walk OMP_CLAUSE_LASTPRIVATE_STMT.
|
17206 |
|
|
* tree-pretty-print.c (dump_omp_clause): Handle
|
17207 |
|
|
OMP_CLAUSE_SCHEDULE_AUTO, OMP_CLAUSE_UNTIED, OMP_CLAUSE_COLLAPSE,
|
17208 |
|
|
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.
|
17209 |
|
|
(dump_generic_node): Handle OMP_TASK and collapsed OMP_FOR loops.
|
17210 |
|
|
* c-omp.c (c_finish_omp_for): Allow pointer iterators. Remove
|
17211 |
|
|
warning about unsigned iterators. Change decl/init/cond/incr
|
17212 |
|
|
arguments to TREE_VECs, check arguments for all collapsed loops.
|
17213 |
|
|
(c_finish_omp_taskwait): New function.
|
17214 |
|
|
(c_split_parallel_clauses): Put OMP_CLAUSE_COLLAPSE clause to
|
17215 |
|
|
ws_clauses.
|
17216 |
|
|
* c-parser.c (c_parser_omp_for_loop): Parse collapsed loops. Call
|
17217 |
|
|
default_function_array_conversion on init. Add par_clauses argument.
|
17218 |
|
|
If decl is present in parallel's lastprivate clause, change it to
|
17219 |
|
|
shared and add lastprivate clause for decl to OMP_FOR_CLAUSES.
|
17220 |
|
|
Add clauses argument, on success set OMP_FOR_CLAUSES to it. Look up
|
17221 |
|
|
collapse count in clauses.
|
17222 |
|
|
(c_parser_omp_for, c_parser_omp_parallel): Adjust
|
17223 |
|
|
c_parser_omp_for_loop callers.
|
17224 |
|
|
(OMP_FOR_CLAUSE_MASK): Add 1 << PRAGMA_OMP_CLAUSE_COLLAPSE.
|
17225 |
|
|
(c_parser_pragma): Handle PRAGMA_OMP_TASKWAIT.
|
17226 |
|
|
(c_parser_omp_clause_name): Handle collapse and untied clauses.
|
17227 |
|
|
(c_parser_omp_clause_collapse, c_parser_omp_clause_untied): New
|
17228 |
|
|
functions.
|
17229 |
|
|
(c_parser_omp_clause_schedule): Handle schedule(auto).
|
17230 |
|
|
Include correct location in the error message.
|
17231 |
|
|
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_COLLAPSE
|
17232 |
|
|
and PRAGMA_OMP_CLAUSE_UNTIED.
|
17233 |
|
|
(OMP_TASK_CLAUSE_MASK): Define.
|
17234 |
|
|
(c_parser_omp_task, c_parser_omp_taskwait): New functions.
|
17235 |
|
|
(c_parser_omp_construct): Handle PRAGMA_OMP_TASK.
|
17236 |
|
|
* tree-nested.c (convert_nonlocal_omp_clauses,
|
17237 |
|
|
convert_local_omp_clauses): Handle OMP_CLAUSE_LASTPRIVATE_STMT,
|
17238 |
|
|
OMP_CLAUSE_REDUCTION_INIT, OMP_CLAUSE_REDUCTION_MERGE,
|
17239 |
|
|
OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
|
17240 |
|
|
Don't handle TREE_STATIC or DECL_EXTERNAL VAR_DECLs in
|
17241 |
|
|
OMP_CLAUSE_DECL.
|
17242 |
|
|
(conver_nonlocal_reference, convert_local_reference,
|
17243 |
|
|
convert_call_expr): Handle OMP_TASK the same as OMP_PARALLEL. Use
|
17244 |
|
|
OMP_TASKREG_* macros rather than OMP_PARALLEL_*.
|
17245 |
|
|
(walk_omp_for): Adjust for OMP_FOR_{INIT,COND,INCR} changes.
|
17246 |
|
|
* tree-gimple.c (is_gimple_stmt): Handle OMP_TASK.
|
17247 |
|
|
* c-tree.h (c_begin_omp_task, c_finish_omp_task): New prototypes.
|
17248 |
|
|
* c-pragma.h (PRAGMA_OMP_TASK, PRAGMA_OMP_TASKWAIT): New.
|
17249 |
|
|
(PRAGMA_OMP_CLAUSE_COLLAPSE, PRAGMA_OMP_CLAUSE_UNTIED): New.
|
17250 |
|
|
* c-typeck.c (c_begin_omp_task, c_finish_omp_task): New functions.
|
17251 |
|
|
(c_finish_omp_clauses): Handle OMP_CLAUSE_COLLAPSE and
|
17252 |
|
|
OMP_CLAUSE_UNTIED.
|
17253 |
|
|
* c-pragma.c (init_pragma): Init omp task and omp taskwait pragmas.
|
17254 |
|
|
* c-common.h (c_finish_omp_taskwait): New prototype.
|
17255 |
|
|
* gimple-low.c (lower_stmt): Handle OMP_TASK.
|
17256 |
|
|
* tree-parloops.c (create_parallel_loop): Create 1 entry
|
17257 |
|
|
vectors for OMP_FOR_{INIT,COND,INCR}.
|
17258 |
|
|
* tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
|
17259 |
|
|
(make_edges): Handle OMP_TASK.
|
17260 |
|
|
* tree-ssa-operands.c (get_expr_operands): Handle collapsed OMP_FOR
|
17261 |
|
|
loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.
|
17262 |
|
|
* tree-inline.c (estimate_num_insns_1): Handle OMP_TASK.
|
17263 |
|
|
* builtin-types.def (BT_PTR_ULONGLONG, BT_PTR_FN_VOID_PTR_PTR,
|
17264 |
|
|
BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
|
17265 |
|
|
BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
|
17266 |
|
|
BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
|
17267 |
|
|
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): New.
|
17268 |
|
|
* omp-builtins.def (BUILT_IN_GOMP_TASK, BUILT_IN_GOMP_TASKWAIT,
|
17269 |
|
|
BUILT_IN_GOMP_LOOP_ULL_STATIC_START,
|
17270 |
|
|
BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START,
|
17271 |
|
|
BUILT_IN_GOMP_LOOP_ULL_GUIDED_START,
|
17272 |
|
|
BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START,
|
17273 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START,
|
17274 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START,
|
17275 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START,
|
17276 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START,
|
17277 |
|
|
BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT,
|
17278 |
|
|
BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT,
|
17279 |
|
|
BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT,
|
17280 |
|
|
BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT,
|
17281 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT,
|
17282 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT,
|
17283 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT,
|
17284 |
|
|
BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): New builtins.
|
17285 |
|
|
* gimplify.c (gimplify_omp_for): Allow pointer type for decl,
|
17286 |
|
|
handle POINTER_PLUS_EXPR. If loop counter has been replaced and
|
17287 |
|
|
original iterator is present in lastprivate clause or if
|
17288 |
|
|
collapse > 1, set OMP_CLAUSE_LASTPRIVATE_STMT. Handle collapsed
|
17289 |
|
|
OMP_FOR loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.
|
17290 |
|
|
(gimplify_expr): Handle OMP_SECTIONS_SWITCH and OMP_TASK.
|
17291 |
|
|
(enum gimplify_omp_var_data): Add GOVD_PRIVATE_OUTER_REF.
|
17292 |
|
|
(omp_notice_variable): Set GOVD_PRIVATE_OUTER_REF if needed,
|
17293 |
|
|
if it is set, lookup var in outer contexts too. Handle
|
17294 |
|
|
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE. Handle vars that are supposed
|
17295 |
|
|
to be implicitly determined firstprivate for task regions.
|
17296 |
|
|
(gimplify_scan_omp_clauses): Set GOVD_PRIVATE_OUTER_REF if needed,
|
17297 |
|
|
if it is set, lookup var in outer contexts too. Set
|
17298 |
|
|
OMP_CLAUSE_PRIVATE_OUTER_REF if GOVD_PRIVATE_OUTER_REF is set.
|
17299 |
|
|
Handle OMP_CLAUSE_LASTPRIVATE_STMT, OMP_CLAUSE_COLLAPSE and
|
17300 |
|
|
OMP_CLAUSE_UNTIED. Take region_type as last argument
|
17301 |
|
|
instead of in_parallel and in_combined_parallel.
|
17302 |
|
|
(gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
|
17303 |
|
|
Adjust callers.
|
17304 |
|
|
(gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_PRIVATE_OUTER_REF if
|
17305 |
|
|
GOVD_PRIVATE_OUTER_REF is set. Call omp_finish_clause langhook.
|
17306 |
|
|
(new_omp_context): Set default_kind to
|
17307 |
|
|
OMP_CLAUSE_DEFAULT_UNSPECIFIED for OMP_TASK regions.
|
17308 |
|
|
(omp_region_type): New enum.
|
17309 |
|
|
(struct gimplify_omp_ctx): Remove is_parallel and is_combined_parallel
|
17310 |
|
|
fields, add region_type.
|
17311 |
|
|
(new_omp_context): Take region_type as argument instead of is_parallel
|
17312 |
|
|
and is_combined_parallel.
|
17313 |
|
|
(gimple_add_tmp_var, omp_firstprivatize_variable, omp_notice_variable,
|
17314 |
|
|
omp_is_private, omp_check_private): Adjust ctx->is_parallel and
|
17315 |
|
|
ctx->is_combined_parallel checks.
|
17316 |
|
|
(gimplify_omp_task): New function.
|
17317 |
|
|
(gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_COLLAPSE and
|
17318 |
|
|
OMP_CLAUSE_UNTIED.
|
17319 |
|
|
* omp-low.c (extract_omp_for_data): Use schedule(static)
|
17320 |
|
|
for schedule(auto). Handle pointer and unsigned iterators.
|
17321 |
|
|
Compute fd->iter_type. Handle POINTER_PLUS_EXPR increments.
|
17322 |
|
|
Add loops argument. Extract data for collapsed OMP_FOR loops.
|
17323 |
|
|
(expand_parallel_call): Assert sched_kind isn't auto,
|
17324 |
|
|
map runtime schedule to index 3.
|
17325 |
|
|
(struct omp_for_data_loop): New type.
|
17326 |
|
|
(struct omp_for_data): Remove v, n1, n2, step, cond_code fields.
|
17327 |
|
|
Add loop, loops, collapse and iter_type fields.
|
17328 |
|
|
(workshare_safe_to_combine_p): Disallow combined for if
|
17329 |
|
|
iter_type is unsigned long long. Don't combine collapse > 1 loops
|
17330 |
|
|
unless all bounds and steps are constant. Adjust extract_omp_for_data
|
17331 |
|
|
caller.
|
17332 |
|
|
(expand_omp_for_generic): Handle pointer, unsigned and long long
|
17333 |
|
|
iterators. Handle collapsed OMP_FOR loops. Adjust
|
17334 |
|
|
for struct omp_for_data changes. If libgomp function doesn't return
|
17335 |
|
|
boolean_type_node, add comparison of the return value with 0.
|
17336 |
|
|
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk): Handle
|
17337 |
|
|
pointer, unsigned and long long iterators. Adjust for struct
|
17338 |
|
|
omp_for_data changes.
|
17339 |
|
|
(expand_omp_for): Assert sched_kind isn't auto, map runtime schedule
|
17340 |
|
|
to index 3. Use GOMP_loop_ull*{start,next} if iter_type is
|
17341 |
|
|
unsigned long long. Allocate loops array, pass it to
|
17342 |
|
|
extract_omp_for_data. For collapse > 1 loops use always
|
17343 |
|
|
expand_omp_for_generic.
|
17344 |
|
|
(omp_context): Add sfield_map and srecord_type fields.
|
17345 |
|
|
(is_task_ctx, lookup_sfield): New functions.
|
17346 |
|
|
(use_pointer_for_field): Use is_task_ctx helper. Change first
|
17347 |
|
|
argument's type from const_tree to tree. Clarify comment.
|
17348 |
|
|
In OMP_TASK disallow copy-in/out sharing.
|
17349 |
|
|
(build_sender_ref): Call lookup_sfield instead of lookup_field.
|
17350 |
|
|
(install_var_field): Add mask argument. Populate both record_type
|
17351 |
|
|
and srecord_type if needed.
|
17352 |
|
|
(delete_omp_context): Destroy sfield_map, clear DECL_ABSTRACT_ORIGIN
|
17353 |
|
|
in srecord_type.
|
17354 |
|
|
(fixup_child_record_type): Also remap FIELD_DECL's DECL_SIZE{,_UNIT}
|
17355 |
|
|
and DECL_FIELD_OFFSET.
|
17356 |
|
|
(scan_sharing_clauses): Adjust install_var_field callers. For
|
17357 |
|
|
firstprivate clauses on explicit tasks allocate the var by value in
|
17358 |
|
|
record_type unconditionally, rather than by reference.
|
17359 |
|
|
Handle OMP_CLAUSE_PRIVATE_OUTER_REF. Scan OMP_CLAUSE_LASTPRIVATE_STMT.
|
17360 |
|
|
Use is_taskreg_ctx instead of is_parallel_ctx.
|
17361 |
|
|
Handle OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
|
17362 |
|
|
(create_omp_child_function_name): Add task_copy argument, use
|
17363 |
|
|
*_omp_cpyfn* names if it is true.
|
17364 |
|
|
(create_omp_child_function): Add task_copy argument, if true create
|
17365 |
|
|
*_omp_cpyfn* helper function.
|
17366 |
|
|
(scan_omp_parallel): Adjust create_omp_child_function callers.
|
17367 |
|
|
Rename parallel_nesting_level to taskreg_nesting_level.
|
17368 |
|
|
(scan_omp_task): New function.
|
17369 |
|
|
(lower_rec_input_clauses): Don't run constructors for firstprivate
|
17370 |
|
|
explicit task vars which are initialized by *_omp_cpyfn*.
|
17371 |
|
|
Pass outer var ref to omp_clause_default_ctor hook if
|
17372 |
|
|
OMP_CLAUSE_PRIVATE_OUTER_REF or OMP_CLAUSE_LASTPRIVATE.
|
17373 |
|
|
Replace OMP_CLAUSE_REDUCTION_PLACEHOLDER decls in
|
17374 |
|
|
OMP_CLAUSE_REDUCTION_INIT.
|
17375 |
|
|
(lower_send_clauses): Clear DECL_ABSTRACT_ORIGIN if in task to
|
17376 |
|
|
avoid duplicate setting of fields. Handle
|
17377 |
|
|
OMP_CLAUSE_PRIVATE_OUTER_REF.
|
17378 |
|
|
(lower_send_shared_vars): Use srecord_type if non-NULL. Don't
|
17379 |
|
|
copy-out if TREE_READONLY, only copy-in.
|
17380 |
|
|
(expand_task_copyfn): New function.
|
17381 |
|
|
(expand_task_call): New function.
|
17382 |
|
|
(struct omp_taskcopy_context): New type.
|
17383 |
|
|
(task_copyfn_copy_decl, task_copyfn_remap_type, create_task_copyfn):
|
17384 |
|
|
New functions.
|
17385 |
|
|
(lower_omp_parallel): Rename to...
|
17386 |
|
|
(lower_omp_taskreg): ... this. Use OMP_TASKREG_* macros where needed.
|
17387 |
|
|
Call create_task_copyfn if srecord_type is needed. Adjust
|
17388 |
|
|
sender_decl type.
|
17389 |
|
|
(task_shared_vars): New variable.
|
17390 |
|
|
(check_omp_nesting_restrictions): Warn if work-sharing,
|
17391 |
|
|
barrier, master or ordered region is closely nested inside OMP_TASK.
|
17392 |
|
|
Add warnings for barrier if closely nested inside of work-sharing,
|
17393 |
|
|
ordered, or master region.
|
17394 |
|
|
(scan_omp_1): Call check_omp_nesting_restrictions even for
|
17395 |
|
|
GOMP_barrier calls. Rename parallel_nesting_level to
|
17396 |
|
|
taskreg_nesting_level. Handle OMP_TASK.
|
17397 |
|
|
(lower_lastprivate_clauses): Even if some lastprivate is found on a
|
17398 |
|
|
work-sharing construct, continue looking for them on parent parallel
|
17399 |
|
|
construct.
|
17400 |
|
|
(lower_omp_for_lastprivate): Add lastprivate clauses
|
17401 |
|
|
to the beginning of dlist rather than end. Adjust for struct
|
17402 |
|
|
omp_for_data changes.
|
17403 |
|
|
(lower_omp_for): Add rec input clauses before OMP_FOR_PRE_BODY,
|
17404 |
|
|
not after it. Handle collapsed OMP_FOR loops, adjust for
|
17405 |
|
|
OMP_FOR_{INIT,COND,INCR} changes, adjust extract_omp_for_data caller.
|
17406 |
|
|
(get_ws_args_for): Adjust extract_omp_for_data caller.
|
17407 |
|
|
(scan_omp_for): Handle collapsed OMP_FOR
|
17408 |
|
|
loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.
|
17409 |
|
|
(lower_omp_single_simple): If libgomp function doesn't return
|
17410 |
|
|
boolean_type_node, add comparison of the return value with 0.
|
17411 |
|
|
(diagnose_sb_1, diagnose_sb_2): Handle collapsed OMP_FOR
|
17412 |
|
|
loops, adjust for OMP_FOR_{INIT,COND,INCR} changes. Handle OMP_TASK.
|
17413 |
|
|
(parallel_nesting_level): Rename to...
|
17414 |
|
|
(taskreg_nesting_level): ... this.
|
17415 |
|
|
(is_taskreg_ctx): New function.
|
17416 |
|
|
(build_outer_var_ref, omp_copy_decl): Use is_taskreg_ctx instead
|
17417 |
|
|
of is_parallel_ctx.
|
17418 |
|
|
(execute_lower_omp): Rename parallel_nesting_level to
|
17419 |
|
|
taskreg_nesting_level.
|
17420 |
|
|
(expand_omp_parallel): Rename to...
|
17421 |
|
|
(expand_omp_taskreg): ... this. Use OMP_TASKREG_* macros where needed.
|
17422 |
|
|
Call omp_task_call for OMP_TASK regions.
|
17423 |
|
|
(expand_omp): Adjust caller, handle OMP_TASK.
|
17424 |
|
|
(lower_omp_1): Adjust lower_omp_taskreg caller, handle OMP_TASK.
|
17425 |
|
|
|
17426 |
|
|
* bitmap.c (bitmap_default_obstack_depth): New variable.
|
17427 |
|
|
(bitmap_obstack_initialize, bitmap_obstack_release): Do nothing
|
17428 |
|
|
if argument is NULL and bitmap_default_obstack is already initialized.
|
17429 |
|
|
* ipa-struct-reorg.c (do_reorg_1): Call bitmap_obstack_release
|
17430 |
|
|
at the end.
|
17431 |
|
|
* matrix-reorg.c (matrix_reorg): Likewise.
|
17432 |
|
|
|
17433 |
|
|
2008-06-06 Uros Bizjak
|
17434 |
|
|
|
17435 |
|
|
* config/i386/i386.md (*indirect_jump): Macroize using P
|
17436 |
|
|
mode iterator. Remove !TARGET_64BIT from insn constraints.
|
17437 |
|
|
(*tablejump_1): Ditto.
|
17438 |
|
|
(*indirect_jump_rex64): Remove insn pattern.
|
17439 |
|
|
(*tablejump_1_rex64): Ditto.
|
17440 |
|
|
(eh_return_): Macroize using P mode iterator from eh_return_di
|
17441 |
|
|
and eh_return_si insn patterns.
|
17442 |
|
|
|
17443 |
|
|
2008-06-06 Richard Guenther
|
17444 |
|
|
|
17445 |
|
|
* tree-ssa-structalias.c (merge_smts_into): Remove.
|
17446 |
|
|
(find_what_p_points_to): Do not bother to compute the
|
17447 |
|
|
points-to set for pt_anything pointers.
|
17448 |
|
|
* tree-ssa-operands.c (get_addr_dereference_operands): No NMT
|
17449 |
|
|
for pt_anything pointers is ok.
|
17450 |
|
|
|
17451 |
|
|
2008-06-06 Jan Hubicka
|
17452 |
|
|
|
17453 |
|
|
* passes.c (execute_ipa_pass_list): Do not regenerate summaries.
|
17454 |
|
|
|
17455 |
|
|
2008-06-06 Ralf Wildenhues
|
17456 |
|
|
|
17457 |
|
|
* cgraph.c: Fix typos in comments.
|
17458 |
|
|
(cgraph_availability_names): Fix string typo.
|
17459 |
|
|
* fold-const.c: Fix typos in comments.
|
17460 |
|
|
(fold_binary): Fix typo in warning.
|
17461 |
|
|
* genautomata.c: Fix typos in comments.
|
17462 |
|
|
(check_presence_pattern_sets): Fix typo in local variable.
|
17463 |
|
|
(output_description): Fix typo in output.
|
17464 |
|
|
* ggc-zone.c (ggc_pch_finish): Fix typo in error message.
|
17465 |
|
|
* hwint.h: Likewise.
|
17466 |
|
|
* matrix-reorg.c (check_allocation_function): Likewise.
|
17467 |
|
|
* omega.c (smooth_weird_equations): Likewise.
|
17468 |
|
|
* auto-inc-dec.c: Fix typos in comments.
|
17469 |
|
|
* bb-reorder.c: Likewise.
|
17470 |
|
|
* builtins.c: Likewise.
|
17471 |
|
|
* c-common.c: Likewise.
|
17472 |
|
|
* c-cppbuiltin.c: Likewise.
|
17473 |
|
|
* c-parser.c: Likewise.
|
17474 |
|
|
* c-pretty-print.c: Likewise.
|
17475 |
|
|
* cfgcleanup.c: Likewise.
|
17476 |
|
|
* cfgexpand.c: Likewise.
|
17477 |
|
|
* cfghooks.c: Likewise.
|
17478 |
|
|
* cfglayout.c: Likewise.
|
17479 |
|
|
* cfgloopmanip.c: Likewise.
|
17480 |
|
|
* cgraphunit.c: Likewise.
|
17481 |
|
|
* coverage.c: Likewise.
|
17482 |
|
|
* dbxout.c: Likewise.
|
17483 |
|
|
* df-byte-scan.c: Likewise.
|
17484 |
|
|
* df-core.c: Likewise.
|
17485 |
|
|
* df-problems.c: Likewise.
|
17486 |
|
|
* df-scan.c: Likewise.
|
17487 |
|
|
* dfp.c: Likewise.
|
17488 |
|
|
* dominance.c: Likewise.
|
17489 |
|
|
* domwalk.c: Likewise.
|
17490 |
|
|
* dse.c: Likewise.
|
17491 |
|
|
* dwarf2out.c: Likewise.
|
17492 |
|
|
* emit-rtl.c: Likewise.
|
17493 |
|
|
* et-forest.c: Likewise.
|
17494 |
|
|
* function.c: Likewise.
|
17495 |
|
|
* function.h: Likewise.
|
17496 |
|
|
* gcc.c: Likewise.
|
17497 |
|
|
* gcov-io.c: Likewise.
|
17498 |
|
|
* gcov.c: Likewise.
|
17499 |
|
|
* gcse.c: Likewise.
|
17500 |
|
|
* genattrtab.c: Likewise.
|
17501 |
|
|
* ggc-page.c: Likewise.
|
17502 |
|
|
* gimplify.c: Likewise.
|
17503 |
|
|
* gthr-lynx.h: Likewise.
|
17504 |
|
|
* haifa-sched.c: Likewise.
|
17505 |
|
|
* ipa-cp.c: Likewise.
|
17506 |
|
|
* ipa-inline.c: Likewise.
|
17507 |
|
|
* ipa-prop.h: Likewise.
|
17508 |
|
|
* ipa-pure-const.c: Likewise.
|
17509 |
|
|
* ipa-struct-reorg.c: Likewise.
|
17510 |
|
|
* ipa-struct-reorg.h: Likewise.
|
17511 |
|
|
* ipa-type-escape.c: Likewise.
|
17512 |
|
|
* ipa.c: Likewise.
|
17513 |
|
|
* loop-doloop.c: Likewise.
|
17514 |
|
|
* mips-tfile.c: Likewise.
|
17515 |
|
|
* mkmap-flat.awk: Likewise.
|
17516 |
|
|
* mkmap-symver.awk: Likewise.
|
17517 |
|
|
* modulo-sched.c: Likewise.
|
17518 |
|
|
* omp-low.c: Likewise.
|
17519 |
|
|
* optabs.c: Likewise.
|
17520 |
|
|
* optabs.h: Likewise.
|
17521 |
|
|
* opts.c: Likewise.
|
17522 |
|
|
* passes.c: Likewise.
|
17523 |
|
|
* postreload-gcse.c: Likewise.
|
17524 |
|
|
* postreload.c: Likewise.
|
17525 |
|
|
* predict.c: Likewise.
|
17526 |
|
|
* pretty-print.h: Likewise.
|
17527 |
|
|
* profile.c: Likewise.
|
17528 |
|
|
* protoize.c: Likewise.
|
17529 |
|
|
* ra-conflict.c: Likewise.
|
17530 |
|
|
* real.c: Likewise.
|
17531 |
|
|
* recog.c: Likewise.
|
17532 |
|
|
* regclass.c: Likewise.
|
17533 |
|
|
* regs.h: Likewise.
|
17534 |
|
|
* reload.c: Likewise.
|
17535 |
|
|
* rtl-error.c: Likewise.
|
17536 |
|
|
* rtlanal.c: Likewise.
|
17537 |
|
|
* scan.h: Likewise.
|
17538 |
|
|
* sched-rgn.c: Likewise.
|
17539 |
|
|
* see.c: Likewise.
|
17540 |
|
|
* stmt.c: Likewise.
|
17541 |
|
|
* target.h: Likewise.
|
17542 |
|
|
* tree-dfa.c: Likewise.
|
17543 |
|
|
* tree-eh.c: Likewise.
|
17544 |
|
|
* tree-flow-inline.h: Likewise.
|
17545 |
|
|
* tree-inline.c: Likewise.
|
17546 |
|
|
* tree-into-ssa.c: Likewise.
|
17547 |
|
|
* tree-loop-distribution.c: Likewise.
|
17548 |
|
|
* tree-nested.c: Likewise.
|
17549 |
|
|
* tree-parloops.c: Likewise.
|
17550 |
|
|
* tree-pass.h: Likewise.
|
17551 |
|
|
* tree-pretty-print.c: Likewise.
|
17552 |
|
|
* tree-profile.c: Likewise.
|
17553 |
|
|
* tree-scalar-evolution.c: Likewise.
|
17554 |
|
|
* tree-sra.c: Likewise.
|
17555 |
|
|
* tree-ssa-alias-warnings.c: Likewise.
|
17556 |
|
|
* tree-ssa-ccp.c: Likewise.
|
17557 |
|
|
* tree-ssa-coalesce.c: Likewise.
|
17558 |
|
|
* tree-ssa-dom.c: Likewise.
|
17559 |
|
|
* tree-ssa-dse.c: Likewise.
|
17560 |
|
|
* tree-ssa-forwprop.c: Likewise.
|
17561 |
|
|
* tree-ssa-live.c: Likewise.
|
17562 |
|
|
* tree-ssa-live.h: Likewise.
|
17563 |
|
|
* tree-ssa-loop-im.c: Likewise.
|
17564 |
|
|
* tree-ssa-loop-ivopts.c: Likewise.
|
17565 |
|
|
* tree-ssa-loop-niter.c: Likewise.
|
17566 |
|
|
* tree-ssa-loop-prefetch.c: Likewise.
|
17567 |
|
|
* tree-ssa-phiopt.c: Likewise.
|
17568 |
|
|
* tree-ssa-phiprop.c: Likewise.
|
17569 |
|
|
* tree-ssa-sccvn.c: Likewise.
|
17570 |
|
|
* tree-ssa-ter.c: Likewise.
|
17571 |
|
|
* tree-ssa-threadupdate.c: Likewise.
|
17572 |
|
|
* tree-ssa.c: Likewise.
|
17573 |
|
|
* tree-vect-analyze.c: Likewise.
|
17574 |
|
|
* tree-vect-transform.c: Likewise.
|
17575 |
|
|
* tree-vectorizer.c: Likewise.
|
17576 |
|
|
* tree-vn.c: Likewise.
|
17577 |
|
|
* tree-vrp.c: Likewise.
|
17578 |
|
|
* tree.c: Likewise.
|
17579 |
|
|
* tree.def: Likewise.
|
17580 |
|
|
* tree.h: Likewise.
|
17581 |
|
|
* unwind-dw2-fde.c: Likewise.
|
17582 |
|
|
* unwind.inc: Likewise.
|
17583 |
|
|
* value-prof.c: Likewise.
|
17584 |
|
|
* vmsdbgout.c: Likewise.
|
17585 |
|
|
|
17586 |
|
|
2008-06-05 David Edelsohn
|
17587 |
|
|
|
17588 |
|
|
* config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Do not
|
17589 |
|
|
always place FP constants in the TOC for TARGET_POWERPC64.
|
17590 |
|
|
* config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Same.
|
17591 |
|
|
|
17592 |
|
|
2008-06-05 Joseph Myers
|
17593 |
|
|
|
17594 |
|
|
* config.gcc (powerpc-*-linux*spe*): Use t-dfprules.
|
17595 |
|
|
* config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): Do not
|
17596 |
|
|
enable for TARGET_E500_DOUBLE.
|
17597 |
|
|
(*movdd_softfloat32): Also enable for !TARGET_FPRS.
|
17598 |
|
|
* config/rs6000/rs6000.c (invalid_e500_subreg): Treat decimal
|
17599 |
|
|
floating-point modes like integer modes for E500 double.
|
17600 |
|
|
(rs6000_legitimate_offset_address_p): Likewise.
|
17601 |
|
|
(rs6000_legitimize_address): Likewise. Do not allow REG+REG
|
17602 |
|
|
addressing for DDmode for E500 double.
|
17603 |
|
|
(rs6000_hard_regno_nregs): Do not treat decimal floating-point
|
17604 |
|
|
modes as using 64-bits of registers for E500 double.
|
17605 |
|
|
(spe_build_register_parallel): Do not handle DDmode or TDmode.
|
17606 |
|
|
(rs6000_spe_function_arg): Do not handle DDmode or TDmode
|
17607 |
|
|
specially for E500 double.
|
17608 |
|
|
(function_arg): Do not call rs6000_spe_function_arg for DDmode or
|
17609 |
|
|
TDmode for E500 double.
|
17610 |
|
|
(rs6000_gimplify_va_arg): Only handle SDmode in registers
|
17611 |
|
|
specially if TARGET_HARD_FLOAT && TARGET_FPRS.
|
17612 |
|
|
(rs6000_split_multireg_move): Do not handle TDmode specially for
|
17613 |
|
|
E500 double.
|
17614 |
|
|
(spe_func_has_64bit_regs_p): Do not treat DDmode or TDmode as
|
17615 |
|
|
using 64-bit registers for E500 double.
|
17616 |
|
|
(emit_frame_save): Do not handle DDmode specially for E500 double.
|
17617 |
|
|
(gen_frame_mem_offset): Likewise.
|
17618 |
|
|
(rs6000_function_value): Do not call spe_build_register_parallel
|
17619 |
|
|
for DDmode or TDmode.
|
17620 |
|
|
(rs6000_libcall_value): Likewise.
|
17621 |
|
|
* config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
|
17622 |
|
|
DATA_ALIGNMENT, CLASS_MAX_NREGS): Do not handle DDmode specially
|
17623 |
|
|
for E500 double.
|
17624 |
|
|
|
17625 |
|
|
2008-06-04 H.J. Lu
|
17626 |
|
|
|
17627 |
|
|
* config/i386/i386.c (setup_incoming_varargs_64): Fix a typo
|
17628 |
|
|
in comments.
|
17629 |
|
|
|
17630 |
|
|
2008-06-04 Junjie Gu
|
17631 |
|
|
|
17632 |
|
|
* config/xtensa/lib2funcs.S (__xtensa_nonlocal_goto): Use unsigned
|
17633 |
|
|
comparison for frame pointers.
|
17634 |
|
|
|
17635 |
|
|
2008-06-04 Andy Hutchinson
|
17636 |
|
|
|
17637 |
|
|
PR target/27386
|
17638 |
|
|
* config/avr/avr.h (PUSH_ROUNDING): Remove.
|
17639 |
|
|
|
17640 |
|
|
2008-06-04 Andy Hutchinson
|
17641 |
|
|
|
17642 |
|
|
PR target/30243
|
17643 |
|
|
* builtins.c (expand_builtin_signbit): Don't take lowpart when
|
17644 |
|
|
register is already smaller or equal to required mode.
|
17645 |
|
|
|
17646 |
|
|
2008-06-04 Xinliang David Li
|
17647 |
|
|
|
17648 |
|
|
* tree-call-cdce.c: New file.
|
17649 |
|
|
(cond_dead_built_in_calls): New static variable.
|
17650 |
|
|
(input_domain): New struct.
|
17651 |
|
|
(check_pow): New function.
|
17652 |
|
|
(check_builtin_call): Ditto.
|
17653 |
|
|
(check_target_format): Ditto.
|
17654 |
|
|
(is_call_dce_candidate): Ditto.
|
17655 |
|
|
(gen_one_condition): Ditto.
|
17656 |
|
|
(gen_conditions_for_domain): Ditto.
|
17657 |
|
|
(get_domain): Ditto.
|
17658 |
|
|
(gen_conditions_for_pow_cst_base): Ditto.
|
17659 |
|
|
(gen_conditions_for_pow_int_base): Ditto.
|
17660 |
|
|
(gen_conditions_for_pow): Ditto.
|
17661 |
|
|
(get_no_error_domain): Ditto.
|
17662 |
|
|
(gen_shrink_wrap_conditions): Ditto.
|
17663 |
|
|
(shrink_wrap_one_built_in_call): Ditto.
|
17664 |
|
|
(shink_wrap_conditional_dead_built_in_calls): Ditto.
|
17665 |
|
|
(tree_call_cdce): Ditto.
|
17666 |
|
|
(gate_call_cdce): Ditto.
|
17667 |
|
|
(pass_call_cdce): New gimple pass.
|
17668 |
|
|
* passes.c (init_optimization_passes): New pass.
|
17669 |
|
|
* tree-pass.h: New pass declaration.
|
17670 |
|
|
* opts.c (decode_options): New flag setting.
|
17671 |
|
|
* common.opt: Add -ftree-builtin-call-dce flag.
|
17672 |
|
|
* Makefile.in: Add new source file.
|
17673 |
|
|
* tempvar.def: New tv_id.
|
17674 |
|
|
* doc/invoke.texi (-ftree-builtin-call-dce): New flag.
|
17675 |
|
|
|
17676 |
|
|
2008-06-04 Richard Guenther
|
17677 |
|
|
|
17678 |
|
|
* tree-flow-inline.h (is_global_var): Do not check TREE_STATIC on MTAGs.
|
17679 |
|
|
(is_call_clobbered): Always check var_ann->call_clobbered.
|
17680 |
|
|
(mark_call_clobbered): Always set var_ann->call_clobbered.
|
17681 |
|
|
(clear_call_clobbered): Always clear var_ann->call_clobbered.
|
17682 |
|
|
* tree-ssa-alias.c (mark_non_addressable): Use clear_call_clobbered.
|
17683 |
|
|
(reset_alias_info): Clear call clobbering info on MTAGs and
|
17684 |
|
|
globals as well.
|
17685 |
|
|
(set_pt_anything): Set pt_global_mem.
|
17686 |
|
|
(create_tag_raw): Adjust comment.
|
17687 |
|
|
(may_be_aliased): Do not check TREE_PUBLIC on MTAGs.
|
17688 |
|
|
|
17689 |
|
|
2008-06-04 Joseph Myers
|
17690 |
|
|
Maxim Kuvyrkov
|
17691 |
|
|
|
17692 |
|
|
* config/m68k/m68k.opt (mxgot): New option.
|
17693 |
|
|
* config/m68k/m68k.c (legitimize_pic_address): Handle -mxgot.
|
17694 |
|
|
(m68k_output_addr_const_extra): New.
|
17695 |
|
|
* config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): New.
|
17696 |
|
|
* config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Declare.
|
17697 |
|
|
* config/m68k/m68k.md (UNSPEC_GOTOFF): Define.
|
17698 |
|
|
* doc/invoke.texi (M680x0 Options): Document -mxgot.
|
17699 |
|
|
|
17700 |
|
|
2008-06-04 Richard Guenther
|
17701 |
|
|
|
17702 |
|
|
* tree-ssa-structalias.c (handle_ptr_arith): Correctly handle
|
17703 |
|
|
negative or non-representable offsets.
|
17704 |
|
|
|
17705 |
|
|
2008-06-03 H.J. Lu
|
17706 |
|
|
|
17707 |
|
|
* config/i386/i386.c (ix86_gen_leave): New.
|
17708 |
|
|
(ix86_gen_pop1): Likewise.
|
17709 |
|
|
(ix86_gen_add3): Likewise.
|
17710 |
|
|
(ix86_gen_sub3): Likewise.
|
17711 |
|
|
(ix86_gen_sub3_carry): Likewise.
|
17712 |
|
|
(ix86_gen_one_cmpl2): Likewise.
|
17713 |
|
|
(ix86_gen_monitor): Likewise.
|
17714 |
|
|
(override_options): Initialize ix86_gen_leave, ix86_gen_pop1,
|
17715 |
|
|
ix86_gen_add3, ix86_gen_sub3, ix86_gen_sub3_carry,
|
17716 |
|
|
ix86_gen_one_cmpl2 and ix86_gen_monitor.
|
17717 |
|
|
(ix86_file_end): Use mov%z0 instead of mov{q}/mov{l}.
|
17718 |
|
|
(output_set_got): Use mov%z0, pop%z0 and add%z0 instead of
|
17719 |
|
|
mov{q}/mov{l}, pop{q}/pop{l} and add{q}/add{l}.
|
17720 |
|
|
(ix86_expand_epilogue): Updated.
|
17721 |
|
|
(print_operand): Handle integer register operand for 'z'.
|
17722 |
|
|
(ix86_expand_strlensi_unroll_1): Likewise.
|
17723 |
|
|
(ix86_expand_strlen): Likewise.
|
17724 |
|
|
(ix86_expand_builtin): Likewise.
|
17725 |
|
|
(x86_output_mi_thunk): Use mov%z1 and add%z1 instead of
|
17726 |
|
|
mov{q}/mov{l} and add{q}/add{l}.
|
17727 |
|
|
|
17728 |
|
|
2008-06-03 Kai Tietz
|
17729 |
|
|
|
17730 |
|
|
* config/i386/i386.md (P): New mode iterator.
|
17731 |
|
|
(SFmode push_operand splitter): Macroize DImode and SImode pushes
|
17732 |
|
|
using P mode iterator.
|
17733 |
|
|
(DFmode push_operand splitter): Ditto.
|
17734 |
|
|
(XFmode push_operand splitter): Ditto.
|
17735 |
|
|
(DFmode float_extend SFmode push_operand splitter): Ditto.
|
17736 |
|
|
(XFmode float_extend SFmode push_operand splitter): Do not generate
|
17737 |
|
|
SImode pushes for 64bit target. Macroize Dimode and SImode
|
17738 |
|
|
pushes using P mode iterator.
|
17739 |
|
|
(XFmode float_extend DFmode push_operand splitter): Ditto.
|
17740 |
|
|
|
17741 |
|
|
2008-06-03 Kai Tietz
|
17742 |
|
|
|
17743 |
|
|
* config/i386/i386-protos.h (ix86_reg_parm_stack_space): New.
|
17744 |
|
|
* config/i386/i386.h (ix86_reg_parm_stack_space): Removed prototype.
|
17745 |
|
|
* config/i386/i386.c (ix86_reg_parm_stack_space): Changed
|
17746 |
|
|
return type to int.
|
17747 |
|
|
(ix86_call_abi_override): Remove check for call_used_regs.
|
17748 |
|
|
|
17749 |
|
|
2008-06-03 Richard Guenther
|
17750 |
|
|
|
17751 |
|
|
* tree-ssa-structalias.c (find_func_aliases): Add constraints
|
17752 |
|
|
for the lhs of calls if the return type contains pointers.
|
17753 |
|
|
|
17754 |
|
|
2008-06-03 Kai Tietz
|
17755 |
|
|
|
17756 |
|
|
* doc/tm.texi (OVERRIDE_ABI_FORMAT): New.
|
17757 |
|
|
* doc/extend.texi (ms_abi,sysv_abi): New attribute description.
|
17758 |
|
|
* function.c (allocate_struct_function): Use of OVERRIDE_ABI_FORMAT.
|
17759 |
|
|
* config/i386/cygming.h (TARGET_64BIT_MS_ABI): Make use
|
17760 |
|
|
of cfun and DEFAULT_ABI to deceide abi mode.
|
17761 |
|
|
(DEFAULT_ABI): New.
|
17762 |
|
|
(REG_PARM_STACK_SPACE): Removed.
|
17763 |
|
|
(OUTGOING_REG_PARM_STACK_SPACE): Removed.
|
17764 |
|
|
(STACK_BOUNDARY): Use default target to deceide stack boundary.
|
17765 |
|
|
* config/i386/i386-protos.h (ix86_cfun_abi): New.
|
17766 |
|
|
(ix86_function_abi): Likewise.
|
17767 |
|
|
(ix86_function_type_abi): Likewise.
|
17768 |
|
|
(ix86_call_abi_override): Likewise.
|
17769 |
|
|
* confid/i386/i386.md (SSE_REGPARM_MAX): Replaced by abi
|
17770 |
|
|
specific define X86_64_SSE_REGPARM_MAX/X64_SSE_REGPARM_MAX.
|
17771 |
|
|
* config/i386/i386.c (override_options): Replace TARGET_64BIT_MS_ABI.
|
17772 |
|
|
(X86_64_VARARGS_SIZE): Replace REGPARM_MAX and SSE_REGPARM_MAX by abi
|
17773 |
|
|
specific defines.
|
17774 |
|
|
(ix86_handle_cconv_attribute): Replace TARGET_64BIT_MS_ABI.
|
17775 |
|
|
(ix86_function_regparm): Handle user calling abi.
|
17776 |
|
|
(ix86_function_arg_regno_p): Replace TARGET_64BIT_MS_ABI
|
17777 |
|
|
by DEFAULT_ABI versus SYSV_ABI check.
|
17778 |
|
|
(ix86_reg_parm_stack_space): New.
|
17779 |
|
|
(ix86_function_type_abi): New.
|
17780 |
|
|
(ix86_call_abi_override): New.
|
17781 |
|
|
(ix86_function_abi): New.
|
17782 |
|
|
(ix86_cfun_abi): New.
|
17783 |
|
|
(init_cumulative_args): Call abi specific initialization.
|
17784 |
|
|
(function_arg_advance): Remove TARGET_64BIT_MS_ABI.
|
17785 |
|
|
(function_arg_64): Extend SSE_REGPARM_MAX check.
|
17786 |
|
|
(function_arg (): Remove TARGET_64BIT_MS_ABI.
|
17787 |
|
|
(ix86_pass_by_reference): Likewise.
|
17788 |
|
|
(ix86_function_value_regno_p): Likewise.
|
17789 |
|
|
(function_value_64): Replace REGPARM_MAX, and SSE_REGPARM_MAX.
|
17790 |
|
|
(ix86_function_value_1): Replace TARGET_64BIT_MS_ABI.
|
17791 |
|
|
(return_in_memory_ms_64): Replace TARGET_64BIT_MS_ABI.
|
17792 |
|
|
(ix86_build_builtin_va_list): Replace TARGET_64BIT_MS_ABI.
|
17793 |
|
|
(setup_incoming_varargs_64): Adjust regparm for call abi.
|
17794 |
|
|
(ix86_setup_incoming_varargs): Replace TARGET_64BIT_MS_ABI.
|
17795 |
|
|
(ix86_va_start): Likewise.
|
17796 |
|
|
(ix86_gimplify_va_arg): Likewise.
|
17797 |
|
|
(ix86_expand_prologue): Likewise.
|
17798 |
|
|
(output_pic_addr_const): Likewise.
|
17799 |
|
|
(ix86_init_machine_status): Initialize call_abi by DEFAULT_ABI.
|
17800 |
|
|
(x86_this_parameter): Replace TARGET_64BIT_MS_ABI.
|
17801 |
|
|
(x86_output_mi_thunk): Likewise.
|
17802 |
|
|
(x86_function_profiler): Likewise.
|
17803 |
|
|
* config/i386/i386.h (TARGET_64BIT_MS_ABI): Use ix64_cfun_abi.
|
17804 |
|
|
(SYSV_ABI, MS_ABI): New constants.
|
17805 |
|
|
(DEFAULT_ABI): New.
|
17806 |
|
|
(init_regs): Add prototype of function in regclass.c file.
|
17807 |
|
|
(OVERRIDE_ABI_FORMAT): New.
|
17808 |
|
|
(CONDITIONAL_REGISTER_USAGE): Remove TARGET_64BIT_MS_ABI part.
|
17809 |
|
|
(REG_PARM_STACK_SPACE): Use ix86_reg_parm_stack_space.
|
17810 |
|
|
(OUTGOING_REG_PARM_STACK_SPACE): New.
|
17811 |
|
|
(ix86_reg_parm_stack_space): New prototype.
|
17812 |
|
|
(CUMULATIVE_ARGS): Add call_abi member.
|
17813 |
|
|
(X86_64_REGPARM_MAX): New.
|
17814 |
|
|
(X86_64_SSE_REGPARM_MAX): New.
|
17815 |
|
|
(X64_REGPARM_MAX): New.
|
17816 |
|
|
(X64_SSE_REGPARM_MAX): New.
|
17817 |
|
|
(X86_32_REGPARM_MAX): New.
|
17818 |
|
|
(X86_32_SSE_REGPARM_MAX): New.
|
17819 |
|
|
(REGPARM_MAX): Updated.
|
17820 |
|
|
(SSE_REGPARM_MAX): Updated.
|
17821 |
|
|
(machine_function): Add call_abi member.
|
17822 |
|
|
* config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Replace
|
17823 |
|
|
TARGET_64BIT_MS_ABI by DEFAULT_ABI compare to MS_ABI.
|
17824 |
|
|
|
17825 |
|
|
2008-06-02 Andy Hutchinson
|
17826 |
|
|
|
17827 |
|
|
PR target/34879
|
17828 |
|
|
* config/avr/avr.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Redefine.
|
17829 |
|
|
(avr_builtin_setjmp_frame_value): New function.
|
17830 |
|
|
* config/avr/avr.md (nonlocal_goto_receiver): Define.
|
17831 |
|
|
(nonlocal_goto): Define.
|
17832 |
|
|
|
17833 |
|
|
2008-06-02 Richard Sandiford
|
17834 |
|
|
|
17835 |
|
|
* config/mips/mips.c (mips_emit_loadgp): Return early if
|
17836 |
|
|
there is nothing do to, otherwise emit a blockage if
|
17837 |
|
|
!TARGET_EXPLICIT_RELOCS || crtl->profile.
|
17838 |
|
|
* config/mips/mips.md (loadgp_blockage): Use SI rather than DI.
|
17839 |
|
|
|
17840 |
|
|
2008-06-02 Ralf Wildenhues
|
17841 |
|
|
|
17842 |
|
|
* configure.ac: Drop unneeded backslash ending up in config.in.
|
17843 |
|
|
* acinclude.m4: Likewise.
|
17844 |
|
|
* config.in: Regenerate.
|
17845 |
|
|
|
17846 |
|
|
2008-05-26 Jan Hubicka
|
17847 |
|
|
|
17848 |
|
|
* predict.c (maybe_hot_frequency_p): Break out of...
|
17849 |
|
|
(maybe_hot_bb_p): ... here.
|
17850 |
|
|
(maybe_hot_edge_p): New.
|
17851 |
|
|
* tree-ssa-coalesce.c (coalesce_cost_edge): Compute cost based on edge.
|
17852 |
|
|
* basic-block.h (maybe_hot_edge_p): Declare.
|
17853 |
|
|
|
17854 |
|
|
2008-05-31 Uros Bizjak
|
17855 |
|
|
|
17856 |
|
|
* config/i386/i386.md (*cmpfp_): Enable for optimize_size.
|
17857 |
|
|
(*cmpfp__cc): Ditto.
|
17858 |
|
|
(*fp_jcc_8_387): Ditto.
|
17859 |
|
|
(*fop__2_i387): Ditto.
|
17860 |
|
|
(*fop__3_i387): Ditto.
|
17861 |
|
|
(*fop_xf_2_i387): Ditto.
|
17862 |
|
|
(*fop_xf_3_i387): Ditto.
|
17863 |
|
|
|
17864 |
|
|
2008-06-02 Tomas Bily
|
17865 |
|
|
|
17866 |
|
|
* tree-ssa-ifcombine.c (get_name_for_bit_test): Use CONVERT_EXPR_P.
|
17867 |
|
|
|
17868 |
|
|
2008-06-01 Richard Sandiford
|
17869 |
|
|
|
17870 |
|
|
* config/mips/mips.c (mips_valid_offset_p): New function.
|
17871 |
|
|
(mips_valid_lo_sum_p): Likewise.
|
17872 |
|
|
(mips_classify_address): Use them.
|
17873 |
|
|
(mips_force_address): New function.
|
17874 |
|
|
(mips_legitimize_address): Use it.
|
17875 |
|
|
* config/mips/mips.md (MOVE128): New mode iterator.
|
17876 |
|
|
(movtf): Require TARGET_64BIT. Remove empty strings.
|
17877 |
|
|
(*movtf_internal): Rename to...
|
17878 |
|
|
(*movtf): ...this and require !TARGET_MIPS16. Use "m" instead
|
17879 |
|
|
of "R" and use {,fp}{load,store} attributes instead of "multi".
|
17880 |
|
|
Use a separate define_split.
|
17881 |
|
|
(*movtf_mips16): New pattern.
|
17882 |
|
|
|
17883 |
|
|
2008-06-01 Richard Sandiford
|
17884 |
|
|
|
17885 |
|
|
* config/mips/mips-protos.h (mips_expand_before_return): Declare.
|
17886 |
|
|
* config/mips/mips.c (mips_expand_before_return): New function.
|
17887 |
|
|
(mips_expand_epilogue): Call it.
|
17888 |
|
|
* config/mips/mips.md (return): Turn into a define_expand.
|
17889 |
|
|
(*return): New insn.
|
17890 |
|
|
|
17891 |
|
|
2008-06-01 Richard Sandiford
|
17892 |
|
|
|
17893 |
|
|
* rtl.h (emit_clobber, gen_clobber, emit_use, gen_use): Declare.
|
17894 |
|
|
* emit-rtl.c (emit_clobber, gen_clobber, emit_use, gen_use): New
|
17895 |
|
|
functions. Do not emit uses and clobbers of CONCATs; individually
|
17896 |
|
|
use and clobber their operands.
|
17897 |
|
|
* builtins.c (expand_builtin_setjmp_receiver): Use emit_clobber,
|
17898 |
|
|
gen_clobber, emit_use and gen_use.
|
17899 |
|
|
(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
|
17900 |
|
|
(expand_builtin_return): Likewise.
|
17901 |
|
|
* cfgbuild.c (count_basic_blocks): Likewise.
|
17902 |
|
|
* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
|
17903 |
|
|
* explow.c (emit_stack_restore): Likewise.
|
17904 |
|
|
* expmed.c (extract_bit_field_1): Likewise.
|
17905 |
|
|
* expr.c (convert_move, emit_move_complex_parts): Likewise.
|
17906 |
|
|
(emit_move_multi_word, store_constructor): Likewise.
|
17907 |
|
|
* function.c (do_clobber_return_reg, do_use_return_reg): Likewise.
|
17908 |
|
|
(thread_prologue_and_epilogue_insns): Likewise.
|
17909 |
|
|
* lower-subreg.c (resolve_simple_move): Likewise.
|
17910 |
|
|
* optabs.c (widen_operand, expand_binop): Likewise.
|
17911 |
|
|
(expand_doubleword_bswap, emit_no_conflict_block): Likewise.
|
17912 |
|
|
* reload.c (find_reloads): Likewise.
|
17913 |
|
|
* reload1.c (eliminate_regs_in_insn): Likewise.
|
17914 |
|
|
* stmt.c (expand_nl_goto_receiver): Likewise.
|
17915 |
|
|
* config/alpha/alpha.md (builtin_longjmp): Likewise.
|
17916 |
|
|
* config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
|
17917 |
|
|
* config/arm/arm.c (arm_load_pic_register): Likewise.
|
17918 |
|
|
(thumb1_expand_epilogue, thumb_set_return_address): Likewise.
|
17919 |
|
|
* config/arm/arm.md (untyped_return): Likewise.
|
17920 |
|
|
* config/arm/linux-elf.h (PROFILE_HOOK): Likewise.
|
17921 |
|
|
* config/avr/avr.c (expand_prologue): Likewise.
|
17922 |
|
|
* config/bfin/bfin.c (do_unlink): Likewise.
|
17923 |
|
|
* config/bfin/bfin.md (di3, adddi3, subdi3): Likewise.
|
17924 |
|
|
* config/cris/cris.c (cris_expand_prologue): Likewise.
|
17925 |
|
|
* config/darwin.c (machopic_indirect_data_reference): Likewise.
|
17926 |
|
|
(machopic_legitimize_pic_address): Likewise.
|
17927 |
|
|
* config/frv/frv.c (frv_frame_access, frv_expand_epilogue): Likewise.
|
17928 |
|
|
(frv_ifcvt_modify_insn, frv_expand_mdpackh_builtin): Likewise.
|
17929 |
|
|
* config/i386/i386.c (ix86_expand_vector_move_misalign): Likewise.
|
17930 |
|
|
(ix86_expand_convert_uns_didf_sse): Likewise.
|
17931 |
|
|
(ix86_expand_vector_init_general): Likewise.
|
17932 |
|
|
* config/ia64/ia64.md (eh_epilogue): Likewise.
|
17933 |
|
|
* config/iq2000/iq2000.c (iq2000_expand_epilogue): Likewise.
|
17934 |
|
|
* config/m32c/m32c.c (m32c_emit_eh_epilogue): Likewise.
|
17935 |
|
|
* config/m32r/m32r.c (m32r_reload_lr): Likewise.
|
17936 |
|
|
(config/iq2000/iq2000.c): Likewise.
|
17937 |
|
|
* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
|
17938 |
|
|
(fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
|
17939 |
|
|
(builtin_longjmp): Likewise.
|
17940 |
|
|
* config/mn10300/mn10300.md (call, call_value): Likewise.
|
17941 |
|
|
* config/pa/pa.md (nonlocal_goto, nonlocal_longjmp): Likewise.
|
17942 |
|
|
* config/pdp11/pdp11.md (abshi2): Likewise.
|
17943 |
|
|
* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
|
17944 |
|
|
* config/s390/s390.c (s390_emit_prologue): Likewise.
|
17945 |
|
|
* config/s390/s390.md (movmem_long, setmem_long): Likewise.
|
17946 |
|
|
(cmpmem_long, extendsidi2, zero_extendsidi2, udivmoddi4): Likewise.
|
17947 |
|
|
(builtin_setjmp_receiver, restore_stack_nonlocal): Likewise.
|
17948 |
|
|
* config/sh/sh.c (prepare_move_operands): Likewise.
|
17949 |
|
|
(output_stack_adjust, sh_expand_epilogue): Likewise.
|
17950 |
|
|
(sh_set_return_address, sh_expand_t_scc): Likewise.
|
17951 |
|
|
* config/sparc/sparc.c (load_pic_register): Likewise.
|
17952 |
|
|
* config/sparc/sparc.md (untyped_return, nonlocal_goto): Likewise.
|
17953 |
|
|
* config/spu/spu.c (spu_expand_epilogue): Likewise.
|
17954 |
|
|
* config/v850/v850.c (expand_epilogue): Likewise.
|
17955 |
|
|
|
17956 |
|
|
2008-05-31 Anatoly Sokolov
|
17957 |
|
|
|
17958 |
|
|
* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
|
17959 |
|
|
(UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.).
|
17960 |
|
|
(movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn.
|
17961 |
|
|
* config/avr/avr.c (expand_prologue, expand_epilogue): Use
|
17962 |
|
|
movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the
|
17963 |
|
|
stack pointer register.
|
17964 |
|
|
(output_movhi): Remove code for interrupt specific writing to the
|
17965 |
|
|
stack pointer register.
|
17966 |
|
|
|
17967 |
|
|
2008-05-31 Richard Guenther
|
17968 |
|
|
|
17969 |
|
|
PR tree-optimization/34244
|
17970 |
|
|
* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
|
17971 |
|
|
(tree_expr_nonzero_warnv_p): Likewise.
|
17972 |
|
|
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
|
17973 |
|
|
ssa_name_nonnegative_p.
|
17974 |
|
|
(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
|
17975 |
|
|
(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
|
17976 |
|
|
not tree_expr_nonzero_warnv_p.
|
17977 |
|
|
|
17978 |
|
|
PR tree-optimization/36262
|
17979 |
|
|
Revert
|
17980 |
|
|
2007-11-29 Zdenek Dvorak
|
17981 |
|
|
|
17982 |
|
|
PR tree-optimization/34244
|
17983 |
|
|
* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
|
17984 |
|
|
(record_numbers_of_iterations): New function.
|
17985 |
|
|
(execute_vrp): Cache the numbers of iterations of loops.
|
17986 |
|
|
* tree-scalar-evolution.c (scev_reset_except_niters):
|
17987 |
|
|
New function.
|
17988 |
|
|
(scev_reset): Use scev_reset_except_niters.
|
17989 |
|
|
* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
|
17990 |
|
|
|
17991 |
|
|
2008-05-31 Bernd Schmidt
|
17992 |
|
|
|
17993 |
|
|
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
|
17994 |
|
|
__WORKAROUND_RETS when appropriate.
|
17995 |
|
|
|
17996 |
|
|
2008-05-31 Uros Bizjak
|
17997 |
|
|
|
17998 |
|
|
* config/i386/i386.md (*fop__comm_mixed): Macroize from
|
17999 |
|
|
*fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using MODEF
|
18000 |
|
|
mode iterator.
|
18001 |
|
|
(*fop__comm_sse): Macroize from *fop_sf_comm_sse and
|
18002 |
|
|
*fop_df_comm_sse insn patterns using MODEF mode iterator.
|
18003 |
|
|
(*fop__comm_i387): Macroize from *fop_sf_comm_i387 and
|
18004 |
|
|
*fop_df_comm_i387 insn patterns using MODEF mode iterator.
|
18005 |
|
|
(*fop__1_mixed): Macroize from *fop_sf_1_mixed and
|
18006 |
|
|
*fop_df_1_mixed insn patterns using MODEF mode iterator.
|
18007 |
|
|
(*fop__1_sse): Macroize from *fop_sf_1_sse and
|
18008 |
|
|
*fop_df_1_sse insn patterns using MODEF mode iterator.
|
18009 |
|
|
(*fop__1_i387): Macroize from *fop_sf_1_i387 and
|
18010 |
|
|
*fop_df_1_i387 insn patterns using MODEF mode iterator.
|
18011 |
|
|
(*fop__2_i387): Macroize from *fop_sf_2_i387 and
|
18012 |
|
|
*fop_df_2_i387 insn patterns using MODEF mode iterator.
|
18013 |
|
|
(*fop__3_i387): Macroize from *fop_sf_3_i387 and
|
18014 |
|
|
*fop_df_3_i387 insn patterns using MODEF mode iterator.
|
18015 |
|
|
(*fop_xf_2_i387): Rename from *fop_xf_2_i387.
|
18016 |
|
|
(*fop_xf_3_i387): Rename from *fop_xf_3_i387.
|
18017 |
|
|
(*fop_xf_4_i387): Use for mode attribute.
|
18018 |
|
|
(*fop_xf_5_i387): Ditto.
|
18019 |
|
|
(*fop_xf_6_i387): Ditto.
|
18020 |
|
|
|
18021 |
|
|
2008-05-30 Richard Guenther
|
18022 |
|
|
|
18023 |
|
|
* builtins.c (build_string_literal): Avoid generating
|
18024 |
|
|
a non-gimple_val result.
|
18025 |
|
|
|
18026 |
|
|
2008-05-30 DJ Delorie
|
18027 |
|
|
|
18028 |
|
|
* exec-tool.in: Use an environment variable (private) instead of a
|
18029 |
|
|
file (shared) as a semaphore, so as to not break parallel builds.
|
18030 |
|
|
|
18031 |
|
|
2008-05-30 Steven Bosscher
|
18032 |
|
|
|
18033 |
|
|
* optabs.c (maybe_encapsulate_block): Remove.
|
18034 |
|
|
(emit_libcall_block): Adjust accordingly.
|
18035 |
|
|
* optabs.h (maybe_encapsulate_block): Remove prototype.
|
18036 |
|
|
|
18037 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address):
|
18038 |
|
|
Don't use maybe_encapsulate_block.
|
18039 |
|
|
|
18040 |
|
|
2008-05-30 Steven Bosscher
|
18041 |
|
|
|
18042 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_address,
|
18043 |
|
|
rs6000_legitimize_reload_address, rs6000_emit_move): Make sure an
|
18044 |
|
|
rtx is a SYMBOL_REF before calling get_pool_constant.
|
18045 |
|
|
|
18046 |
|
|
2008-05-30 Eric Botcazou
|
18047 |
|
|
|
18048 |
|
|
* fold-const.c (fold_unary) : Add ??? comment.
|
18049 |
|
|
|
18050 |
|
|
2008-05-30 Danny Smith
|
18051 |
|
|
|
18052 |
|
|
* incpath.c: Use HOST_LACKS_INODE_NUMBERS conditional
|
18053 |
|
|
rather than OS names to choose INO_T_EQ definition.
|
18054 |
|
|
(DIRS_EQ) [!INO_T_EQ]: Don't worry about case in comparison.
|
18055 |
|
|
(add_path) [!INO_T_EQ]: Use lrealpath to fill canonical_name field.
|
18056 |
|
|
|
18057 |
|
|
2008-05-29 Daniel Franke
|
18058 |
|
|
|
18059 |
|
|
PR target/36348
|
18060 |
|
|
* config/darwin-f.c: New.
|
18061 |
|
|
* config/t-darwin: Added rule to build darwin-f.o.
|
18062 |
|
|
* config.gcc: Defined new variable, fortran_target_objs.
|
18063 |
|
|
(*-*-darwin*): Set fortran_target_objs.
|
18064 |
|
|
* Makefile.in: Defined new variable FORTRAN_TARGET_OBJS.
|
18065 |
|
|
* configure.ac: Substitute fortran_target_objs, set FORTRAN_TARGET_OBJS.
|
18066 |
|
|
* configure: Regenerated.
|
18067 |
|
|
|
18068 |
|
|
2008-05-29 H.J. Lu
|
18069 |
|
|
|
18070 |
|
|
PR target/35771
|
18071 |
|
|
* config/i386/i386.c (ix86_function_arg_boundary): Convert to
|
18072 |
|
|
canonical type if needed.
|
18073 |
|
|
|
18074 |
|
|
2008-05-29 Eric Botcazou
|
18075 |
|
|
|
18076 |
|
|
* tree-nested.c (check_for_nested_with_variably_modified): Fix typo.
|
18077 |
|
|
|
18078 |
|
|
2008-05-29 Richard Guenther
|
18079 |
|
|
|
18080 |
|
|
PR tree-optimization/36343
|
18081 |
|
|
PR tree-optimization/36346
|
18082 |
|
|
PR tree-optimization/36347
|
18083 |
|
|
* tree-flow.h (clobber_what_p_points_to): Declare.
|
18084 |
|
|
* tree-ssa-structalias.c (set_uids_in_ptset): Whether the
|
18085 |
|
|
pointed-to variable is dereferenced is irrelevant to whether
|
18086 |
|
|
the pointer can access the pointed-to variable.
|
18087 |
|
|
(clobber_what_p_points_to): New function.
|
18088 |
|
|
* tree-ssa-alias.c (set_initial_properties): Use it.
|
18089 |
|
|
* tree-ssa.c (verify_flow_sensitive_alias_info): Adjust
|
18090 |
|
|
call clobber check for NMTs.
|
18091 |
|
|
|
18092 |
|
|
2008-05-28 Seongbae Park
|
18093 |
|
|
|
18094 |
|
|
* value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC
|
18095 |
|
|
for printing gcov_type.
|
18096 |
|
|
|
18097 |
|
|
2008-05-28 Seongbae Park
|
18098 |
|
|
|
18099 |
|
|
* tree-ssa-propagate.c (set_rhs): Preserve the histogram
|
18100 |
|
|
and the eh region information.
|
18101 |
|
|
* value-prof.c (gimple_move_stmt_histograms): New function.
|
18102 |
|
|
* value-prof.h (gimple_move_stmt_histograms): New function declaration.
|
18103 |
|
|
|
18104 |
|
|
2008-05-28 Andreas Tobler
|
18105 |
|
|
|
18106 |
|
|
* config/pa/pa.md: Remove extern frame_pointer_needed declaration.
|
18107 |
|
|
|
18108 |
|
|
2008-05-28 Seongbae Park
|
18109 |
|
|
|
18110 |
|
|
* value-prof.c (tree_ic_transform): Print counts.
|
18111 |
|
|
* tree-profile.c (tree_gen_ic_func_profiler):
|
18112 |
|
|
Clear __gcov_indreict_call_callee variable to avoid misattribution
|
18113 |
|
|
of the profile.
|
18114 |
|
|
|
18115 |
|
|
2008-05-28 Rafael Espíndola
|
18116 |
|
|
|
18117 |
|
|
* see.c (see_def_extension_not_merged): Use copy_rtx_if_shared to avoid
|
18118 |
|
|
invalid sharing.
|
18119 |
|
|
|
18120 |
|
|
2008-05-28 Richard Guenther
|
18121 |
|
|
|
18122 |
|
|
PR tree-optimization/36339
|
18123 |
|
|
* tree-ssa-alias.c (set_initial_properties): Move pt_anything
|
18124 |
|
|
and clobbering code out of the loop.
|
18125 |
|
|
|
18126 |
|
|
2008-05-28 Andreas Krebbel
|
18127 |
|
|
|
18128 |
|
|
* config/s390/constraints.md ('b', 'C', 'D', 'e'): New constraint
|
18129 |
|
|
letters defined.
|
18130 |
|
|
|
18131 |
|
|
* config/s390/s390.c (s390_compare_and_branch_condition_mask,
|
18132 |
|
|
s390_contiguous_bitmask_p, s390_symref_operand_p,
|
18133 |
|
|
s390_check_symref_alignment, s390_reload_larl_operand,
|
18134 |
|
|
s390_reload_symref_address): New functions.
|
18135 |
|
|
(s390_branch_condition_mnemonic): Support compare and branch
|
18136 |
|
|
instructions.
|
18137 |
|
|
(s390_mem_constraint): Avoid symrefs to accepted by the 'T'
|
18138 |
|
|
and 'W' constraints.
|
18139 |
|
|
(s390_secondary_reload): Add secondary reloads for unaligned
|
18140 |
|
|
symbol refs or symbol refs to floating point or QI/TI mode
|
18141 |
|
|
integer values.
|
18142 |
|
|
(legitimate_address_p): Accept symbol references as addresses.
|
18143 |
|
|
(s390_expand_insv): Use rotate and insert selected bits
|
18144 |
|
|
instruction for insv when building for z10.
|
18145 |
|
|
(print_operand_address): Handle symbol ref addresses.
|
18146 |
|
|
(print_operand): Output modifier 'c' added for signed byte values.
|
18147 |
|
|
(s390_encode_section_info): Mark symbol refs with
|
18148 |
|
|
SYMBOL_FLAG_NOT_NATURALLY_ALIGNED if appropriate.
|
18149 |
|
|
|
18150 |
|
|
* config/s390/s390.md (SIL,RRS,RIS): New instruction formats added.
|
18151 |
|
|
(length attribute): RRF, RRR have 4 byte length.
|
18152 |
|
|
(FPALL, INTALL): New mode iterators added.
|
18153 |
|
|
(*tstdi_sign, *cmpdi_ccs_sign, *cmpsi_ccs_sign,
|
18154 |
|
|
*cmp_ccs, *cmpdi_ccu_zero, *cmpdi_ccu, *cmpsi_ccu, *cmphi_ccu,
|
18155 |
|
|
*movdi_64, *movsi_zarch, *movhi, movmem, *movmem_short,
|
18156 |
|
|
*extendsidi2, *extendhidi2_extimm, *extendhisi2_extimm,
|
18157 |
|
|
*zero_extendsidi2, adddi3, *adddi3_31z, *adddi3_31, addsi3,
|
18158 |
|
|
*add3, *add3_carry1_cc, *add3_carry2_cc,
|
18159 |
|
|
*add3_cc, *add3_imm_cc, *muldi3_sign, muldi3,
|
18160 |
|
|
*mulsi3_sign, mulsi3, mulsidi3): Patterns enhanced with z10
|
18161 |
|
|
instructions.
|
18162 |
|
|
(*cmphi_ccs_z10, *cmpdi_ccs_signhi_rl, *cmpsi_ccu_zerohi_rlsi,
|
18163 |
|
|
*cmp_ccu_zerohi_rldi, *cmp_and_br_signed_,
|
18164 |
|
|
*cmp_and_br_unsigned_, reload_tomem_z10,
|
18165 |
|
|
reload_toreg_z10,
|
18166 |
|
|
reload_tomem_z10,
|
18167 |
|
|
reload_toreg_z10,
|
18168 |
|
|
reload_larl_odd_addend_z10, *execute_rl, *insv_z10,
|
18169 |
|
|
*insv_z10_noshift, *insv_or_z10_noshift,
|
18170 |
|
|
*zero_extendhi2_z10, *cmp_and_trap_signed_int,
|
18171 |
|
|
*cmp_and_trap_unsigned_int, prefetch): New pattern or expander
|
18172 |
|
|
definition.
|
18173 |
|
|
(movmem, clrmem, cmpmem): New splitters added.
|
18174 |
|
|
|
18175 |
|
|
* config/s390/predicates.md (larl_operand): Use
|
18176 |
|
|
SYMBOL_REF_FLAGS (op) & SYMBOL_FLAG_ALIGN1 replaced with
|
18177 |
|
|
SYMBOL_REF_ALIGN1_P.
|
18178 |
|
|
(s390_signed_integer_comparison,
|
18179 |
|
|
s390_unsigned_integer_comparison): New predicates.
|
18180 |
|
|
|
18181 |
|
|
* config/s390/s390-protos.h (s390_check_symref_alignment,
|
18182 |
|
|
s390_contiguous_bitmask_p, s390_reload_larl_operand,
|
18183 |
|
|
s390_reload_symref_address,
|
18184 |
|
|
s390_compare_and_branch_condition_mask): Prototypes added.
|
18185 |
|
|
|
18186 |
|
|
* config/s390/s390.h (TARGET_MEM_CONSTRAINT,
|
18187 |
|
|
SYMBOL_REF_ALIGN1_P, SYMBOL_FLAG_NOT_NATURALLY_ALIGNED,
|
18188 |
|
|
SYMBOL_REF_NOT_NATURALLY_ALIGNED_P): Macro definition added.
|
18189 |
|
|
|
18190 |
|
|
2008-05-28 Andreas Krebbel
|
18191 |
|
|
|
18192 |
|
|
* config/s390/s390.c (z10_cost): New cost function for z10.
|
18193 |
|
|
(s390_handle_arch_option, override_options): Support -march=z10 switch.
|
18194 |
|
|
(s390_issue_rate): Adjust issue rate for z10.
|
18195 |
|
|
* config/s390/s390.h (processor_type): Add PROCESSOR_2097_Z10.
|
18196 |
|
|
(processor_flags): Add PF_Z10.
|
18197 |
|
|
(TARGET_CPU_Z10, TARGET_Z10): New macro definitions.
|
18198 |
|
|
* config/s390/s390.md (cpu, cpu_facility attributes): Add z10.
|
18199 |
|
|
* gcc/config.gcc: Add z10.
|
18200 |
|
|
|
18201 |
|
|
2008-05-28 Richard Guenther
|
18202 |
|
|
|
18203 |
|
|
PR tree-optimization/36291
|
18204 |
|
|
* tree-flow. h (struct gimple_df): Remove var_anns member.
|
18205 |
|
|
* tree-flow-inline.h (gimple_var_anns): Remove.
|
18206 |
|
|
(var_ann): Simplify.
|
18207 |
|
|
* tree-dfa.c (create_var_ann): Simplify.
|
18208 |
|
|
(remove_referenced_var): Clear alias info from var_anns of globals.
|
18209 |
|
|
* tree-ssa.c (init_tree_ssa): Do not allocate var_anns.
|
18210 |
|
|
(delete_tree_ssa): Clear alias info from var_anns of globals.
|
18211 |
|
|
Do not free var_anns.
|
18212 |
|
|
(var_ann_eq): Remove.
|
18213 |
|
|
(var_ann_hash): Likewise.
|
18214 |
|
|
|
18215 |
|
|
2008-05-28 Mark Shinwell
|
18216 |
|
|
|
18217 |
|
|
* config/mips/mips.c (mips_cpu_info_table): Add loongson2e
|
18218 |
|
|
and loongson2f entries.
|
18219 |
|
|
(mips_rtx_cost_data): Add entries for Loongson-2E/2F.
|
18220 |
|
|
* config/mips/mips.h (processor_type): Add Loongson-2E
|
18221 |
|
|
and Loongson-2F entries.
|
18222 |
|
|
(TARGET_LOONGSON_2E, TARGET_LOONGSON_2F, TARGET_LOONGSON_2EF): New.
|
18223 |
|
|
(MIPS_ISA_LEVEL_SPEC): Handle Loongson-2E/2F.
|
18224 |
|
|
* config/mips/mips.md (define_attr cpu): Add loongson2e and loongson2f.
|
18225 |
|
|
* doc/invoke.texi (MIPS Options): Document loongson2e
|
18226 |
|
|
and loongson2f processor names.
|
18227 |
|
|
|
18228 |
|
|
2008-05-27 H.J. Lu
|
18229 |
|
|
|
18230 |
|
|
PR target/35767
|
18231 |
|
|
PR target/35771
|
18232 |
|
|
* config/i386/i386.c (ix86_function_arg_boundary): Use
|
18233 |
|
|
alignment of canonical type.
|
18234 |
|
|
(ix86_expand_vector_move): Check unaligned memory access for
|
18235 |
|
|
all SSE modes.
|
18236 |
|
|
|
18237 |
|
|
2008-05-27 H.J. Lu
|
18238 |
|
|
|
18239 |
|
|
* dwarf2out.c (current_fde): Change return type to dw_fde_ref.
|
18240 |
|
|
Moved to the front of file.
|
18241 |
|
|
|
18242 |
|
|
2008-05-27 Xuepeng Guo
|
18243 |
|
|
H.J. Lu
|
18244 |
|
|
|
18245 |
|
|
* dwarf2out.c (current_fde): New.
|
18246 |
|
|
(add_cfi): Use it.
|
18247 |
|
|
(lookup_cfa:): Likewise.
|
18248 |
|
|
(dwarf2out_end_epilogue): Likewise.
|
18249 |
|
|
(dwarf2out_note_section_used): Likewise.
|
18250 |
|
|
|
18251 |
|
|
2008-05-27 Michael Matz
|
18252 |
|
|
|
18253 |
|
|
PR c++/27975
|
18254 |
|
|
* c.opt (Wenum-compare): New warning option.
|
18255 |
|
|
* doc/invoke.texi (Warning Options): Document -Wenum-compare.
|
18256 |
|
|
|
18257 |
|
|
2008-05-27 Michael Matz
|
18258 |
|
|
|
18259 |
|
|
PR middle-end/36326
|
18260 |
|
|
* tree-gimple.c (is_gimple_mem_rhs): Remove work-around for
|
18261 |
|
|
non-BLKmode types.
|
18262 |
|
|
* tree-tailcall.c (find_tail_calls): Don't mark calls storing
|
18263 |
|
|
into memory as tail calls.
|
18264 |
|
|
|
18265 |
|
|
2008-05-27 Richard Guenther
|
18266 |
|
|
|
18267 |
|
|
PR tree-optimization/36339
|
18268 |
|
|
* tree-ssa-alias.c (set_initial_properties): Escaped pt_anything
|
18269 |
|
|
pointers cause all addressable variables to be call clobbered.
|
18270 |
|
|
|
18271 |
|
|
2008-05-27 Richard Guenther
|
18272 |
|
|
|
18273 |
|
|
PR tree-optimization/36245
|
18274 |
|
|
* tree-ssa-address.c (add_to_parts): Deal with non-pointer bases.
|
18275 |
|
|
|
18276 |
|
|
2008-05-27 Andreas Krebbel
|
18277 |
|
|
|
18278 |
|
|
* config/s390/s390.md: Replace all occurences of the 'm'
|
18279 |
|
|
constraint with 'RT'.
|
18280 |
|
|
|
18281 |
|
|
2008-05-27 Andreas Krebbel
|
18282 |
|
|
|
18283 |
|
|
* config/s390/s390.md ("cpu_facility", "enabled"): Attribute
|
18284 |
|
|
definitions added.
|
18285 |
|
|
("*movdi_64dfp", "*movdi_64extimm", "*movdi_64"): Merged into
|
18286 |
|
|
"*movdi_64".
|
18287 |
|
|
("*anddi3_extimm", "*anddi3"): Merged into "*anddi3".
|
18288 |
|
|
("*iordi3_extimm", "*iordi3"): Merged into "*iordi3".
|
18289 |
|
|
("*xordi3_extimm", "*xordi3"): Merged into "*xordi3".
|
18290 |
|
|
|
18291 |
|
|
2008-05-27 Andreas Krebbel
|
18292 |
|
|
|
18293 |
|
|
* reload.c (find_reloads): Skip alternatives according to the
|
18294 |
|
|
"enabled" attribute. Constify the constraint variable.
|
18295 |
|
|
* recog.c (get_attr_enabled): Add default implementation.
|
18296 |
|
|
(extract_insn): Set the alternative_enabled_p array
|
18297 |
|
|
in the recog_data struct.
|
18298 |
|
|
(preprocess_constraints, constrain_operands): Skip
|
18299 |
|
|
alternatives according to the "enabled" attribute
|
18300 |
|
|
* recog.h (struct recog_data): New field alternative_enabled_p.
|
18301 |
|
|
(skip_alternative): New inline function.
|
18302 |
|
|
* regclass.c (record_operand_costs): Check the "enabled" attribute.
|
18303 |
|
|
(record_reg_classes): Skip alternative according to the
|
18304 |
|
|
"enabled" attribute.
|
18305 |
|
|
|
18306 |
|
|
* doc/md.texi: Add documention for the "enabled" attribute.
|
18307 |
|
|
|
18308 |
|
|
2008-05-27 Andreas Krebbel
|
18309 |
|
|
|
18310 |
|
|
* defaults.h (TARGET_MEM_CONSTRAINT): New target macro added.
|
18311 |
|
|
* postreload.c (reload_cse_simplify_operands): Replace 'm'
|
18312 |
|
|
constraint with TARGET_MEM_CONSTRAINT.
|
18313 |
|
|
* recog.c (asm_operand_ok, preprocess_constraints,
|
18314 |
|
|
constrain_operands): Likewise.
|
18315 |
|
|
* regclass.c (record_reg_classes): Likewise.
|
18316 |
|
|
* reload.c (find_reloads, alternative_allows_const_pool_ref): Likewise.
|
18317 |
|
|
* reload1.c (maybe_fix_stack_asms): Likewise.
|
18318 |
|
|
* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
|
18319 |
|
|
* recog.h: Adjust comment.
|
18320 |
|
|
* genpreds.c (generic_constraint_letters): Remove 'm' constraint.
|
18321 |
|
|
* genoutput.c (note_constraint): Don't emit error for 'm' constraint.
|
18322 |
|
|
* doc/md.texi: Add a note to description of 'm' constraint.
|
18323 |
|
|
* doc/tm.texi: Document the new TARGET_MEM_CONSTRAINT macro.
|
18324 |
|
|
|
18325 |
|
|
2008-05-27 Eric Botcazou
|
18326 |
|
|
|
18327 |
|
|
* tree-sra.c (sra_type_can_be_decomposed_p) : Make sure
|
18328 |
|
|
that the bitfield is of integral type before testing its precision.
|
18329 |
|
|
|
18330 |
|
|
2008-05-27 Trevor Smigiel
|
18331 |
|
|
Sa Liu
|
18332 |
|
|
|
18333 |
|
|
* config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3,
|
18334 |
|
|
__modti3, __udivti3, __umodti3 and __udivmodti4.
|
18335 |
|
|
* config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files
|
18336 |
|
|
that implement TImode mul and div functions.
|
18337 |
|
|
* config/spu/multi3.c: New. Implement __multi3.
|
18338 |
|
|
* config/spu/divmodti4.c: New. Implement _udivmodti4 and others.
|
18339 |
|
|
* testsuite/gcc.target/spu/muldivti3.c: New. Test TImode mul and div
|
18340 |
|
|
functions on SPU.
|
18341 |
|
|
|
18342 |
|
|
2008-05-26 Steven Bosscher
|
18343 |
|
|
|
18344 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Generate
|
18345 |
|
|
new tls_gd_* and tls_ld_* insns instead of an insn sequence.
|
18346 |
|
|
* config/rs6000/rs6000.md (TLSmode, tls_abi_suffix, tls_insn_suffix,
|
18347 |
|
|
tls_sysv_suffix): New mode and mode attribute iterators.
|
18348 |
|
|
(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64): Remove.
|
18349 |
|
|
(lts_gd_aix*, tls_gd_sysv*, tls_ld_aix*, tls_ld_sysv*): New patterns.
|
18350 |
|
|
(tls_dtprel_*, tls_dtprel_ha_*, tls_dtprel_lo_*, tls_got_dtprel_*,
|
18351 |
|
|
tls_tprel_*, tls_tprel_ha_*, tls_tprel_lo_*, tls_got_tprel_*,
|
18352 |
|
|
tls_tls_*): Merge 32 bit and 64 bit variants using aforementioned
|
18353 |
|
|
iterators.
|
18354 |
|
|
|
18355 |
|
|
2008-05-26 Eric Botcazou
|
18356 |
|
|
|
18357 |
|
|
PR tree-optimization/36329
|
18358 |
|
|
* tree.h (CALL_CANNOT_INLINE_P): Add access check.
|
18359 |
|
|
* tree-gimple.h (CALL_STMT_CANNOT_INLINE_P): New macro.
|
18360 |
|
|
* cgraphbuild.c (initialize_inline_failed): Use the latter
|
18361 |
|
|
macro in lieu of the former.
|
18362 |
|
|
* ipa-inline.c (cgraph_mark_inline): Likewise.
|
18363 |
|
|
(cgraph_decide_inlining_of_small_function): Likewise.
|
18364 |
|
|
(cgraph_decide_inlining): Likewise.
|
18365 |
|
|
(cgraph_decide_inlining_incrementally): Likewise.
|
18366 |
|
|
|
18367 |
|
|
2008-05-26 Tristan Gingold
|
18368 |
|
|
Anatoly Sokolov
|
18369 |
|
|
|
18370 |
|
|
* config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs())
|
18371 |
|
|
instead of pm_lo8/pm_hi8 to makes this call working on avr6.
|
18372 |
|
|
* config/avr/avr.c (expand_prologue): Tune "call_prologue"
|
18373 |
|
|
optimization for 'avr6' architecture.
|
18374 |
|
|
|
18375 |
|
|
2008-05-26 Andy Hutchinson
|
18376 |
|
|
|
18377 |
|
|
PR target/34932
|
18378 |
|
|
* config/avr/avr.md (*addhi3_zero_extend2): Remove.
|
18379 |
|
|
|
18380 |
|
|
2008-05-26 Richard Guenther
|
18381 |
|
|
|
18382 |
|
|
* tree-ssa-sccvn.c (expr_has_constants): Declare.
|
18383 |
|
|
(visit_reference_op_load): Initialize VN_INFO->has_constants properly.
|
18384 |
|
|
|
18385 |
|
|
2008-05-26 H.J. Lu
|
18386 |
|
|
|
18387 |
|
|
PR middle-end/36253
|
18388 |
|
|
* caller-save.c (insert_restore): Verify alignment of spill space.
|
18389 |
|
|
(insert_save): Likewise.
|
18390 |
|
|
* cfgexpand.c (LOCAL_ALIGNMENT): Removed.
|
18391 |
|
|
* defaults.h (LOCAL_ALIGNMENT): New. Provide default.
|
18392 |
|
|
(STACK_SLOT_ALIGNMENT): Likewise.
|
18393 |
|
|
* function.c (LOCAL_ALIGNMENT): Removed.
|
18394 |
|
|
(get_stack_local_alignment): New.
|
18395 |
|
|
(assign_stack_local): Use it. Set alignment on stack slot.
|
18396 |
|
|
(assign_stack_temp_for_type): Use get_stack_local_alignment.
|
18397 |
|
|
* config/i386/i386.h (LOCAL_ALIGNMENT): Updated.
|
18398 |
|
|
(STACK_SLOT_ALIGNMENT): New.
|
18399 |
|
|
* config/i386/i386.c (ix86_local_alignment): Handle caller-save
|
18400 |
|
|
stack slot in XFmode.
|
18401 |
|
|
|
18402 |
|
|
* doc/tm.texi (STACK_SLOT_ALIGNMENT): New.
|
18403 |
|
|
|
18404 |
|
|
2008-05-26 Kai Tietz
|
18405 |
|
|
|
18406 |
|
|
PR/36321
|
18407 |
|
|
* config/i386/i386.md (allocate_stack_worker_64): Make sure
|
18408 |
|
|
argument operand in rax isn't removed.
|
18409 |
|
|
|
18410 |
|
|
2008-05-26 Richard Guenther
|
18411 |
|
|
|
18412 |
|
|
PR middle-end/36300
|
18413 |
|
|
* fold-const.c (extract_muldiv_1): Use TYPE_OVERFLOW_WRAPS,
|
18414 |
|
|
not TYPE_UNSIGNED. Use TYPE_PRECISION instead of GET_MODE_SIZE.
|
18415 |
|
|
|
18416 |
|
|
2008-05-26 Daniel Franke
|
18417 |
|
|
|
18418 |
|
|
PR bootstrap/36331
|
18419 |
|
|
* c-cppbuiltin.c (define__GNUC__): Re-add definition of __GNUG__.
|
18420 |
|
|
|
18421 |
|
|
2008-05-26 Dominique Dhumieres
|
18422 |
|
|
|
18423 |
|
|
* config/darwin-c.c: Include "incpath.h" instead of "c-incpath.h".
|
18424 |
|
|
* config/t-darwin: Use "incpath.h" instead of "c-incpath.h".
|
18425 |
|
|
|
18426 |
|
|
2008-05-25 Eric Botcazou
|
18427 |
|
|
|
18428 |
|
|
* tree-nested.c (convert_tramp_reference) : Do not
|
18429 |
|
|
build a trampoline if we don't want one.
|
18430 |
|
|
* varasm.c (initializer_constant_valid_p) : Do not
|
18431 |
|
|
return zero for nested functions if we don't want a trampoline.
|
18432 |
|
|
|
18433 |
|
|
2008-05-26 Daniel Franke
|
18434 |
|
|
|
18435 |
|
|
* doc/invoke.texi: Added f77, f77-cpp-input to list of file types.
|
18436 |
|
|
|
18437 |
|
|
2008-05-26 Daniel Franke
|
18438 |
|
|
|
18439 |
|
|
PR fortran/18428
|
18440 |
|
|
* c.opt: Removed undocumented option '-lang-fortran'.
|
18441 |
|
|
* c-common.h: Removed global variable 'lang_fortran'.
|
18442 |
|
|
* c-opts.c (c_common_handle_option): Removed code to handle
|
18443 |
|
|
option '-lang-fortran'. Updated includes.
|
18444 |
|
|
* c-cppbuiltin.c (c_cpp_builtins): Removed conditional
|
18445 |
|
|
definition of '__GFORTRAN__'.
|
18446 |
|
|
(define__GNUC__): Reimplemented to use BASEVER and
|
18447 |
|
|
cpp_define_formatted.
|
18448 |
|
|
(builtin_define_with_value_n): Removed.
|
18449 |
|
|
* c-incpath.h: Renamed to ...
|
18450 |
|
|
* incpath.h: ... this.
|
18451 |
|
|
* c-incpath.c: Renamed to ...
|
18452 |
|
|
* incpath.c: ... this. Updated includes.
|
18453 |
|
|
* fix-header.c: Updated includes.
|
18454 |
|
|
* Makefile.in: Replaced c-incpath.[ch] by incpath.[ch].
|
18455 |
|
|
(c-cppbuiltin.o): Added dependency on and definition of BASEVER.
|
18456 |
|
|
(OBJ-archive): Added cppdefault.o, incpath.o and prefix.o.
|
18457 |
|
|
|
18458 |
|
|
2008-05-25 Eric Botcazou
|
18459 |
|
|
|
18460 |
|
|
* tree.h: Update the table of flags used on tree nodes.
|
18461 |
|
|
(TREE_NO_TRAMPOLINE): New accessor for static_flag.
|
18462 |
|
|
(SAVE_EXPR_RESOLVED_P): Use automatically-built access check.
|
18463 |
|
|
(FORCED_LABEL): Add access check.
|
18464 |
|
|
(CALL_EXPR_RETURN_SLOT_OPT): Likewise.
|
18465 |
|
|
(ASM_INPUT_P): Likewise.
|
18466 |
|
|
(ASM_VOLATILE_P): Likewise.
|
18467 |
|
|
(EH_FILTER_MUST_NOT_THROW): Access static_flag directly.
|
18468 |
|
|
(OMP_SECTION_LAST): Access private_flag directly.
|
18469 |
|
|
(OMP_RETURN_NOWAIT): Likewise.
|
18470 |
|
|
(OMP_PARALLEL_COMBINED): Likewise.
|
18471 |
|
|
(OMP_CLAUSE_PRIVATE_DEBUG): Access public_flag directly.
|
18472 |
|
|
(OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE): Likewise.
|
18473 |
|
|
* tree-ssa-propagate.c (STMT_IN_SSA_EDGE_WORKLIST): Access
|
18474 |
|
|
deprecated_flag directly.
|
18475 |
|
|
|
18476 |
|
|
2008-05-25 H.J. Lu
|
18477 |
|
|
|
18478 |
|
|
* final.c (frame_pointer_needed): Removed.
|
18479 |
|
|
* flags.h (frame_pointer_needed): Likewise.
|
18480 |
|
|
|
18481 |
|
|
* function.h (rtl_data): Add frame_pointer_needed.
|
18482 |
|
|
(frame_pointer_needed): New.
|
18483 |
|
|
|
18484 |
|
|
2008-05-25 Arthur Loiret
|
18485 |
|
|
|
18486 |
|
|
* config.gcc (sh2[lbe]*-*-linux*): Allow target.
|
18487 |
|
|
|
18488 |
|
|
2008-05-25 Steven Bosscher
|
18489 |
|
|
|
18490 |
|
|
* gcse.c (hash_scan_set): Do not pick up a REG_EQUAL value if
|
18491 |
|
|
SRC is a REG.
|
18492 |
|
|
|
18493 |
|
|
2008-05-25 Alan Modra
|
18494 |
|
|
|
18495 |
|
|
* c-common.c (strip_array_types): Move function to..
|
18496 |
|
|
* tree.c: ..here.
|
18497 |
|
|
(get_inner_array_type): Delete.
|
18498 |
|
|
* c-common.h (strip_array_types): Move declaration to..
|
18499 |
|
|
* tree.h: ..here.
|
18500 |
|
|
(get_inner_array_type): Delete.
|
18501 |
|
|
* config/i386/i386.c (x86_field_alignment): Use strip_array_types.
|
18502 |
|
|
* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
|
18503 |
|
|
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
|
18504 |
|
|
* config/pa/pa.c (emit_move_sequence): Likewise.
|
18505 |
|
|
|
18506 |
|
|
2008-05-24 H.J. Lu
|
18507 |
|
|
|
18508 |
|
|
* config/i386/i386.md (*sse_prologue_save_insn): Set length
|
18509 |
|
|
attribute to 34.
|
18510 |
|
|
|
18511 |
|
|
2008-05-24 Andy Hutchinson
|
18512 |
|
|
|
18513 |
|
|
* function.c: Include target hook for nonlocal_goto frame value.
|
18514 |
|
|
|
18515 |
|
|
2008-05-24 Richard Guenther
|
18516 |
|
|
|
18517 |
|
|
* tree-dfa.c (refs_may_alias_p): Re-instantiate case that a scalar
|
18518 |
|
|
variable can be only accessed through a pointer or a union.
|
18519 |
|
|
|
18520 |
|
|
2008-05-24 Kaveh R. Ghazi
|
18521 |
|
|
|
18522 |
|
|
* builtins.c (fold_builtin_fpclassify): Fix spelling of FP_INFINITE.
|
18523 |
|
|
* doc/extend.texi: Likewise.
|
18524 |
|
|
|
18525 |
|
|
2008-05-23 DJ Delorie
|
18526 |
|
|
|
18527 |
|
|
* config/m32c/jump.md (untyped_call): Add.
|
18528 |
|
|
|
18529 |
|
|
* config/m32c/m32c.c (m32c_return_addr_rtx): Change pointer type
|
18530 |
|
|
for A24 to PSImode.
|
18531 |
|
|
(m32c_address_cost): Detail costs for indirect offsets.
|
18532 |
|
|
|
18533 |
|
|
2008-05-23 Rafael Espíndola
|
18534 |
|
|
|
18535 |
|
|
* see.c (see_get_extension_data): Don't use SUBREG_REG to test
|
18536 |
|
|
if a node is a SUBREG.
|
18537 |
|
|
(see_analyze_one_def): Don't use SUBREG_REG to test if a node
|
18538 |
|
|
is a SUBREG.
|
18539 |
|
|
|
18540 |
|
|
2008-05-23 Paul Brook
|
18541 |
|
|
Carlos O'Donell
|
18542 |
|
|
|
18543 |
|
|
* doc/extend.texi: Clarify use of __attribute__((naked)).
|
18544 |
|
|
* doc/tm.texi: Document TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS.
|
18545 |
|
|
* target.h (gcc_target): Add allocate_stack_slots_for_args.
|
18546 |
|
|
* function.c (use_register_for_decl): Use
|
18547 |
|
|
targetm.calls.allocate_stack_slots_for_args.
|
18548 |
|
|
* target-def.h (TARGET_CALLS): Add TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS.
|
18549 |
|
|
* config/arm/arm.c (arm_allocate_stack_slots_for_args): New function.
|
18550 |
|
|
(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
|
18551 |
|
|
|
18552 |
|
|
2008-05-23 Eric Botcazou
|
18553 |
|
|
|
18554 |
|
|
* expr.c (highest_pow2_factor) : New case.
|
18555 |
|
|
|
18556 |
|
|
2008-05-23 Steven Munroe
|
18557 |
|
|
|
18558 |
|
|
* config/rs6000/darwin-ldouble.c (fmsub): Eliminate the full
|
18559 |
|
|
PACK/UNPACK between FP_SUB_Q and FD_TRUNC so that the result
|
18560 |
|
|
is only rounded once.
|
18561 |
|
|
|
18562 |
|
|
2008-05-23 Richard Guenther
|
18563 |
|
|
|
18564 |
|
|
* tree-ssa-operands.c (mark_difference_for_renaming): Use bitmap_xor.
|
18565 |
|
|
|
18566 |
|
|
2008-05-23 Uros Bizjak
|
18567 |
|
|
Jakub Jelinek
|
18568 |
|
|
|
18569 |
|
|
PR target/36079
|
18570 |
|
|
* configure.ac: Handle --enable-cld.
|
18571 |
|
|
* configure: Regenerated.
|
18572 |
|
|
* config.gcc: Add USE_IX86_CLD to tm_defines for x86 targets.
|
18573 |
|
|
* config/i386/i386.h (struct machine_function): Add needs_cld field.
|
18574 |
|
|
(ix86_current_function_needs_cld): New define.
|
18575 |
|
|
* config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
|
18576 |
|
|
(cld): New isns pattern.
|
18577 |
|
|
(strmov_singleop, rep_mov, strset_singleop, rep_stos, cmpstrnqi_nz_1,
|
18578 |
|
|
cmpstrnqi_1, strlenqi_1): Set ix86_current_function_needs_cld flag.
|
18579 |
|
|
* config/i386/i386.opt (mcld): New option.
|
18580 |
|
|
* config/i386/i386.c (ix86_expand_prologue): Emit cld insn if
|
18581 |
|
|
TARGET_CLD and ix86_current_function_needs_cld.
|
18582 |
|
|
(override_options): Use -mcld by default for 32-bit code if
|
18583 |
|
|
USE_IX86_CLD.
|
18584 |
|
|
|
18585 |
|
|
* doc/install.texi (Options specification): Document --enable-cld.
|
18586 |
|
|
* doc/invoke.texi (Machine Dependent Options)
|
18587 |
|
|
[i386 and x86-64 Options]: Add -mcld option.
|
18588 |
|
|
(Intel 386 and AMD x86-64 Options): Document -mcld option.
|
18589 |
|
|
|
18590 |
|
|
2008-05-23 Kai Tietz
|
18591 |
|
|
* config/i386/i386.c (return_in_memory_32): Add ATTRIBUTE_UNUSED.
|
18592 |
|
|
(return_in_memory_64): Likewise.
|
18593 |
|
|
(return_in_memory_ms_64): Likewise.
|
18594 |
|
|
|
18595 |
|
|
2008-05-23 Kaveh R. Ghazi
|
18596 |
|
|
|
18597 |
|
|
* builtin-types.def (BT_FN_INT_INT_INT_INT_INT_INT_VAR): New.
|
18598 |
|
|
* builtins.c (fold_builtin_fpclassify): New.
|
18599 |
|
|
(fold_builtin_varargs): Handle BUILT_IN_FPCLASSIFY.
|
18600 |
|
|
* builtins.def (BUILT_IN_FPCLASSIFY): New.
|
18601 |
|
|
* c-common.c (handle_type_generic_attribute): Adjust to accept
|
18602 |
|
|
fixed arguments before an elipsis.
|
18603 |
|
|
(check_builtin_function_arguments): Handle BUILT_IN_FPCLASSIFY.
|
18604 |
|
|
* doc/extend.texi: Document __builtin_fpclassify.
|
18605 |
|
|
|
18606 |
|
|
2008-05-22 Aldy Hernandez
|
18607 |
|
|
|
18608 |
|
|
* omp-low.c (gate_expand_omp_ssa): Remove.
|
18609 |
|
|
(pass_expand_omp_ssa): Remove.
|
18610 |
|
|
(gate_expand_omp): Do not check for flag_openmp_ssa.
|
18611 |
|
|
* common.opt (-fopenmp-ssa): Remove.
|
18612 |
|
|
* passes.c (init_optimization_passes): Remove pass_expand_omp_ssa.
|
18613 |
|
|
|
18614 |
|
|
2008-05-22 Kaz Kojima
|
18615 |
|
|
|
18616 |
|
|
* config/sh/sh.opt (mfixed-range): New option.
|
18617 |
|
|
* config/sh/sh-protos.h (sh_fix_range): Declare.
|
18618 |
|
|
* config/sh/sh.c (sh_fix_range): New function.
|
18619 |
|
|
* config/sh/sh.h (sh_fixed_range_str): Declare.
|
18620 |
|
|
(OVERRIDE_OPTIONS): Call sh_fix_range if sh_fixed_range_str
|
18621 |
|
|
is not empty.
|
18622 |
|
|
* doc/invoke.texi (SH Options): Document -mfixed-range.
|
18623 |
|
|
|
18624 |
|
|
2008-05-22 Kai Tietz
|
18625 |
|
|
|
18626 |
|
|
* config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Undefine
|
18627 |
|
|
it before the redeclaration.
|
18628 |
|
|
|
18629 |
|
|
2008-05-22 Anatoly Sokolov
|
18630 |
|
|
|
18631 |
|
|
* config/avr/avr.c (get_sequence_length): Add new function.
|
18632 |
|
|
(expand_prologue, expand_epilogue): Remove duplicate code.
|
18633 |
|
|
|
18634 |
|
|
2008-05-22 Rafael Espíndola
|
18635 |
|
|
|
18636 |
|
|
* see.c (see_pre_insert_extensions): Use copy_rtx to avoid invalid rtx
|
18637 |
|
|
sharing.
|
18638 |
|
|
|
18639 |
|
|
2008-05-22 H.J. Lu
|
18640 |
|
|
|
18641 |
|
|
* defaults.h (UNITS_PER_SIMD_WORD): Add scalar mode as argument.
|
18642 |
|
|
* doc/tm.texi (UNITS_PER_SIMD_WORD): Likewise.
|
18643 |
|
|
|
18644 |
|
|
* tree-vect-analyze.c (vect_compute_data_ref_alignment): Replace
|
18645 |
|
|
UNITS_PER_SIMD_WORD with GET_MODE_SIZE (TYPE_MODE (vectype)).
|
18646 |
|
|
(vect_update_misalignment_for_peel): Likewise.
|
18647 |
|
|
(vector_alignment_reachable_p): Likewise.
|
18648 |
|
|
* tree-vect-transform.c (vectorizable_load): Likewise.
|
18649 |
|
|
* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
|
18650 |
|
|
(get_vectype_for_scalar_type): Pass mode of scalar_type
|
18651 |
|
|
to UNITS_PER_SIMD_WORD.
|
18652 |
|
|
|
18653 |
|
|
* config/arm/arm.h (UNITS_PER_SIMD_WORD): Updated.
|
18654 |
|
|
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
|
18655 |
|
|
* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
|
18656 |
|
|
* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
|
18657 |
|
|
* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
|
18658 |
|
|
|
18659 |
|
|
2008-05-22 Ira Rosen
|
18660 |
|
|
|
18661 |
|
|
PR tree-optimization/36293
|
18662 |
|
|
* tree-vect-transform.c (vect_transform_strided_load): Don't check
|
18663 |
|
|
if the first load must be skipped because of a gap.
|
18664 |
|
|
|
18665 |
|
|
2008-05-22 Richard Guenther
|
18666 |
|
|
|
18667 |
|
|
* tree-dfa.c (refs_may_alias_p): Exit early if possible. Handle
|
18668 |
|
|
more cases of offset disambiguation that is possible if
|
18669 |
|
|
strict-aliasing rules apply.
|
18670 |
|
|
* tree-ssa-loop-im.c (mem_refs_may_alias_p): Use refs_may_alias_p
|
18671 |
|
|
for basic offset and type-based disambiguation.
|
18672 |
|
|
|
18673 |
|
|
2008-05-21 H.J. Lu
|
18674 |
|
|
|
18675 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_one_var): Use
|
18676 |
|
|
ix86_expand_vector_set on V16QImode for SSE4.1.
|
18677 |
|
|
|
18678 |
|
|
2008-05-21 Tom Tromey
|
18679 |
|
|
|
18680 |
|
|
* c.opt (Wimport): Mark as undocumented.
|
18681 |
|
|
* doc/invoke.texi (Option Summary): Don't mention -Wimport or
|
18682 |
|
|
-Wno-import.
|
18683 |
|
|
(Warning Options): Likewise.
|
18684 |
|
|
* doc/cppopts.texi: Don't mention -Wimport.
|
18685 |
|
|
|
18686 |
|
|
2008-05-21 Sebastian Pop
|
18687 |
|
|
|
18688 |
|
|
PR tree-optimization/36287
|
18689 |
|
|
PR tree-optimization/36286
|
18690 |
|
|
* lambda-code.c (build_access_matrix): Do not use the loop->num
|
18691 |
|
|
for computing the number of induction variables: use the loop depth
|
18692 |
|
|
instead.
|
18693 |
|
|
|
18694 |
|
|
2008-05-21 Kai Tietz
|
18695 |
|
|
|
18696 |
|
|
PR/36280
|
18697 |
|
|
* config/i386/cygming.h (ASM_OUTPUT_LABELREF): Honor
|
18698 |
|
|
option -f(no-)leading-underscore.
|
18699 |
|
|
|
18700 |
|
|
2008-05-21 H.J. Lu
|
18701 |
|
|
|
18702 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_general): Use
|
18703 |
|
|
GET_MODE_NUNITS (mode).
|
18704 |
|
|
|
18705 |
|
|
2008-05-21 Peter Bergner
|
18706 |
|
|
|
18707 |
|
|
* doc/invoke.texi: Add cpu_type's 464 and 464fp.
|
18708 |
|
|
(-mmulhw): Add 464 to description.
|
18709 |
|
|
(-mdlmzb): Likewise.
|
18710 |
|
|
* config.gcc: Handle --with-cpu=464 and --with-cpu=464fp.
|
18711 |
|
|
* config/rs6000/rs6000.c (processor_target_table): Add 464 and
|
18712 |
|
|
464fp entries.
|
18713 |
|
|
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 464 and 464fp support.
|
18714 |
|
|
* config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include -mcpu=464.
|
18715 |
|
|
* config/rs6000/rs6000.md: Update comments for 464.
|
18716 |
|
|
|
18717 |
|
|
2008-05-21 Janis Johnson
|
18718 |
|
|
|
18719 |
|
|
* doc/sourcebuild.texi (Test Directives): Add dg-xfail-run-if.
|
18720 |
|
|
|
18721 |
|
|
2008-05-21 H.J. Lu
|
18722 |
|
|
|
18723 |
|
|
* config/i386/sse.md (vec_extractv4sf): Removed.
|
18724 |
|
|
(vec_extractv2df): Likewise.
|
18725 |
|
|
(vec_extractv2di): Likewise.
|
18726 |
|
|
(vec_extractv4si): Likewise.
|
18727 |
|
|
(vec_extractv8hi): Likewise.
|
18728 |
|
|
(vec_extractv16qi): Likewise.
|
18729 |
|
|
(vec_extract): New.
|
18730 |
|
|
|
18731 |
|
|
2008-05-21 H.J. Lu
|
18732 |
|
|
|
18733 |
|
|
* config/i386/sse.md (vec_setv4sf): Removed.
|
18734 |
|
|
(vec_setv2df): Likewise.
|
18735 |
|
|
(vec_setv2di): Likewise.
|
18736 |
|
|
(vec_setv4si): Likewise.
|
18737 |
|
|
(vec_setv8hi): Likewise.
|
18738 |
|
|
(vec_setv16qi): Likewise.
|
18739 |
|
|
(vec_set): New.
|
18740 |
|
|
|
18741 |
|
|
2008-05-21 H.J. Lu
|
18742 |
|
|
|
18743 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_general): Remove
|
18744 |
|
|
goto for vec_concat and vec_interleave.
|
18745 |
|
|
|
18746 |
|
|
2008-05-21 H.J. Lu
|
18747 |
|
|
|
18748 |
|
|
* config/i386/sse.md (vec_initv4sf): Removed.
|
18749 |
|
|
(vec_initv2df): Likewise.
|
18750 |
|
|
(vec_initv2di): Likewise.
|
18751 |
|
|
(vec_initv4si): Likewise.
|
18752 |
|
|
(vec_initv8hi): Likewise.
|
18753 |
|
|
(vec_initv16qi): Likewise.
|
18754 |
|
|
(vec_init): New.
|
18755 |
|
|
|
18756 |
|
|
2008-05-21 Joseph Myers
|
18757 |
|
|
|
18758 |
|
|
* collect2.c (find_a_file): Use IS_ABSOLUTE_PATH.
|
18759 |
|
|
|
18760 |
|
|
2008-05-21 Tom Tromey
|
18761 |
|
|
|
18762 |
|
|
* ggc-zone.c (lookup_page_table_if_allocated): New function.
|
18763 |
|
|
(zone_find_object_offset): Likewise.
|
18764 |
|
|
(gt_ggc_m_S): Likewise.
|
18765 |
|
|
(highest_bit): Likewise.
|
18766 |
|
|
* ggc-page.c (gt_ggc_m_S): New function.
|
18767 |
|
|
* stringpool.c (string_stack): Remove.
|
18768 |
|
|
(init_stringpool): Update.
|
18769 |
|
|
(ggc_alloc_string): Use ggc_alloc.
|
18770 |
|
|
(maybe_delete_ident): New function.
|
18771 |
|
|
(ggc_purge_stringpool): Likewise.
|
18772 |
|
|
(gt_ggc_m_S): Remove.
|
18773 |
|
|
* ggc-common.c (ggc_protect_identifiers): New global.
|
18774 |
|
|
(ggc_mark_roots): Call ggc_purge_stringpool. Use
|
18775 |
|
|
ggc_protect_identifiers.
|
18776 |
|
|
* ggc.h (ggc_protect_identifiers): Declare.
|
18777 |
|
|
(gt_ggc_m_S): Update.
|
18778 |
|
|
(ggc_purge_stringpool): Declare.
|
18779 |
|
|
* toplev.c (compile_file): Set and reset ggc_protect_identifiers.
|
18780 |
|
|
* gengtype.c (write_types_process_field) : Remove
|
18781 |
|
|
special case.
|
18782 |
|
|
(write_root): Cast gt_ggc_m_S to gt_pointer_walker.
|
18783 |
|
|
|
18784 |
|
|
2008-05-21 David S. Miller
|
18785 |
|
|
|
18786 |
|
|
* config.gcc (sparc-*-linux*): Always include sparc/t-linux in
|
18787 |
|
|
tmake_file.
|
18788 |
|
|
|
18789 |
|
|
2008-05-21 Eric Botcazou
|
18790 |
|
|
|
18791 |
|
|
* cfgexpand.c (tree_expand_cfg): Zap the EH throw statement table
|
18792 |
|
|
once finished.
|
18793 |
|
|
|
18794 |
|
|
2008-05-20 David Daney
|
18795 |
|
|
|
18796 |
|
|
* config/mips/mips.md (UNSPEC_SYNC_NEW_OP_12,
|
18797 |
|
|
UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE_12): New define_constants.
|
18798 |
|
|
(UNSPEC_SYNC_EXCHANGE, UNSPEC_MEMORY_BARRIER, UNSPEC_SET_GOT_VERSION,
|
18799 |
|
|
UNSPEC_UPDATE_GOT_VERSION): Renumber.
|
18800 |
|
|
(optab, insn): Add 'plus' and 'minus' to define_code_attr.
|
18801 |
|
|
(atomic_hiqi_op): New define_code_iterator.
|
18802 |
|
|
(sync_compare_and_swap): Call mips_expand_atomic_qihi instead of
|
18803 |
|
|
mips_expand_compare_and_swap_12.
|
18804 |
|
|
(compare_and_swap_12): Use MIPS_COMPARE_AND_SWAP_12 instead of
|
18805 |
|
|
MIPS_COMPARE_AND_SWAP_12_0. Pass argument to MIPS_COMPARE_AND_SWAP_12.
|
18806 |
|
|
(sync_, sync_old_,
|
18807 |
|
|
sync_new_, sync_nand, sync_old_nand,
|
18808 |
|
|
sync_new_nand): New define_expands for HI and QI mode operands.
|
18809 |
|
|
(sync__12, sync_old__12, sync_new__12,
|
18810 |
|
|
sync_nand_12, sync_old_nand_12, sync_new_nand_12): New insns.
|
18811 |
|
|
(sync_lock_test_and_set): New define_expand for HI and QI modes.
|
18812 |
|
|
(test_and_set_12): New insn.
|
18813 |
|
|
(sync_old_add, sync_new_add, sync_old_,
|
18814 |
|
|
sync_new_, sync_old_nand,
|
18815 |
|
|
sync_new_nand, sync_lock_test_and_set): Add early
|
18816 |
|
|
clobber to operand 0 for SI and DI mode insns.
|
18817 |
|
|
* config/mips/mips-protos.h (mips_gen_fn_6, mips_gen_fn_5,
|
18818 |
|
|
mips_gen_fn_4): New typedefs.
|
18819 |
|
|
(mips_gen_fn_ptrs): Define new union type.
|
18820 |
|
|
(mips_expand_compare_and_swap_12): Remove declaration.
|
18821 |
|
|
(mips_expand_atomic_qihi): Declare function.
|
18822 |
|
|
* config/mips/mips.c (mips_expand_compare_and_swap_12): Rename to...
|
18823 |
|
|
(mips_expand_atomic_qihi): ... this. Use new generator function
|
18824 |
|
|
parameter.
|
18825 |
|
|
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): Add OPS parameter.
|
18826 |
|
|
(MIPS_COMPARE_AND_SWAP_12_0): Delete macro.
|
18827 |
|
|
(MIPS_COMPARE_AND_SWAP_12_ZERO_OP, MIPS_COMPARE_AND_SWAP_12_NONZERO_OP,
|
18828 |
|
|
MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
|
18829 |
|
|
MIPS_SYNC_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12,
|
18830 |
|
|
MIPS_SYNC_OLD_OP_12_NOT_NOP, MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
|
18831 |
|
|
MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12_NOT_NOT_REG,
|
18832 |
|
|
MIPS_SYNC_NEW_OP_12, MIPS_SYNC_NEW_OP_12_NOT_NOP,
|
18833 |
|
|
MIPS_SYNC_NEW_OP_12_NOT_NOT, MIPS_SYNC_EXCHANGE_12,
|
18834 |
|
|
MIPS_SYNC_EXCHANGE_12_ZERO_OP, MIPS_SYNC_EXCHANGE_12_NONZERO_OP):
|
18835 |
|
|
New macros.
|
18836 |
|
|
|
18837 |
|
|
2008-05-20 H.J. Lu
|
18838 |
|
|
|
18839 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Add
|
18840 |
|
|
the missing break.
|
18841 |
|
|
|
18842 |
|
|
2008-05-20 Anatoly Sokolov
|
18843 |
|
|
|
18844 |
|
|
* config/avr/avr.h (machine_function): Add 'is_OS_main' field.
|
18845 |
|
|
* config/avr/avr.c (avr_OS_main_function_p): Add new function.
|
18846 |
|
|
(avr_attribute_table): Add 'OS_main' function attribute.
|
18847 |
|
|
(avr_regs_to_save, expand_prologue, expand_epilogue): Handle
|
18848 |
|
|
functions with 'OS_main' attribute.
|
18849 |
|
|
|
18850 |
|
|
2008-05-20 Richard Guenther
|
18851 |
|
|
|
18852 |
|
|
PR tree-optimization/35204
|
18853 |
|
|
* tree-ssa-sccvn.c (extract_and_process_scc_for_name): New
|
18854 |
|
|
helper, split out from ...
|
18855 |
|
|
(DFS): ... here. Make the DFS walk non-recursive.
|
18856 |
|
|
|
18857 |
|
|
2008-05-20 Sebastian Pop
|
18858 |
|
|
Jan Sjodin
|
18859 |
|
|
|
18860 |
|
|
PR tree-optimization/36181
|
18861 |
|
|
* tree-parloops.c (loop_has_vector_phi_nodes): New.
|
18862 |
|
|
(parallelize_loops): Don't parallelize when the loop has vector
|
18863 |
|
|
phi nodes.
|
18864 |
|
|
|
18865 |
|
|
2008-05-20 Jan Sjodin
|
18866 |
|
|
Sebastian Pop
|
18867 |
|
|
|
18868 |
|
|
* tree-loop-linear.c (gather_interchange_stats): Look in the access
|
18869 |
|
|
matrix, and never look at the tree representation of the memory
|
18870 |
|
|
accesses.
|
18871 |
|
|
(linear_transform_loops): Computes parameters and access matrices.
|
18872 |
|
|
* tree-data-ref.c (compute_data_dependences_for_loop): Returns false
|
18873 |
|
|
when fails.
|
18874 |
|
|
(access_matrix_get_index_for_parameter): New.
|
18875 |
|
|
* tree-data-ref.h (struct access_matrix): New.
|
18876 |
|
|
(AM_LOOP_NEST_NUM, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
|
18877 |
|
|
AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
|
18878 |
|
|
AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT,
|
18879 |
|
|
am_vector_index_for_loop): New.
|
18880 |
|
|
(struct data_reference): Add field access_matrix.
|
18881 |
|
|
(DR_ACCESS_MATRIX): New.
|
18882 |
|
|
(compute_data_dependences_for_loop): Update declaration.
|
18883 |
|
|
(lambda_collect_parameters, lambda_compute_access_matrices): Declared.
|
18884 |
|
|
* lambda.h (lambda_vector_vec_p): Declared.
|
18885 |
|
|
* lambda-code.c: Depend on pointer-set.h.
|
18886 |
|
|
(lambda_collect_parameters_from_af, lambda_collect_parameters,
|
18887 |
|
|
av_for_af_base, av_for_af, build_access_matrix,
|
18888 |
|
|
lambda_compute_access_matrices): New.
|
18889 |
|
|
* Makefile.in (lambda-code.o): Depend on pointer-set.h.
|
18890 |
|
|
|
18891 |
|
|
2008-05-20 Joseph Myers
|
18892 |
|
|
|
18893 |
|
|
* doc/install.texi2html: Generate gcc-vers.texi in $DESTDIR not
|
18894 |
|
|
$SOURCEDIR/include.
|
18895 |
|
|
|
18896 |
|
|
2008-05-20 Jan Sjodin
|
18897 |
|
|
Sebastian Pop
|
18898 |
|
|
|
18899 |
|
|
PR tree-optimization/36206
|
18900 |
|
|
* tree-scalar-evolution.c: Remove enum INSERT_SUPERLOOP_CHRECS,
|
18901 |
|
|
FOLD_CONVERSIONS.
|
18902 |
|
|
(instantiate_scev_1): Rename flags to fold_conversions.
|
18903 |
|
|
Do not check for INSERT_SUPERLOOP_CHRECS, keep SSA_NAMEs defined
|
18904 |
|
|
outeside instantiation_loop.
|
18905 |
|
|
* tree-chrec.h (evolution_function_is_affine_in_loop): New.
|
18906 |
|
|
(evolution_function_is_affine_or_constant_p): Removed.
|
18907 |
|
|
* tree-data-ref.c (dr_analyze_indices): Replace resolve_mixers with
|
18908 |
|
|
instantiate_scev.
|
18909 |
|
|
(analyze_siv_subscript): Pass in the loop nest number.
|
18910 |
|
|
Call evolution_function_is_affine_in_loop instead of
|
18911 |
|
|
evolution_function_is_affine_p.
|
18912 |
|
|
(analyze_overlapping_iterations): Pass in the loop nest number.
|
18913 |
|
|
|
18914 |
|
|
2008-05-20 Jan Sjodin
|
18915 |
|
|
Sebastian Pop
|
18916 |
|
|
|
18917 |
|
|
PR tree-optimization/36206
|
18918 |
|
|
* tree-chrec.h (chrec_fold_op): New.
|
18919 |
|
|
* tree-data-ref.c (initialize_matrix_A): Traverse NOP_EXPR, PLUS_EXPR,
|
18920 |
|
|
and other trees.
|
18921 |
|
|
|
18922 |
|
|
2008-05-20 Nathan Sidwell
|
18923 |
|
|
|
18924 |
|
|
* c-incpath.c (INO_T_EQ): Do not define on non-inode systems.
|
18925 |
|
|
(DIRS_EQ): New.
|
18926 |
|
|
(remove_duplicates): Do not set inode on non-inode systems.
|
18927 |
|
|
Use DIRS_EQ.
|
18928 |
|
|
|
18929 |
|
|
2008-05-20 Sandra Loosemore
|
18930 |
|
|
|
18931 |
|
|
* config.gcc (tm_file): Update comments about relative pathnames.
|
18932 |
|
|
|
18933 |
|
|
2008-05-20 Richard Guenther
|
18934 |
|
|
|
18935 |
|
|
* tree-ssa-reassoc.c (fini_reassoc): Use the statistics infrastructure.
|
18936 |
|
|
* tree-ssa-sccvn.c (process_scc): Likewise.
|
18937 |
|
|
* tree-ssa-sink.c (execute_sink_code): Likewise.
|
18938 |
|
|
* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
|
18939 |
|
|
* tree-vrp.c (process_assert_insertions): Likewise.
|
18940 |
|
|
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
|
18941 |
|
|
(perform_tree_ssa_dce): Likewise.
|
18942 |
|
|
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
|
18943 |
|
|
(dump_dominator_optimization_stats): Likewise.
|
18944 |
|
|
* tree-vectorizer.c (vectorize_loops): Likewise.
|
18945 |
|
|
|
18946 |
|
|
2008-05-20 Richard Guenther
|
18947 |
|
|
|
18948 |
|
|
* tree-vn.c (vn_lookup_with_vuses): Do not use the alias oracle.
|
18949 |
|
|
|
18950 |
|
|
2008-05-20 Kai Tietz
|
18951 |
|
|
|
18952 |
|
|
* config/i386/i386-protos.h (ix86_return_in_memory): Removed.
|
18953 |
|
|
(ix86_i386elf_return_in_memory): Likewise.
|
18954 |
|
|
(ix86_i386interix_return_in_memory): Likewise.
|
18955 |
|
|
* config/i386/i386-interix.h (TARGET_RETURN_IN_MEMORY): Removed.
|
18956 |
|
|
(SUBTARGET_RETURN_IN_MEMORY): New.
|
18957 |
|
|
* config/i386/i386elf.h: Likewise.
|
18958 |
|
|
* config/i386/ptx4-i.h: Likewise.
|
18959 |
|
|
* config/i386/sol2-10.h: Likewise.
|
18960 |
|
|
* config/i386/sysv4.h: Likewise.
|
18961 |
|
|
* config/i386/vx-common.h: Likewise.
|
18962 |
|
|
* config/i386/i386.h (TARGET_RETURN_IN_MEMORY): Removed.
|
18963 |
|
|
* config/i386/i386.c (ix86_return_in_memory): Made static and
|
18964 |
|
|
make use of optional SUBTARGET_RETURN_IN_MEMORY macro.
|
18965 |
|
|
(ix86_i386elf_return_in_memory): Removed.
|
18966 |
|
|
(ix86_i386interix_return_in_memory): Removed.
|
18967 |
|
|
(TARGET_RETURN_IN_MEMORY): Declared within i386.c only.
|
18968 |
|
|
* target-def.h (TARGET_RETURN_IN_MEMORY): Remove protection #ifdef.
|
18969 |
|
|
|
18970 |
|
|
2008-05-20 Alexandre Oliva
|
18971 |
|
|
|
18972 |
|
|
* cselib.c (cselib_record_sets): Use correct mode for IF_THEN_ELSE.
|
18973 |
|
|
|
18974 |
|
|
2008-05-19 Xinliang David Li
|
18975 |
|
|
|
18976 |
|
|
* tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18.
|
18977 |
|
|
* opts.c: Ditto.
|
18978 |
|
|
* common.opt: Ditto.
|
18979 |
|
|
* doc/invoke.texi: Ditto.
|
18980 |
|
|
|
18981 |
|
|
2008-05-19 Eric Botcazou
|
18982 |
|
|
|
18983 |
|
|
* tree.c (substitute_in_expr) : Fix thinko.
|
18984 |
|
|
(substitute_placeholder_in_expr) : Minor tweak.
|
18985 |
|
|
|
18986 |
|
|
2008-05-19 H.J. Lu
|
18987 |
|
|
|
18988 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_concat): Change
|
18989 |
|
|
sizes of operand array from 8/4 to 4/2.
|
18990 |
|
|
(ix86_expand_vector_init_general): Change size of operand array
|
18991 |
|
|
from 32 to 16. Remove op0, op1 and half_mode.
|
18992 |
|
|
|
18993 |
|
|
2008-05-19 H.J. Lu
|
18994 |
|
|
|
18995 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_concat): New.
|
18996 |
|
|
(ix86_expand_vector_init_interleave): Likewise.
|
18997 |
|
|
(ix86_expand_vector_init_general): Use them. Assert
|
18998 |
|
|
word_mode == SImode when n_words == 4.
|
18999 |
|
|
|
19000 |
|
|
2008-05-19 Uros Bizjak
|
19001 |
|
|
|
19002 |
|
|
* config/i386/i386.c (ix86_secondary_reload): New static function.
|
19003 |
|
|
(TARGET_SECONDARY_RELOAD): New define.
|
19004 |
|
|
* config/i386/i386.h (SECONDARY_OUTPUT_RELOAD_CLASS): Remove.
|
19005 |
|
|
* config/i386/i386.md (reload_outqi): Remove.
|
19006 |
|
|
|
19007 |
|
|
2008-05-18 Kaveh R. Ghazi
|
19008 |
|
|
|
19009 |
|
|
PR middle-end/35509
|
19010 |
|
|
* builtins.c (mathfn_built_in_1): Renamed from mathfn_built_in.
|
19011 |
|
|
Add `implicit' parameter. Handle BUILT_IN_SIGNBIT.
|
19012 |
|
|
(mathfn_built_in): Rewrite in terms of mathfn_built_in_1.
|
19013 |
|
|
(fold_builtin_classify): Handle BUILT_IN_ISINF_SIGN.
|
19014 |
|
|
(fold_builtin_1): Likewise.
|
19015 |
|
|
* builtins.def (BUILT_IN_ISINF_SIGN): New.
|
19016 |
|
|
c-common.c (check_builtin_function_arguments): Handle
|
19017 |
|
|
BUILT_IN_ISINF_SIGN.
|
19018 |
|
|
* doc/extend.texi: Document __builtin_isinf_sign.
|
19019 |
|
|
* fold-const.c (operand_equal_p): Handle COND_EXPR.
|
19020 |
|
|
|
19021 |
|
|
2008-05-18 Eric Botcazou
|
19022 |
|
|
|
19023 |
|
|
* tree-ssa-dom.c (tree_ssa_dominator_optimize): If some blocks need
|
19024 |
|
|
EH cleanup at the end of the pass, search for those that have been
|
19025 |
|
|
turned into forwarder blocks and do the cleanup on their successor.
|
19026 |
|
|
|
19027 |
|
|
2008-05-18 Richard Guenther
|
19028 |
|
|
|
19029 |
|
|
* tree-cfg.c (verify_gimple_expr): Allow conversions from
|
19030 |
|
|
pointers to sizetype and vice versa.
|
19031 |
|
|
|
19032 |
|
|
2008-05-18 Xinliang David Li
|
19033 |
|
|
|
19034 |
|
|
* gcc/tree-ssa-dce.c: Coding style fix.
|
19035 |
|
|
(check_pow): Documentation comment.
|
19036 |
|
|
(check_log): Documenation comment. Coding style fix.
|
19037 |
|
|
(is_unnecessary_except_errno_call): Ditto.
|
19038 |
|
|
(gen_conditions_for_pow): Ditto.
|
19039 |
|
|
(gen_conditions_for_log): Ditto.
|
19040 |
|
|
(gen_shrink_wrap_conditions): Ditto.
|
19041 |
|
|
(shrink_wrap_one_built_in_calls): Ditto.
|
19042 |
|
|
* gcc/doc/invoke.texi: Better documentation string.
|
19043 |
|
|
* ChangeLog: Fix wrong change log entries from
|
19044 |
|
|
May 17 checkin on function call DCE.
|
19045 |
|
|
|
19046 |
|
|
2008-05-17 Kaz Kojima
|
19047 |
|
|
|
19048 |
|
|
* config/sh/sh.c (sh_output_mi_thunk): Update the use of init_flow.
|
19049 |
|
|
|
19050 |
|
|
2008-05-17 Kenneth Zadeck
|
19051 |
|
|
|
19052 |
|
|
* doc/rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P): Fixed typos.
|
19053 |
|
|
* df-problems.c (simulation routines): Fixed block comment to
|
19054 |
|
|
properly say how to add forwards scanning functions.
|
19055 |
|
|
|
19056 |
|
|
2008-05-17 Eric Botcazou
|
19057 |
|
|
|
19058 |
|
|
* tree-inline.c (setup_one_parameter): Remove dead code.
|
19059 |
|
|
|
19060 |
|
|
2008-05-17 Eric Botcazou
|
19061 |
|
|
|
19062 |
|
|
* fold-const.c (fold_unary) : Fold the cast into
|
19063 |
|
|
a BIT_AND_EXPR only for an INTEGER_TYPE.
|
19064 |
|
|
|
19065 |
|
|
2008-05-17 Xinliang David Li
|
19066 |
|
|
|
19067 |
|
|
* gcc/tree-ssa-dce.c (cond_dead_built_in_calls): New static variable.
|
19068 |
|
|
(check_pow, check_log, is_unnecessary_except_errno_call): New
|
19069 |
|
|
functions to check for eliminating math functions that are pure
|
19070 |
|
|
except for setting errno.
|
19071 |
|
|
(gen_conditions_for_pow, gen_conditionas_for_log): New functions to
|
19072 |
|
|
general condition expressions for shrink-wrapping pow/log calls.
|
19073 |
|
|
(gen_shrink_wrap_conditions): Ditto.
|
19074 |
|
|
(shrink_wrap_one_built_in_call): Ditto.
|
19075 |
|
|
(shrink_wrap_conditional_dead_built_in_calls): Ditto.
|
19076 |
|
|
(mark_operand_necessary): If debugging, output if OP is necessary.
|
19077 |
|
|
(eliminate_unnecessary_stmts): Eliminate pow, log calls that are
|
19078 |
|
|
unnecessary.
|
19079 |
|
|
* gcc/opts.c (decode_options): set flag_tree_builtin_dce to 1 when
|
19080 |
|
|
opt level >= 2.
|
19081 |
|
|
* gcc/common.opt: New user flag -ftree-builtin-dce.
|
19082 |
|
|
* gcc/doc/invoke.texi (-ftree-builtin-dce): New option.
|
19083 |
|
|
|
19084 |
|
|
2008-05-16 David S. Miller
|
19085 |
|
|
|
19086 |
|
|
* config/sparc/linux.h (NO_PROFILE_COUNTERS): Undef before overriding.
|
19087 |
|
|
* config/sparc/linux64.h (NO_PROFILE_COUNTERS): Likewise.
|
19088 |
|
|
|
19089 |
|
|
2008-05-16 Uros Bizjak
|
19090 |
|
|
|
19091 |
|
|
PR target/36246
|
19092 |
|
|
* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): New define.
|
19093 |
|
|
|
19094 |
|
|
2008-05-16 Kenneth Zadeck
|
19095 |
|
|
|
19096 |
|
|
* ifcvt.c (dead_or_predicable): Rename
|
19097 |
|
|
df_simulate_one_insn_backwards to df_simulate_one_insn.
|
19098 |
|
|
* recog.c (peephole2_optimize): Ditto.
|
19099 |
|
|
* rtl-factoring.c (collect_pattern_seqs, clear_regs_live_in_seq):
|
19100 |
|
|
Ditto.
|
19101 |
|
|
* df.h: Rename df_simulate_one_insn_backwards to
|
19102 |
|
|
df_simulate_one_insn. and delete df_simulate_one_insn_forwards.
|
19103 |
|
|
* df-problems.c (df_simulate_artificial_refs_at_top) Reversed
|
19104 |
|
|
scanning of defs and uses.
|
19105 |
|
|
(df_simulate_one_insn_backwards): Renamed to df_simulate_one_insn.
|
19106 |
|
|
(df_simulate_one_insn_forwards): Removed.
|
19107 |
|
|
|
19108 |
|
|
2008-05-16 Doug Kwan
|
19109 |
|
|
|
19110 |
|
|
* real.c (real_to_decimal, real_to_hexadecimal): Distinguish
|
19111 |
|
|
QNaN & SNaN.
|
19112 |
|
|
(real_from_string): Handle NaNs and Inf as approriate.
|
19113 |
|
|
|
19114 |
|
|
2008-05-16 Nathan Froyd
|
19115 |
|
|
|
19116 |
|
|
* doc/gty.texi (Source Files Containing Type Information): Note
|
19117 |
|
|
that headers should appear first in the gtfiles list.
|
19118 |
|
|
|
19119 |
|
|
2008-05-16 Kenneth Zadeck
|
19120 |
|
|
|
19121 |
|
|
* tree.def (COND_EXEC): Properly documented this code.
|
19122 |
|
|
|
19123 |
|
|
2008-05-16 Diego Novillo
|
19124 |
|
|
|
19125 |
|
|
* dwarf2asm.c (dw2_assemble_integer): Clarify comment.
|
19126 |
|
|
* tree-nested.c (get_trampoline_type): Set DECL_CONTEXT for
|
19127 |
|
|
the new field.
|
19128 |
|
|
|
19129 |
|
|
2008-05-16 Kenneth Zadeck
|
19130 |
|
|
|
19131 |
|
|
* tree-ssa-dse (max_stmt_uid): Removed.
|
19132 |
|
|
(get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt,
|
19133 |
|
|
tree_ssa_dse): Encapsulate all uses of stmt_ann->uid.
|
19134 |
|
|
* tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto.
|
19135 |
|
|
* function.h (cfun.last_stmt_uid): New field.
|
19136 |
|
|
* tree-flow-inline.h (set_gimple_stmt_uid, gimple_stmt_uid,
|
19137 |
|
|
gimple_stmt_max_uid, set_gimple_stmt_max_uid, inc_gimple_stmt_max_uid):
|
19138 |
|
|
New functions.
|
19139 |
|
|
* tree-dfa.c (renumber_gimple_stmt_uids): New function.
|
19140 |
|
|
(create_stmt_ann): Initialize the ann->uid field.
|
19141 |
|
|
* tree-ssa-pre.c (compute_avail): Encapsulate the stmt_ann->uid
|
19142 |
|
|
with new calls.
|
19143 |
|
|
* tree-flow.h (renumber_gimple_stmt_uids): New function.
|
19144 |
|
|
|
19145 |
|
|
2008-05-16 Nathan Froyd
|
19146 |
|
|
|
19147 |
|
|
* tree-flow.h (init_empty_tree_cfg_for_function): Declare.
|
19148 |
|
|
* tree-cfg.c (init_empty_tree_cfg_for_function): Define.
|
19149 |
|
|
(init_empty_tree_cfg): Call it.
|
19150 |
|
|
|
19151 |
|
|
2008-05-16 Kenneth Zadeck
|
19152 |
|
|
|
19153 |
|
|
* cfg.c (init_flow): Add argument THE_FUN. Use it instead of cfun.
|
19154 |
|
|
Update all users.
|
19155 |
|
|
|
19156 |
|
|
2008-05-16 Kenneth Zadeck
|
19157 |
|
|
|
19158 |
|
|
* doc/invoke.text (-fdump-tree-*-verbose): New option.
|
19159 |
|
|
* tree-dump.c (dump_options): New verbose option.
|
19160 |
|
|
* tree-pretty-print.c (dump_phi_nodes, dump_generic_bb_buff):
|
19161 |
|
|
Add verbose dump.
|
19162 |
|
|
* tree-pass.h (TDF_VERBOSE): New dump flag.
|
19163 |
|
|
* print-tree.c (print_node): Added code to be able to print PHI_NODES.
|
19164 |
|
|
(tree-flow.h): Added include.
|
19165 |
|
|
* Makefile.in (print-tree.o): Added TREE_FLOW_H.
|
19166 |
|
|
|
19167 |
|
|
2008-05-16 Bernd Schmidt
|
19168 |
|
|
|
19169 |
|
|
* config/bfin/bfin.c (bfin_discover_loops): Delete empty loops.
|
19170 |
|
|
|
19171 |
|
|
From Jie Zhang
|
19172 |
|
|
* config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
19173 |
|
|
MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Remove mcpu=bf532-0.3,
|
19174 |
|
|
mcpu=bf561-none and mcpu=bf561-0.2.
|
19175 |
|
|
* config/bfin/t-bfin-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
19176 |
|
|
MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Likewise.
|
19177 |
|
|
* config/bfin/t-bfin-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
19178 |
|
|
MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Likewise.
|
19179 |
|
|
* config/bfin/bfin-protos.h (enum bfin_cpu_type): Add BFIN_CPU_UNKNOWN.
|
19180 |
|
|
* config/bfin/elf.h (STARTFILE_SPEC): Use specific CRT for BF561.
|
19181 |
|
|
(LIB_SPEC): Use proper linker script for bf561. Error if no mcpu
|
19182 |
|
|
option.
|
19183 |
|
|
* config/bfin/bfin.c (bfin_cpu_type): Set to BFIN_CPU_UNKNOWN.
|
19184 |
|
|
(cputype_selected): Remove.
|
19185 |
|
|
(bfin_handle_option): Don't use cputype_selected.
|
19186 |
|
|
(override_options): When no mcpu option, enable all workarounds.
|
19187 |
|
|
Don't use bfin_workarounds.
|
19188 |
|
|
* config/bfin/bfin.h (DRIVER_SELF_SPECS): Don't set default
|
19189 |
|
|
processor type.
|
19190 |
|
|
(DEFAULT_CPU_TYPE): Don't define.
|
19191 |
|
|
|
19192 |
|
|
2008-05-16 Richard Guenther
|
19193 |
|
|
|
19194 |
|
|
* tree-ssa-propagate.c (substitute_and_fold): Fix stmt walking
|
19195 |
|
|
on deletion of the last stmt.
|
19196 |
|
|
|
19197 |
|
|
2008-05-15 H.J. Lu
|
19198 |
|
|
|
19199 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_general): Optimize
|
19200 |
|
|
V8HImode for SSE2 and V16QImode for SSE4.1.
|
19201 |
|
|
|
19202 |
|
|
2008-05-15 Kenneth Zadeck
|
19203 |
|
|
|
19204 |
|
|
* cgraph.h (compute_inline_parameters): Made public.
|
19205 |
|
|
* tree-pass.h (ipa_opt_pass): Removed function_generate_summary,
|
19206 |
|
|
variable_generate_summary, function_write_summary,
|
19207 |
|
|
variable_write_summary, variable_read_summary. Added generate_summary,
|
19208 |
|
|
write_summary, read_summary.
|
19209 |
|
|
* cgraphunit.c (cgraph_process_new_functions): Changed call from
|
19210 |
|
|
pass_ipa_inline.function_generate_summary, to
|
19211 |
|
|
compute_inline_parameters.
|
19212 |
|
|
* ipa-inline.c (compute_inline_parameters): Made public and added
|
19213 |
|
|
node parameter.
|
19214 |
|
|
(compute_inline_parameters_for_current): New function.
|
19215 |
|
|
(pass_inline_param): Now calls compute_inline_parameters_for_current.
|
19216 |
|
|
(inline_generate_summary): Removed parameter and made to loop over
|
19217 |
|
|
all cgraph nodes.
|
19218 |
|
|
(pass_ipa_inline): Updated for new IPA_PASS structure.
|
19219 |
|
|
* passes.c (execute_ipa_summary_passes): Now is called once per
|
19220 |
|
|
pass rather than once per node*pass.
|
19221 |
|
|
|
19222 |
|
|
2008-05-15 Anatoly Sokolov
|
19223 |
|
|
|
19224 |
|
|
* config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p,
|
19225 |
|
|
avr_have_mul_p, avr_asm_only_p): Remove variables.
|
19226 |
|
|
(avr_override_options): Remove initialization of removed variables.
|
19227 |
|
|
(avr_file_start): Convert removed variables to fields of
|
19228 |
|
|
'struct base_arch_s *avr_current_arch'.
|
19229 |
|
|
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): (Ditto.).
|
19230 |
|
|
(AVR_HAVE_MUL): (Ditto.).
|
19231 |
|
|
(AVR_HAVE_MOVW): (Ditto.).
|
19232 |
|
|
(AVR_HAVE_LPMX): (Ditto.).
|
19233 |
|
|
(avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p,
|
19234 |
|
|
avr_asm_only_p): Remove declaration.
|
19235 |
|
|
|
19236 |
|
|
2008-05-15 Diego Novillo
|
19237 |
|
|
|
19238 |
|
|
* config/arm/arm.c (arm_return_in_memory): Fix return type.
|
19239 |
|
|
* config/arm/arm-protos.h (arm_return_in_memory): Likewise.
|
19240 |
|
|
|
19241 |
|
|
2008-05-15 Adam Nemet
|
19242 |
|
|
|
19243 |
|
|
PR middle-end/36194
|
19244 |
|
|
* combine.c (check_conversion): Rename back to check_promoted_subreg.
|
19245 |
|
|
Don't call record_truncated_value from here.
|
19246 |
|
|
(record_truncated_value): Turn it into a for_each_rtx callback.
|
19247 |
|
|
(record_truncated_values): New function.
|
19248 |
|
|
(combine_instructions): Call note_uses with record_truncated_values.
|
19249 |
|
|
Change name of check_conversion to check_promoted_subreg.
|
19250 |
|
|
|
19251 |
|
|
2008-05-15 Janis Johnson
|
19252 |
|
|
|
19253 |
|
|
* doc/sourcebuild.texi: Document support for torture tests.
|
19254 |
|
|
|
19255 |
|
|
2008-05-15 Uros Bizjak
|
19256 |
|
|
|
19257 |
|
|
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Add "m" constraint
|
19258 |
|
|
to alternative 4 of operand 2.
|
19259 |
|
|
|
19260 |
|
|
2008-05-15 Richard Guenther
|
19261 |
|
|
|
19262 |
|
|
* tree-pass.h (current_pass): Declare.
|
19263 |
|
|
(get_pass_for_id): Likewise.
|
19264 |
|
|
* passes.c (passes_by_id, passes_by_id_size): New globals.
|
19265 |
|
|
(set_pass_for_id): New function.
|
19266 |
|
|
(get_pass_for_id): Likewise.
|
19267 |
|
|
(register_one_dump_file): Use set_pass_for_id to populate passes_by_id.
|
19268 |
|
|
(execute_function_todo): Flush per function statistics.
|
19269 |
|
|
* toplev.c (compile_file): Init statistics.
|
19270 |
|
|
(general_init): Do early statistics initialization.
|
19271 |
|
|
(finalize): Finish statistics.
|
19272 |
|
|
* statistics.h (statistics_early_init): Declare.
|
19273 |
|
|
(statistics_init): Likewise.
|
19274 |
|
|
(statistics_fini): Likewise.
|
19275 |
|
|
(statistics_fini_pass): Likewise.
|
19276 |
|
|
(statistics_counter_event): Likewise.
|
19277 |
|
|
(statistics_histogram_event): Likewise.
|
19278 |
|
|
* statistics.c: New file.
|
19279 |
|
|
* Makefile.in (OBJS-common): Add statistics.o.
|
19280 |
|
|
(statistics.o): Add dependencies.
|
19281 |
|
|
* doc/invoke.texi (-fdump-statistics): Document.
|
19282 |
|
|
|
19283 |
|
|
* tree-ssa-pre.c (compute_antic): Use statistics_histogram_event.
|
19284 |
|
|
(insert): Likewise.
|
19285 |
|
|
(execute_pre): Use statistics_counter_event.
|
19286 |
|
|
* tree-ssa-propagate.c (struct prop_stats_d): Add num_dce field.
|
19287 |
|
|
(substitute_and_fold): Increment it. Use statistics_counter_event.
|
19288 |
|
|
|
19289 |
|
|
2008-05-15 Diego Novillo
|
19290 |
|
|
|
19291 |
|
|
http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00893.html
|
19292 |
|
|
|
19293 |
|
|
* treestruct.def (TS_STRUCT_FIELD_TAG): Remove.
|
19294 |
|
|
* tree-ssa-alias.c (new_type_alias): Remove references to
|
19295 |
|
|
sub-variables from comment.
|
19296 |
|
|
* tree-ssa-operands.c (swap_tree_operands): Likewise.
|
19297 |
|
|
|
19298 |
|
|
2008-05-15 H.J. Lu
|
19299 |
|
|
|
19300 |
|
|
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Set prefix_extra
|
19301 |
|
|
attribute to 1 only for insertps alternative.
|
19302 |
|
|
|
19303 |
|
|
2008-05-15 Bernd Schmidt
|
19304 |
|
|
|
19305 |
|
|
* config/bfin/bfin.md (loadbytes): New pattern.
|
19306 |
|
|
* config/bfin/bfin.c (enum bfin_builtins): Add BFIN_BUILTIN_LOADBYTES.
|
19307 |
|
|
(bfin_init_builtins): Initialize it.
|
19308 |
|
|
(bdesc_1arg): Add it.
|
19309 |
|
|
|
19310 |
|
|
2008-05-15 Sa Liu
|
19311 |
|
|
|
19312 |
|
|
* testsuite/gfortran.dg/c_kind_int128_test1.f03: New.
|
19313 |
|
|
* testsuite/gfortran.dg/c_kind_int128_test2.f03: New.
|
19314 |
|
|
* testsuite/lib/target-supports.exp: Add
|
19315 |
|
|
check_effective_target_fortran_integer_16.
|
19316 |
|
|
|
19317 |
|
|
2008-05-15 Bernd Schmidt
|
19318 |
|
|
|
19319 |
|
|
* config/bfin/bfin.h (TARGET_RETURN_IN_MEMORY): Don't define here.
|
19320 |
|
|
* config/bfin/bfin-protos.h (bfin_return_in_memory): Don't declare.
|
19321 |
|
|
* config/bfin/bfin.c (bfin_return_in_memory): Now static. Return bool.
|
19322 |
|
|
(TARGET_RETURN_IN_MEMORY): Define.
|
19323 |
|
|
|
19324 |
|
|
2008-05-15 Richard Guenther
|
19325 |
|
|
|
19326 |
|
|
PR middle-end/36244
|
19327 |
|
|
* tree-ssa-alias.c (new_type_alias): Do not set TREE_READONLY.
|
19328 |
|
|
* tree-flow-inline.h (unmodifiable_var_p): Memory tags never
|
19329 |
|
|
represent unmodifiable vars.
|
19330 |
|
|
|
19331 |
|
|
2008-05-15 Richard Guenther
|
19332 |
|
|
|
19333 |
|
|
* tree-dfa.c (refs_may_alias_p): Allow all kinds of
|
19334 |
|
|
INDIRECT_REF and TARGET_MEM_REF.
|
19335 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
|
19336 |
|
|
TARGET_MEM_REF.
|
19337 |
|
|
|
19338 |
|
|
2008-05-15 Uros Bizjak
|
19339 |
|
|
H.J. Lu
|
19340 |
|
|
|
19341 |
|
|
* config/i386/sse.md (*vec_concatv2sf_sse4_1): New insn pattern.
|
19342 |
|
|
(*vec_concatv2si_sse4_1): Use vector_move_operand predicate
|
19343 |
|
|
for operand 2. Remove pinsr{q,d} with 0x0 immediate operand from
|
19344 |
|
|
insn alternatives. Add missing alternatives.
|
19345 |
|
|
(*vec_concatv2di_rex64_sse4_1): Likewise.
|
19346 |
|
|
(*vec_concatv2si_sse2): Use "x" register constraint instead of "Y2".
|
19347 |
|
|
(*vec_concatv2di_rex64_sse): Rename from *vec_concatv2di_rex64.
|
19348 |
|
|
Require TARGET_SSE.
|
19349 |
|
|
|
19350 |
|
|
2008-05-15 Richard Guenther
|
19351 |
|
|
|
19352 |
|
|
PR tree-optimization/36009
|
19353 |
|
|
PR tree-optimization/36204
|
19354 |
|
|
* tree-ssa-loop-im.c (tree-ssa-propagate.h): Include.
|
19355 |
|
|
(determine_invariantness_stmt): Record the loop a store is
|
19356 |
|
|
always executed in.
|
19357 |
|
|
* Makefile.in (tree-ssa-loop-im.o): Add tree-ssa-propagate.h
|
19358 |
|
|
dependency.
|
19359 |
|
|
|
19360 |
|
|
2008-05-15 Richard Guenther
|
19361 |
|
|
|
19362 |
|
|
PR tree-optimization/34330
|
19363 |
|
|
* tree-ssa-alias.c (get_smt_for): Only assert that accesses
|
19364 |
|
|
through the pointer will alias the SMT.
|
19365 |
|
|
|
19366 |
|
|
2008-05-14 Andreas Tobler
|
19367 |
|
|
|
19368 |
|
|
* config/sparc/sparc.h (NO_PROFILE_COUNTERS): Define as 0.
|
19369 |
|
|
|
19370 |
|
|
2008-05-14 H.J. Lu
|
19371 |
|
|
|
19372 |
|
|
* config/i386/sse.md (*sse4_1_pinsrq): Make it 64bit only.
|
19373 |
|
|
|
19374 |
|
|
2008-05-14 Michael Meissner
|
19375 |
|
|
Dwarakanath Rajagopal
|
19376 |
|
|
|
19377 |
|
|
* optabs.h (optab_index): Add OTI_vashl, OTI_vlshr, OTI_vashr,
|
19378 |
|
|
OTI_vrotl, OTI_vrotr to support vector/vector shifts.
|
19379 |
|
|
(vashl_optab): New optab for vector/vector shifts.
|
19380 |
|
|
(vashr_optab): Ditto.
|
19381 |
|
|
(vlshr_optab): Ditto.
|
19382 |
|
|
(vrotl_optab): Ditto.
|
19383 |
|
|
(vrotr_optab): Ditto.
|
19384 |
|
|
(optab_subtype): New enum for optab_for_tree_code call.
|
19385 |
|
|
(optab_for_tree_code): Add enum optab_subtype argument.
|
19386 |
|
|
|
19387 |
|
|
* optabs.c (optab_for_tree_code): Take an additional argument to
|
19388 |
|
|
distinguish between a vector shift by a scalar and vector shift by
|
19389 |
|
|
a vector. Make lshr/ashr/ashl/rotl/rotr optabs just vector
|
19390 |
|
|
shifted by a scalar. Use vlshr/vashr/vashl/vrotl/vrotr for the
|
19391 |
|
|
vector shift by a vector.
|
19392 |
|
|
(expand_widen_pattern_expr): Pass additional argument to
|
19393 |
|
|
optab_for_tree_code.
|
19394 |
|
|
|
19395 |
|
|
* genopinit.c (optabs): Add vashr_optab, vashl_optab, vlshr_optab,
|
19396 |
|
|
vrotl_optab, vrotr_optab.
|
19397 |
|
|
|
19398 |
|
|
* expr.c (expand_expr_real_1): Update calls to
|
19399 |
|
|
optab_for_tree_code to distinguish between vector shifted by a
|
19400 |
|
|
scalar and vector shifted by a vector.
|
19401 |
|
|
* tree-vectorizer.c (supportable_widening_operation): Ditto.
|
19402 |
|
|
(supportable_narrowing_operation): Ditto.
|
19403 |
|
|
* tree-vect-analyze.c (vect_build_slp_tree): Ditto.
|
19404 |
|
|
* tree-vect-patterns.c (vect_pattern_recog_1): Ditto.
|
19405 |
|
|
* tree-vect-transform.c (vect_model_reduction_cost): Ditto.
|
19406 |
|
|
(vect_create_epilog_for_reduction): Ditto.
|
19407 |
|
|
(vectorizable_reduction): Ditto.
|
19408 |
|
|
(vectorizable_operation): Ditto.
|
19409 |
|
|
(vect_strided_store_supported): Ditto.
|
19410 |
|
|
(vect_strided_load_supported): Ditto.
|
19411 |
|
|
* tree-vect-generic.c (expand_vector_operations_1): Ditto.
|
19412 |
|
|
* expmed.c (expand_shift): Ditto.
|
19413 |
|
|
|
19414 |
|
|
* doc/md.texi (ashl@var{m}3): Document that operand 2 is always a
|
19415 |
|
|
scalar type.
|
19416 |
|
|
(ashr@var{m}3): Ditto.
|
19417 |
|
|
(vashl@var{m}3): Document new vector/vector shift standard name.
|
19418 |
|
|
(vashr@var{m}3): Ditto.
|
19419 |
|
|
(vlshr@var{m}3): Ditto.
|
19420 |
|
|
(vrotl@var{m}3): Ditto.
|
19421 |
|
|
(vrotr@var{m}3): Ditto.
|
19422 |
|
|
|
19423 |
|
|
* config/i386/i386.md (PPERM_SRC): Move PPERM masks here from i386.c.
|
19424 |
|
|
(PPERM_INVERT): Ditto.
|
19425 |
|
|
(PPERM_REVERSE): Ditto.
|
19426 |
|
|
(PPERM_REV_INV): Ditto.
|
19427 |
|
|
(PPERM_ZERO): Ditto.
|
19428 |
|
|
(PPERM_ONES): Ditto.
|
19429 |
|
|
(PPERM_SIGN): Ditto.
|
19430 |
|
|
(PPERM_INV_SIGN): Ditto.
|
19431 |
|
|
(PPERM_SRC1): Ditto.
|
19432 |
|
|
(PPERM_SRC2): Ditto.
|
19433 |
|
|
|
19434 |
|
|
* config/i386/sse.md (mulv2di3): Add SSE5 support.
|
19435 |
|
|
(sse5_pmacsdql_mem): New SSE5 define_and_split that temporarily
|
19436 |
|
|
allows a memory operand to be the value being added, and split it
|
19437 |
|
|
to improve vectorization.
|
19438 |
|
|
(sse5_pmacsdqh_mem): Ditto.
|
19439 |
|
|
(sse5_mulv2div2di3_low): SSE5 32-bit multiply and extend function.
|
19440 |
|
|
(sse5_mulv2div2di3_high): Ditto.
|
19441 |
|
|
(vec_pack_trunc_v8hi): Add SSE5 pperm support.
|
19442 |
|
|
(vec_pack_trunc_v4si): Ditto.
|
19443 |
|
|
(vec_pack_trunc_v2di): Ditto.
|
19444 |
|
|
(sse5_pcmov_): Remove code that tried to use use
|
19445 |
|
|
andps/andnps instead of pcmov.
|
19446 |
|
|
(vec_widen_smult_hi_v4si): If we have SSE5, use the pmacsdql and
|
19447 |
|
|
pmacsdqh instructions.
|
19448 |
|
|
(vec_widen_smult_lo_v4si): Ditto.
|
19449 |
|
|
|
19450 |
|
|
* config/i386/i386.c (PPERM_SRC): Move PPERM masks to i386.md.
|
19451 |
|
|
(PPERM_INVERT): Ditto.
|
19452 |
|
|
(PPERM_REVERSE): Ditto.
|
19453 |
|
|
(PPERM_REV_INV): Ditto.
|
19454 |
|
|
(PPERM_ZERO): Ditto.
|
19455 |
|
|
(PPERM_ONES): Ditto.
|
19456 |
|
|
(PPERM_SIGN): Ditto.
|
19457 |
|
|
(PPERM_INV_SIGN): Ditto.
|
19458 |
|
|
(PPERM_SRC1): Ditto.
|
19459 |
|
|
(PPERM_SRC2): Ditto.
|
19460 |
|
|
(ix86_expand_sse_movcc): Move the SSE5 test after the if
|
19461 |
|
|
true/false tests.
|
19462 |
|
|
(ix86_expand_int_vcond): If SSE5 generate all possible integer
|
19463 |
|
|
comparisons.
|
19464 |
|
|
(ix86_sse5_valid_op_p): Allow num_memory to be negative, which
|
19465 |
|
|
says ignore whether the last reference is a memory operand.
|
19466 |
|
|
|
19467 |
|
|
2008-05-14 Michael Meissner
|
19468 |
|
|
Paolo Bonzini
|
19469 |
|
|
|
19470 |
|
|
* config/rs6000/rs6000.c (bdesc_2arg): Change the names of vector
|
19471 |
|
|
shift patterns.
|
19472 |
|
|
|
19473 |
|
|
* config/rs6000/altivec.md (vashl3): Rename from ashl3.
|
19474 |
|
|
(vlshr3): Rename from vlshr3.
|
19475 |
|
|
(vashr3): Rename from vashr3.
|
19476 |
|
|
(mulv4sf3): Change the names of vector shift patterns.
|
19477 |
|
|
(mulv4si3): Ditto.
|
19478 |
|
|
(negv4sf2): Ditt.
|
19479 |
|
|
|
19480 |
|
|
* config/spu/spu.c (spu_initialize_trampoline): Rename vector
|
19481 |
|
|
shift insns.
|
19482 |
|
|
|
19483 |
|
|
* config/spu/spu-builtins.def (SI_SHLH): Rename vector shift insns.
|
19484 |
|
|
(SI_SHLHI): Ditto.
|
19485 |
|
|
(SI_SHL): Ditto.
|
19486 |
|
|
(SI_SHLI): Ditto.
|
19487 |
|
|
(SI_ROTH): Ditto.
|
19488 |
|
|
(SI_ROTHI): Ditto.
|
19489 |
|
|
(SI_ROT): Ditto.
|
19490 |
|
|
(SI_ROTI): Ditto.
|
19491 |
|
|
(SPU_RL_0): Ditto.
|
19492 |
|
|
(SPU_RL_1): Ditto.
|
19493 |
|
|
(SPU_RL_2): Ditto.
|
19494 |
|
|
(SPU_RL_3): Ditto.
|
19495 |
|
|
(SPU_RL_4): Ditto.
|
19496 |
|
|
(SPU_RL_5): Ditto.
|
19497 |
|
|
(SPU_RL_6): Ditto.
|
19498 |
|
|
(SPU_RL_7): Ditto.
|
19499 |
|
|
(SPU_SL_0): Ditto.
|
19500 |
|
|
(SPU_SL_1): Ditto.
|
19501 |
|
|
(SPU_SL_2): Ditto.
|
19502 |
|
|
(SPU_SL_3): Ditto.
|
19503 |
|
|
(SPU_SL_4): Ditto.
|
19504 |
|
|
(SPU_SL_5): Ditto.
|
19505 |
|
|
(SPU_SL_6): Ditto.
|
19506 |
|
|
(SPU_SL_7): Ditto.
|
19507 |
|
|
|
19508 |
|
|
* config/spu/spu.md (v): New iterator macro to add v for vector types.
|
19509 |
|
|
(floatunssidf2_internal): Change vector/vector shift names.
|
19510 |
|
|
(floatunsdidf2_internal): Ditto.
|
19511 |
|
|
(mulv8hi3): Ditto.
|
19512 |
|
|
(ashrdi3): Ditto.
|
19513 |
|
|
(ashrti3): Ditto.
|
19514 |
|
|
(cgt_df): Ditto.
|
19515 |
|
|
(cgt_v2df): Ditto.
|
19516 |
|
|
(dftsv): Ditto.
|
19517 |
|
|
(vashl3): Rename from ashl3.
|
19518 |
|
|
(vashr3): Rename from ashr3.
|
19519 |
|
|
(vlshr3): Rename from lshr3.
|
19520 |
|
|
(vrotl3): Rename from rotl3.
|
19521 |
|
|
|
19522 |
|
|
2008-05-14 Michael Meissner
|
19523 |
|
|
|
19524 |
|
|
PR target/36224
|
19525 |
|
|
* config/i386/sse.md (vec_widen_smult_hi_v4si): Delete, using unsigned
|
19526 |
|
|
multiply gives the wrong value when doing widening multiplies.
|
19527 |
|
|
(vec_widen_smult_lo_v4si): Ditto.
|
19528 |
|
|
|
19529 |
|
|
2008-05-14 Kenneth Zadeck
|
19530 |
|
|
|
19531 |
|
|
* optabs.c (prepare_cmp_insn): Changed LCT_PURE_MAKE_BLOCK to
|
19532 |
|
|
LCT_PURE and LCT_CONST_MAKE_BLOCK to LCT_CONST in calls to
|
19533 |
|
|
emit_library_call_value.
|
19534 |
|
|
* builtins.c (expand_builtin_powi, expand_builtin_memcmp): Ditto.
|
19535 |
|
|
* tree.h (ECF_LIBCALL_BLOCK): Removed.
|
19536 |
|
|
* calls.c (initialize_argument_information, precompute_arguments,
|
19537 |
|
|
expand_call, emit_library_call_value_1): Remove ECF_LIBCALL_BLOCK.
|
19538 |
|
|
(precompute_arguments): Removed flags parameter.
|
19539 |
|
|
* rtl.h (LCT_CONST_MAKE_BLOCK, LCT_PURE_MAKE_BLOCK): Removed.
|
19540 |
|
|
|
19541 |
|
|
2008-05-14 Richard Guenther
|
19542 |
|
|
|
19543 |
|
|
* tree-ssa-dse.c (dse_possible_dead_store_p): Remove dead code.
|
19544 |
|
|
Make sure to register the store if the use is a PHI_NODE.
|
19545 |
|
|
|
19546 |
|
|
2008-05-14 Olivier Hainque
|
19547 |
|
|
|
19548 |
|
|
* expr.c (expand_expr_real_1) : Force op0 to
|
19549 |
|
|
memory if the component is to be referenced in BLKmode according
|
19550 |
|
|
to get_inner_reference.
|
19551 |
|
|
|
19552 |
|
|
2008-05-14 Adam Nemet
|
19553 |
|
|
|
19554 |
|
|
* calls.c (emit_library_call_value_1): Restore code clearing
|
19555 |
|
|
ECF_LIBCALL_BLOCK to ensure that we only call end_sequence once.
|
19556 |
|
|
|
19557 |
|
|
2008-05-14 Olivier Hainque
|
19558 |
|
|
Nicolas Roche
|
19559 |
|
|
|
19560 |
|
|
* configure.ac: Add support for a "gcc_subdir" variable in
|
19561 |
|
|
config-lang.in, to denote a subdirectory where the language/GCC
|
19562 |
|
|
integration files are to be found.
|
19563 |
|
|
* configure: Regenerate.
|
19564 |
|
|
|
19565 |
|
|
2008-05-14 Ira Rosen
|
19566 |
|
|
|
19567 |
|
|
PR tree-optimization/36098
|
19568 |
|
|
* tree-vect-analyze.c (vect_analyze_group_access): Set the gap
|
19569 |
|
|
value for the first load in the group in case of a gap.
|
19570 |
|
|
(vect_build_slp_tree): Check that there are no gaps in loads.
|
19571 |
|
|
|
19572 |
|
|
2008-05-14 Kenneth Zadeck
|
19573 |
|
|
|
19574 |
|
|
* doc/rtl.texi: Removed reference to REG_NO_CONFLICT notes.
|
19575 |
|
|
* optabs.c (expand_binop, expand_absneg_bit, expand_unop,
|
19576 |
|
|
expand_copysign_bit): Change call to emit_no_conflict_block to
|
19577 |
|
|
emit_insn and remove unneeded code to construct extra args.
|
19578 |
|
|
(emit_no_conflict_block): Removed.
|
19579 |
|
|
* optabls.h (emit_no_conflict_block): Removed.
|
19580 |
|
|
* cse.c (cse_extended_basic_block): Remove search for
|
19581 |
|
|
REG_NO_CONFLICT note.
|
19582 |
|
|
* global.c: Removed incorrect comment added in revision 117.
|
19583 |
|
|
* expr.c (convert_move): Change call to emit_no_conflict_block to
|
19584 |
|
|
emit_insn.
|
19585 |
|
|
* recog.c: Change comments so that they do not mention
|
19586 |
|
|
REG_NO_CONFLICT.
|
19587 |
|
|
* local_alloc.c (combine_regs): Removed last parameter.
|
19588 |
|
|
(no_conflict_p): Removed.
|
19589 |
|
|
(block_alloc): Removed note, no_conflict_combined_regno and set
|
19590 |
|
|
local vars. Removed all code to process REG_NO_CONFLICT blocks.
|
19591 |
|
|
(combine_regs): Removed already_dead and code to look for
|
19592 |
|
|
REG_NO_CONFLICT notes.
|
19593 |
|
|
* lower_subreg (remove_retval_note): Removed code to look for
|
19594 |
|
|
REG_NO_CONFLICT block.
|
19595 |
|
|
(resolve_reg_notes): Removed REG_NO_CONFLICT case.
|
19596 |
|
|
(resolve_clobber): Remove code to process libcalls that have
|
19597 |
|
|
REG_NO_CONFLICT notes.
|
19598 |
|
|
* loop_invariant.c (find_invariant_insn): Removed REG_NO_CONFLICT
|
19599 |
|
|
case.
|
19600 |
|
|
* combine.c (can_combine_p, distribute_notes): Removed
|
19601 |
|
|
REG_NO_CONFLICT case.
|
19602 |
|
|
* config/cris/cris.md (movdi pattern): Changed emit_no_conflict_block
|
19603 |
|
|
to emit_insns.
|
19604 |
|
|
* config/mn10300/mn10300.md (absdf2, negdf2 patterns): Ditto.
|
19605 |
|
|
* config/m68k/m68k.md (negdf2, negxf2, absdf2, absxf2 patterns):
|
19606 |
|
|
Ditto.
|
19607 |
|
|
* reg-notes.def (NO_CONFLICT): Removed.
|
19608 |
|
|
|
19609 |
|
|
2008-05-14 David S. Miller
|
19610 |
|
|
|
19611 |
|
|
* config/sparc/sparc.c (sparc_profile_hook): If
|
19612 |
|
|
NO_PROFILE_COUNTERS, don't generate and pass a label into mcount.
|
19613 |
|
|
* config/sparc/linux.h (NO_PROFILE_COUNTERS): Define as 1.
|
19614 |
|
|
* config/sparc/linux64.h (NO_PROFILE_COUNTERS): Likewise.
|
19615 |
|
|
|
19616 |
|
|
2008-05-14 Andreas Krebbel
|
19617 |
|
|
|
19618 |
|
|
* cse.c (cse_cc_succs): Invoke delete_insn_and_edges.
|
19619 |
|
|
|
19620 |
|
|
2008-05-13 Uros Bizjak
|
19621 |
|
|
|
19622 |
|
|
PR target/36222
|
19623 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_general): Rearrange op0
|
19624 |
|
|
and op1 expansion before vector concat to have less live pseudos.
|
19625 |
|
|
|
19626 |
|
|
2008-05-13 H.J. Lu
|
19627 |
|
|
|
19628 |
|
|
* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
|
19629 |
|
|
ix86_expand_vector_set if supported.
|
19630 |
|
|
|
19631 |
|
|
2008-05-13 Diego Novillo
|
19632 |
|
|
Kenneth Zadeck
|
19633 |
|
|
|
19634 |
|
|
http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00748.html
|
19635 |
|
|
|
19636 |
|
|
* tree.h (init_phinodes, fini_phinodes, release_phi_node,
|
19637 |
|
|
phinodes_print_statistics, init_ssanames, fini_ssanames,
|
19638 |
|
|
make_ssa_name, duplicate_ssa_name, duplicate_ssa_name_ptr_info,
|
19639 |
|
|
release_ssa_name, release_defs, replace_ssa_name_symbol,
|
19640 |
|
|
ssanames_print_statistics): Move ...
|
19641 |
|
|
* tree-flow.h: ... here.
|
19642 |
|
|
* tree-ssanames.c (init_ssanames): Add arguments FN and SIZE.
|
19643 |
|
|
Use FN instead of cfun.
|
19644 |
|
|
(make_ssa_name_fn): Rename from make_ssa_name.
|
19645 |
|
|
(pass_release_ssa_names): Add TODO_dump_func to finish flags.
|
19646 |
|
|
* tree-flow-inline.h (make_ssa_name): Move from
|
19647 |
|
|
tree-ssanames.c. Convert to static inline. Call make_ssa_name_fn.
|
19648 |
|
|
* omp-low.c (expand_omp_parallel):
|
19649 |
|
|
* tree-flow-inline.h (redirect_edge_var_map_result):
|
19650 |
|
|
* tree-ssa.c (init_tree_ssa): Add argument FN.
|
19651 |
|
|
Use it instead of cfun. Update all users.
|
19652 |
|
|
|
19653 |
|
|
2008-05-13 Tom Tromey
|
19654 |
|
|
|
19655 |
|
|
PR preprocessor/22168:
|
19656 |
|
|
* doc/cpp.texi (Top): Update menu.
|
19657 |
|
|
(Alternatives to Wrapper #ifndef): New node.
|
19658 |
|
|
(Other Directives): Document deprecation.
|
19659 |
|
|
(Obsolete Features): Remove menu.
|
19660 |
|
|
(Assertions): Merge node into Obsolete Features.
|
19661 |
|
|
(Obsolete once-only headers): Move earlier; rename to Alternatives
|
19662 |
|
|
to Wrapper #ifndef.
|
19663 |
|
|
* doc/cppopts.texi: Update.
|
19664 |
|
|
* c.opt (Wdeprecated): Enable for C and ObjC.
|
19665 |
|
|
* doc/invoke.texi (Option Summary): Move -Wno-deprecated.
|
19666 |
|
|
(C++ Dialect Options): Move -Wno-deprecated from here to...
|
19667 |
|
|
(Warning Options): ... here.
|
19668 |
|
|
|
19669 |
|
|
2008-05-13 Richard Guenther
|
19670 |
|
|
|
19671 |
|
|
PR middle-end/36227
|
19672 |
|
|
* fold-const.c (fold_sign_changed_comparison): Do not allow
|
19673 |
|
|
changes in pointer-ness.
|
19674 |
|
|
|
19675 |
|
|
2008-05-12 Kaz Kojima
|
19676 |
|
|
|
19677 |
|
|
PR target/24713
|
19678 |
|
|
* config/sh/sh.c (sh_expand_prologue): Don't clear
|
19679 |
|
|
RTX_FRAME_RELATED_P for push insns.
|
19680 |
|
|
|
19681 |
|
|
2008-05-12 Andy Hutchinson
|
19682 |
|
|
|
19683 |
|
|
* config/avr/avr.h (MAX_OFILE_ALIGNMENT): Define.
|
19684 |
|
|
|
19685 |
|
|
2008-05-12 Anatoly Sokolov
|
19686 |
|
|
|
19687 |
|
|
* config/avr/avr.h (machine_function): Add 'is_leaf' field.
|
19688 |
|
|
* config/avr/avr.c (avr_regs_to_save): Compute 'machine->is_leaf'.
|
19689 |
|
|
Use 'machine->is_leaf' instead of 'leaf_func_p'.
|
19690 |
|
|
|
19691 |
|
|
2008-05-12 H.J. Lu
|
19692 |
|
|
|
19693 |
|
|
* config/i386/sse.md (*sse_concatv4sf): Renamed to ...
|
19694 |
|
|
(*vec_concatv4sf_sse): This.
|
19695 |
|
|
(*sse2_concatv2si): Renamed to ...
|
19696 |
|
|
(*vec_concatv2si_sse2): This.
|
19697 |
|
|
(*sse1_concatv2si): Renamed to ...
|
19698 |
|
|
(*vec_concatv2si_sse): This.
|
19699 |
|
|
(*vec_concatv2di_rex): Renamed to ...
|
19700 |
|
|
(*vec_concatv2di_rex64): This.
|
19701 |
|
|
(*vec_concatv2si_sse4_1): New.
|
19702 |
|
|
(*vec_concatv2di_rex64_sse4_1): Likewise.
|
19703 |
|
|
|
19704 |
|
|
2008-05-12 Uros Bizjak
|
19705 |
|
|
|
19706 |
|
|
PR rtl-optimization/36111
|
19707 |
|
|
* recog.c (validate_replace_rtx_1): Unshare new RTL expression
|
19708 |
|
|
that was created for swappable operands.
|
19709 |
|
|
|
19710 |
|
|
2008-05-12 Samuel Tardieu
|
19711 |
|
|
|
19712 |
|
|
PR ada/36001
|
19713 |
|
|
* Makefile.in: Substitute GNATMAKE and GNATBIND.
|
19714 |
|
|
* configure.ac: Add call to ACX_PROG_GNAT.
|
19715 |
|
|
|
19716 |
|
|
2008-05-11 Volker Reichelt
|
19717 |
|
|
|
19718 |
|
|
* optc-gen.awk: Fix comment typo.
|
19719 |
|
|
|
19720 |
|
|
2008-05-11 Aaron W. LaFramboise
|
19721 |
|
|
|
19722 |
|
|
* pretty-print.c (pp_integer_with_precision): Use
|
19723 |
|
|
HOST_LONG_LONG_FORMAT.
|
19724 |
|
|
|
19725 |
|
|
2008-05-10 Kenneth Zadeck
|
19726 |
|
|
|
19727 |
|
|
* gcse.c (store_killed_in_insn): Negated call to RTL_CONST_CALL_P.
|
19728 |
|
|
|
19729 |
|
|
2008-05-10 H.J. Lu
|
19730 |
|
|
|
19731 |
|
|
* config/i386/i386.c (bdesc_ptest): Removed.
|
19732 |
|
|
(ix86_builtin_type): Add INT_FTYPE_V2DI_V2DI_PTEST.
|
19733 |
|
|
(bdesc_args): Add __builtin_ia32_ptestz128,
|
19734 |
|
|
__builtin_ia32_ptestc128 and __builtin_ia32_ptestnzc128.
|
19735 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
19736 |
|
|
(ix86_expand_args_builtin): Handle INT_FTYPE_V2DI_V2DI_PTEST.
|
19737 |
|
|
(ix86_expand_builtin): Updated.
|
19738 |
|
|
|
19739 |
|
|
2008-05-10 Richard Sandiford
|
19740 |
|
|
|
19741 |
|
|
* tree-cfg.c (valid_fixed_convert_types_p): New function.
|
19742 |
|
|
(verify_gimple_expr): Handle FIXED_CONVERT_EXPR.
|
19743 |
|
|
|
19744 |
|
|
2008-05-10 Uros Bizjak
|
19745 |
|
|
|
19746 |
|
|
* value-prof.c (interesting_stringop_to_profile): Do not
|
19747 |
|
|
return early for BUILT_IN_MEMPCPY.
|
19748 |
|
|
|
19749 |
|
|
2008-05-09 H.J. Lu
|
19750 |
|
|
|
19751 |
|
|
* calls.c (expand_call): Don't use callgraph to increase
|
19752 |
|
|
preferred_stack_boundary.
|
19753 |
|
|
|
19754 |
|
|
* cgraph.h (cgraph_rtl_info): Use unsigned on
|
19755 |
|
|
preferred_incoming_stack_boundary.
|
19756 |
|
|
|
19757 |
|
|
* final.c (rest_of_clean_state): Use unsigned on
|
19758 |
|
|
preferred_stack_boundary.
|
19759 |
|
|
|
19760 |
|
|
2008-05-09 Tom Tromey
|
19761 |
|
|
|
19762 |
|
|
PR preprocessor/22231:
|
19763 |
|
|
* c-opts.c (sanitize_cpp_opts): Disallow -MG if compilation is
|
19764 |
|
|
proceeding.
|
19765 |
|
|
|
19766 |
|
|
2008-05-09 Uros Bizjak
|
19767 |
|
|
|
19768 |
|
|
PR tree-optimization/36129
|
19769 |
|
|
* tree-ssa-ccp.c: Include value-prof.h.
|
19770 |
|
|
(execute_fold_all_builtins): Call gimple_remove_stmt_histograms if
|
19771 |
|
|
built-in function was folded to a constant.
|
19772 |
|
|
* Makefile.in (tree-ssa-ccp.c): Depend on value-prof.h
|
19773 |
|
|
|
19774 |
|
|
2008-05-09 Jan Sjodin
|
19775 |
|
|
Sebastian Pop
|
19776 |
|
|
|
19777 |
|
|
* tree-scalar-evolution.c: Document instantiate_scev.
|
19778 |
|
|
(instantiate_parameters_1): Renamed instantiate_scev_1.
|
19779 |
|
|
Don't use the same loop for instantiation_loop and evolution_loop.
|
19780 |
|
|
(instantiate_scev): New.
|
19781 |
|
|
(instantiate_parameters): Moved...
|
19782 |
|
|
(resolve_mixers): Update call to instantiate_scev_1 to pass the
|
19783 |
|
|
same loop twice. Maintains the semantics for this function.
|
19784 |
|
|
* tree-scalar-evolution.h (instantiate_scev): Declare.
|
19785 |
|
|
(instantiate_parameters): ...here. Now static inline.
|
19786 |
|
|
* tree-data-ref.c (dr_analyze_indices): Call instantiate_scev
|
19787 |
|
|
instead of resolve_mixers.
|
19788 |
|
|
|
19789 |
|
|
2008-05-09 Maxim Kuvyrkov
|
19790 |
|
|
|
19791 |
|
|
* rtl-factoring.c (collect_pattern_seqs): Fix typo.
|
19792 |
|
|
|
19793 |
|
|
2008-05-09 Tomas Bily
|
19794 |
|
|
|
19795 |
|
|
* config/pa/pa.c (reloc_needed): Use CASE_CONVERT.
|
19796 |
|
|
* tree-cfg.c (verify_expr, verify_gimple_expr): Likewise.
|
19797 |
|
|
* tree-ssa-structalias.c (get_constraint_for): Likewise.
|
19798 |
|
|
* c-common.c (c_common_truthvalue_conversion): Likewise.
|
19799 |
|
|
* tree-object-size.c (compute_object_offset): Likewise.
|
19800 |
|
|
* tree-inline.c (estimate_num_insns_1): Likewise.
|
19801 |
|
|
* varasm.c (const_hash_1, compare_constant, copy_constant)
|
19802 |
|
|
(compute_reloc_for_constant, output_addressed_constants)
|
19803 |
|
|
(initializer_constant_valid_p): Likewise.
|
19804 |
|
|
* c-omp.c (check_omp_for_incr_expr): Likewise.
|
19805 |
|
|
* gimplify.c (gimplify_expr): Likewise.
|
19806 |
|
|
* c-typeck.c (c_finish_return): Likewise.
|
19807 |
|
|
* tree-vectorizer.c (supportable_widening_operation)
|
19808 |
|
|
(supportable_narrowing_operation): Likewise.
|
19809 |
|
|
* c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Likewise.
|
19810 |
|
|
* matrix-reorg.c (can_calculate_expr_before_stmt): Likewise.
|
19811 |
|
|
* expr.c (highest_pow2_factor, expand_expr_real_1): Likewise.
|
19812 |
|
|
* dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info)
|
19813 |
|
|
(descr_info_loc): Likewise.
|
19814 |
|
|
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.
|
19815 |
|
|
* fold-const.c (operand_equal_p, make_range, extract_muldiv_1)
|
19816 |
|
|
(fold_unary): Likewise.
|
19817 |
|
|
* builtins.c (get_pointer_alignment): Likewise.
|
19818 |
|
|
* tree-scalar-evolution.c (interpret_rhs_modify_stmt)
|
19819 |
|
|
(instantiate_parameters_1): Likewise.
|
19820 |
|
|
* tree.c (expr_align, stabilize_reference): Likewise.
|
19821 |
|
|
* tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
|
19822 |
|
|
* tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
|
19823 |
|
|
* convert.c (strip_float_extensions): Use CONVERT_EXPR_P.
|
19824 |
|
|
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
|
19825 |
|
|
* config/alpha/alpha.c (va_list_skip_additions): Likewise.
|
19826 |
|
|
* c-common.c (c_alignof_expr, check_function_arguments_recurse):
|
19827 |
|
|
Likewise.
|
19828 |
|
|
* tree-ssa.c (tree_ssa_useless_type_conversion): Likewise.
|
19829 |
|
|
* varasm.c (initializer_constant_valid_p, output_constant): Likewise.
|
19830 |
|
|
* tree-ssa-forwprop.c (get_prop_source_stmt, can_propagate_from)
|
19831 |
|
|
(forward_propagate_addr_expr_1, forward_propagate_addr_expr)
|
19832 |
|
|
(forward_propagate_comparison)
|
19833 |
|
|
(tree_ssa_forward_propagate_single_use_vars): Likewise.
|
19834 |
|
|
* cfgexpand.c (discover_nonconstant_array_refs_r): Likewise.
|
19835 |
|
|
* emit-rtl.c (component_ref_for_mem_expr)
|
19836 |
|
|
(set_mem_attributes_minus_bitpos): Likewise.
|
19837 |
|
|
* tree-ssa-phiopt.c (conditional_replacement): Likewise.
|
19838 |
|
|
* gimplify.c (gimplify_conversion, goa_lhs_expr_p, gimplify_expr):
|
19839 |
|
|
Likewise.
|
19840 |
|
|
* c-typeck.c (default_function_array_conversion, build_indirect_ref)
|
19841 |
|
|
(build_function_call, pointer_diff, build_compound_expr)
|
19842 |
|
|
(c_finish_return): Likewise.
|
19843 |
|
|
* tree-vect-analyze.c (vect_determine_vectorization_factor): Likewise.
|
19844 |
|
|
* matrix-reorg.c (get_inner_of_cast_expr, may_flatten_matrices_1):
|
19845 |
|
|
Likewise.
|
19846 |
|
|
* tree-ssa-ifcombine.c (recognize_single_bit_test): Likewise.
|
19847 |
|
|
* expr.c (is_aligning_offset): Likewise.
|
19848 |
|
|
* tree-ssa-alias.c (is_escape_site): Likewise.
|
19849 |
|
|
* tree-stdarg.c (va_list_counter_bump, check_va_list_escapes)
|
19850 |
|
|
(check_all_va_list_escapes): Likewise.
|
19851 |
|
|
* tree-ssa-loop-ivopts.c (determine_base_object)
|
19852 |
|
|
(determine_common_wider_type): Likewise.
|
19853 |
|
|
* dojump.c (do_jump): Likewise.
|
19854 |
|
|
* tree-ssa-sccvn.c (simplify_unary_expression): Likewise.
|
19855 |
|
|
* tree-gimple.c (is_gimple_cast): Likewise.
|
19856 |
|
|
* fold-const.c (decode_field_reference)
|
19857 |
|
|
(fold_sign_changed_comparison, fold_unary, fold_comparison)
|
19858 |
|
|
(fold_binary): Likewise.
|
19859 |
|
|
* tree-ssa-alias-warnings.c (find_alias_site_helper)
|
19860 |
|
|
(already_warned_in_frontend_p): Likewise.
|
19861 |
|
|
* builtins.c (get_memory_rtx, fold_builtin_next_arg): Likewise.
|
19862 |
|
|
* tree.c (really_constant_p, get_unwidened): Likewise.
|
19863 |
|
|
* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
|
19864 |
|
|
* tree-ssa-loop-im.c (rewrite_bittest): Likewise.
|
19865 |
|
|
* tree-vrp.c (register_edge_assert_for_2, register_edge_assert_for_1):
|
19866 |
|
|
Likewise.
|
19867 |
|
|
* tree.h (STRIP_NOPS, STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Use
|
19868 |
|
|
CONVERT_EXPR_P.
|
19869 |
|
|
(CONVERT_EXPR_P): Define.
|
19870 |
|
|
(CASE_CONVERT): Define.
|
19871 |
|
|
|
19872 |
|
|
2008-05-08 Kenneth Zadeck
|
19873 |
|
|
|
19874 |
|
|
PR middle-end/36117
|
19875 |
|
|
* dce.c (deletable_insn_p): Do not delete calls if df_in_progress.
|
19876 |
|
|
(delete_unmarked_insns): When deleting a call, call
|
19877 |
|
|
delete_unreachable_blocks.
|
19878 |
|
|
* rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
|
19879 |
|
|
RTL_CONST_OR_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P): Fixed doc.
|
19880 |
|
|
|
19881 |
|
|
2008-05-08 Richard Guenther
|
19882 |
|
|
|
19883 |
|
|
* doc/invoke.texi (-fdump-tree-salias): Remove documentation.
|
19884 |
|
|
(-ftree-salias): Likewise.
|
19885 |
|
|
(salias-max-implicit-fields): Remove param documentation.
|
19886 |
|
|
(salias-max-array-elements): Likewise.
|
19887 |
|
|
* tree-pass.h (pass_create_structure_vars): Remove.
|
19888 |
|
|
* params.h (SALIAS_MAX_IMPLICIT_FIELDS): Remove.
|
19889 |
|
|
(SALIAS_MAX_ARRAY_ELEMENTS): Likewise.
|
19890 |
|
|
* tree-ssa-alias.c (create_structure_vars): Remove.
|
19891 |
|
|
(gate_structure_vars): Likewise.
|
19892 |
|
|
(pass_create_structure_vars): Likewise.
|
19893 |
|
|
(gate_build_alias): Likewise.
|
19894 |
|
|
(pass_build_alias): Adjust to run always and dump the function.
|
19895 |
|
|
* common.opt (ftree-salias): Hide.
|
19896 |
|
|
* passes.c (init_optimization_passes): Remove
|
19897 |
|
|
pass_create_structure_vars, adjust comment.
|
19898 |
|
|
* params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): Remove.
|
19899 |
|
|
(PARAM_SALIAS_MAX_ARRAY_ELEMENTS): Likewise.
|
19900 |
|
|
* opts.c (decode_options): Do not set flag_tree_salias.
|
19901 |
|
|
(common_handle_option): Add OPT_ftree_salias to the backward
|
19902 |
|
|
compatibility section.
|
19903 |
|
|
|
19904 |
|
|
2008-05-08 Richard Guenther
|
19905 |
|
|
|
19906 |
|
|
* tree-flow-inline.h (var_can_have_subvars): Move ...
|
19907 |
|
|
* tree-ssa-structalias.c (var_can_have_subvars): ... here.
|
19908 |
|
|
* tree-flow.h (var_can_have_subvars): Remove.
|
19909 |
|
|
(push_fields_onto_fieldstack): Remove.
|
19910 |
|
|
(sort_fieldstack): Likewise.
|
19911 |
|
|
(struct fieldoff): Move ...
|
19912 |
|
|
* tree-ssa-structalias.c (struct fieldoff): ... here. Remove
|
19913 |
|
|
alias_set and base_for_components fields.
|
19914 |
|
|
(sort_fieldstack): Make static.
|
19915 |
|
|
(push_fields_onto_fieldstack): Likewise. Remove code that
|
19916 |
|
|
handles anything but RECORD_TYPEs. Remove alias_set and
|
19917 |
|
|
base_for_components handling.
|
19918 |
|
|
(create_variable_info_for): Adjust.
|
19919 |
|
|
|
19920 |
|
|
2008-05-08 Seongbae Park
|
19921 |
|
|
|
19922 |
|
|
* common.opt (Wframe-larger-than=): Shorten the help message
|
19923 |
|
|
to one line.
|
19924 |
|
|
* doc/invoke.texi (Wframe-larger-than=): Add more description.
|
19925 |
|
|
|
19926 |
|
|
2008-05-08 Rafael Espíndola
|
19927 |
|
|
|
19928 |
|
|
* tree-complex.c (expand_complex_div_wide): Don't create CONDs that
|
19929 |
|
|
trap.
|
19930 |
|
|
* tree-gimple.c (is_gimple_condexpr): Check that the expression doesn't
|
19931 |
|
|
trap and that both operands are gimple values.
|
19932 |
|
|
(canonicalize_cond_expr_cond): Use is_gimple_condexpr.
|
19933 |
|
|
* gcc/tree-eh.c (tree_could_trap_p): Correctly detect if a comparison
|
19934 |
|
|
is a fp operation.
|
19935 |
|
|
|
19936 |
|
|
2008-05-08 Richard Sandiford
|
19937 |
|
|
|
19938 |
|
|
* read-rtl.c (join_c_conditions): Return the first string if the
|
19939 |
|
|
two strings are equal.
|
19940 |
|
|
|
19941 |
|
|
2008-05-08 Richard Sandiford
|
19942 |
|
|
|
19943 |
|
|
* gensupport.h (pred_data): Add a "num_codes" field.
|
19944 |
|
|
(add_predicate_code): Declare.
|
19945 |
|
|
* gensupport.c (add_predicate_code): New function.
|
19946 |
|
|
(std_pred_table): Add an "allows_const_p" field.
|
19947 |
|
|
(std_preds): Set this field for predicates that allow RTX_CONST_OBJs.
|
19948 |
|
|
Remove the (incomplete) list of such codes from the codes field.
|
19949 |
|
|
(init_predicate_table): Use add_predicate_code. Add all
|
19950 |
|
|
RTX_CONST_OBJs if allows_const_p is true.
|
19951 |
|
|
* genrecog.c (process_define_predicate): Use add_predicate_code.
|
19952 |
|
|
|
19953 |
|
|
2008-05-08 David Daney
|
19954 |
|
|
Richard Sandiford
|
19955 |
|
|
|
19956 |
|
|
* config/mips/mips.md (mips_expand_compare_and_swap_12): Handle
|
19957 |
|
|
special case of constant zero operands.
|
19958 |
|
|
* config/mips/mips.c (mips_expand_compare_and_swap_12): Zero extend
|
19959 |
|
|
old and new values. Special case constant zero values.
|
19960 |
|
|
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Skip 'sync' if compare
|
19961 |
|
|
fails.
|
19962 |
|
|
(MIPS_COMPARE_AND_SWAP_12): Handle constant zero operands.
|
19963 |
|
|
(MIPS_COMPARE_AND_SWAP_12_0): New macro.
|
19964 |
|
|
|
19965 |
|
|
2008-05-08 Paolo Bonzini
|
19966 |
|
|
|
19967 |
|
|
PR target/36090
|
19968 |
|
|
* simplify-rtx.c (simplify_plus_minus): Create CONST of
|
19969 |
|
|
similar RTX_CONST_OBJ before CONST_INT.
|
19970 |
|
|
|
19971 |
|
|
2008-05-08 Steve Ellcey
|
19972 |
|
|
|
19973 |
|
|
* stmt.c (expand_stack_restore): Change sa mode if needed.
|
19974 |
|
|
|
19975 |
|
|
2008-05-08 Richard Guenther
|
19976 |
|
|
|
19977 |
|
|
* config/i386/i386-protos.h (ix86_return_in_memory): Adjust
|
19978 |
|
|
return type to bool.
|
19979 |
|
|
(ix86_sol10_return_in_memory): Likewise.
|
19980 |
|
|
(ix86_i386elf_return_in_memory): Likewise.
|
19981 |
|
|
(ix86_i386interix_return_in_memory): Likewise.
|
19982 |
|
|
* config/i386/i386.c (ix86_return_in_memory): Likewise.
|
19983 |
|
|
(ix86_sol10_return_in_memory): Likewise.
|
19984 |
|
|
(ix86_i386elf_return_in_memory): Likewise.
|
19985 |
|
|
(ix86_i386interix_return_in_memory): Likewise.
|
19986 |
|
|
|
19987 |
|
|
2008-05-08 Kai Tietz
|
19988 |
|
|
|
19989 |
|
|
PR bootstrap/36180
|
19990 |
|
|
* calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to
|
19991 |
|
|
fndecl argument.
|
19992 |
|
|
(emit_library_call_value_1): Add ATTRIBUTE_UNUSED to variable fndecl.
|
19993 |
|
|
* target-def.h: Check that TARGET_RETURN_IN_MEMORY isn't
|
19994 |
|
|
declared in front.
|
19995 |
|
|
|
19996 |
|
|
2008-05-08 Richard Guenther
|
19997 |
|
|
|
19998 |
|
|
* tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS.
|
19999 |
|
|
* tree-data-ref.h (struct dr_alias): Remove subvars field.
|
20000 |
|
|
(DR_SUBVARS): Remove.
|
20001 |
|
|
* tree-dfa.c (dump_subvars_for): Remove.
|
20002 |
|
|
(debug_subvars_for): Likewise.
|
20003 |
|
|
(dump_variable): Do not dump subvars.
|
20004 |
|
|
(remove_referenced_var): Do not remove subvars.
|
20005 |
|
|
* tree-flow-inline.h (clear_call_clobbered): SFTs no longer exist.
|
20006 |
|
|
(lookup_subvars_for_var): Remove.
|
20007 |
|
|
(get_subvars_for_var): Likewise.
|
20008 |
|
|
(get_subvars_at): Likewise.
|
20009 |
|
|
(get_first_overlapping_subvar): Likewise.
|
20010 |
|
|
(overlap_subvar): Likewise.
|
20011 |
|
|
* tree-flow.h (subvar_t): Remove.
|
20012 |
|
|
(struct var_ann_d): Remove subvars field.
|
20013 |
|
|
* tree-ssa-alias.c (mark_aliases_call_clobbered): Remove queued
|
20014 |
|
|
argument. Remove special handling of SFTs.
|
20015 |
|
|
(compute_tag_properties): Likewise.
|
20016 |
|
|
(set_initial_properties): Likewise.
|
20017 |
|
|
(compute_call_clobbered): Likewise.
|
20018 |
|
|
(count_mem_refs): Likewise.
|
20019 |
|
|
(compute_memory_partitions): Likewise.
|
20020 |
|
|
(compute_flow_insensitive_aliasing): Likewise.
|
20021 |
|
|
(setup_pointers_and_addressables): Likewise.
|
20022 |
|
|
(new_type_alias): Likewise.
|
20023 |
|
|
(struct used_part): Remove.
|
20024 |
|
|
(used_portions): Likewise.
|
20025 |
|
|
(struct used_part_map): Likewise.
|
20026 |
|
|
(used_part_map_eq): Likewise.
|
20027 |
|
|
(used_part_map_hash): Likewise.
|
20028 |
|
|
(free_used_part_map): Likewise.
|
20029 |
|
|
(up_lookup): Likewise.
|
20030 |
|
|
(up_insert): Likewise.
|
20031 |
|
|
(get_or_create_used_part_for): Likewise.
|
20032 |
|
|
(create_sft): Likewise.
|
20033 |
|
|
(create_overlap_variables_for): Likewise.
|
20034 |
|
|
(find_used_portions): Likewise.
|
20035 |
|
|
(create_structure_vars): Likewise.
|
20036 |
|
|
* tree.def (STRUCT_FIELD_TAG): Remove.
|
20037 |
|
|
* tree.h (MTAG_P): Adjust.
|
20038 |
|
|
(struct tree_memory_tag): Remove base_for_components and
|
20039 |
|
|
unpartitionable flags.
|
20040 |
|
|
(struct tree_struct_field_tag): Remove.
|
20041 |
|
|
(SFT_PARENT_VAR): Likewise.
|
20042 |
|
|
(SFT_OFFSET): Likewise.
|
20043 |
|
|
(SFT_SIZE): Likewise.
|
20044 |
|
|
(SFT_NONADDRESSABLE_P): Likewise.
|
20045 |
|
|
(SFT_ALIAS_SET): Likewise.
|
20046 |
|
|
(SFT_UNPARTITIONABLE_P): Likewise.
|
20047 |
|
|
(SFT_BASE_FOR_COMPONENTS_P): Likewise.
|
20048 |
|
|
(union tree_node): Remove sft field.
|
20049 |
|
|
* alias.c (get_alias_set): Remove special handling of SFTs.
|
20050 |
|
|
* print-tree.c (print_node): Remove handling of SFTs.
|
20051 |
|
|
* tree-dump.c (dequeue_and_dump): Likewise.
|
20052 |
|
|
* tree-into-ssa.c (mark_sym_for_renaming): Likewise.
|
20053 |
|
|
* tree-nrv.c (dest_safe_for_nrv_p): Remove special handling of SFTs.
|
20054 |
|
|
* tree-predcom.c (set_alias_info): Do not set subvars.
|
20055 |
|
|
* tree-pretty-print.c (dump_generic_node): Do not handle SFTs.
|
20056 |
|
|
* tree-ssa-loop-ivopts.c (get_ref_tag): Likewise.
|
20057 |
|
|
* tree-ssa-operands.c (access_can_touch_variable): Likewise.
|
20058 |
|
|
(add_vars_for_offset): Remove.
|
20059 |
|
|
(add_virtual_operand): Remove special handling of SFTs.
|
20060 |
|
|
(add_call_clobber_ops): Likewise.
|
20061 |
|
|
(add_call_read_ops): Likewise.
|
20062 |
|
|
(get_asm_expr_operands): Likewise.
|
20063 |
|
|
(get_modify_stmt_operands): Likewise.
|
20064 |
|
|
(get_expr_operands): Likewise.
|
20065 |
|
|
(add_to_addressable_set): Likewise.
|
20066 |
|
|
* tree-ssa.c (verify_ssa_name): Do not handle SFTs.
|
20067 |
|
|
* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
|
20068 |
|
|
* tree-vect-transform.c (vect_create_data_ref_ptr): Do not set subvars.
|
20069 |
|
|
* tree.c (init_ttree): Remove STRUCT_FIELD_TAG initialization.
|
20070 |
|
|
(tree_code_size): Remove STRUCT_FIELD_TAG handling.
|
20071 |
|
|
(tree_node_structure): Likewise.
|
20072 |
|
|
* tree-ssa-structalias.c (set_uids_in_ptset): Remove special
|
20073 |
|
|
handling of SFTs.
|
20074 |
|
|
(find_what_p_points_to): Likewise.
|
20075 |
|
|
|
20076 |
|
|
2008-05-08 Sa Liu
|
20077 |
|
|
|
20078 |
|
|
* config/spu/spu.md: Fixed subti3 pattern.
|
20079 |
|
|
|
20080 |
|
|
2008-05-08 Richard Guenther
|
20081 |
|
|
|
20082 |
|
|
PR middle-end/36154
|
20083 |
|
|
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
|
20084 |
|
|
sure to create a representative for trailing arrays for PTA.
|
20085 |
|
|
|
20086 |
|
|
2008-05-08 Richard Guenther
|
20087 |
|
|
|
20088 |
|
|
PR middle-end/36172
|
20089 |
|
|
* fold-const.c (operand_equal_p): Two objects which types
|
20090 |
|
|
differ in pointerness are not equal.
|
20091 |
|
|
|
20092 |
|
|
2008-05-08 Kai Tietz
|
20093 |
|
|
|
20094 |
|
|
* calls.c (compute_argument_block_size): Add argument tree fndecl.
|
20095 |
|
|
(OUTGOING_REG_PARM_STACK_SPACE): Add function type argument.
|
20096 |
|
|
(emit_library_call_value_1): Add new variable fndecl initialized by
|
20097 |
|
|
NULL_TREE. It should be the decl type of orgfun, but this information
|
20098 |
|
|
seems not to be available here, so it uses the default calling abi.
|
20099 |
|
|
* config/arm/arm.c (arm_return_in_memory): Add fntype argumen.
|
20100 |
|
|
* config/arm/arm.h (RETURN_IN_MEMORY): Replace RETURN_IN_MEMORY
|
20101 |
|
|
by TARGET_RETURN_IN_MEMORY.
|
20102 |
|
|
* config/i386/i386-interix.h: Likewise.
|
20103 |
|
|
* config/i386/i386.h: Likewise.
|
20104 |
|
|
* config/i386/i386elf.h: Likewise.
|
20105 |
|
|
* config/i386/ptx4-i.h: Likewise.
|
20106 |
|
|
* config/i386/sol2-10.h: Likewise.
|
20107 |
|
|
* config/i386/sysv4.h: Likewise.
|
20108 |
|
|
* config/i386/vx-common.h: Likewise.
|
20109 |
|
|
* config/cris/cris.h: Removed #if 0 clause.
|
20110 |
|
|
* config/arm/arm-protos.h (arm_return_in_memory): Add fntype argument.
|
20111 |
|
|
* config/i386/i386-protos.h (ix86_return_in_memory): Add fntype
|
20112 |
|
|
argument.
|
20113 |
|
|
(ix86_sol10_return_in_memory): Likewise.
|
20114 |
|
|
(ix86_i386elf_return_in_memory): New.
|
20115 |
|
|
(ix86_i386interix_return_in_memory): New.
|
20116 |
|
|
* config/mt/mt-protos.h (mt_return_in_memory): New.
|
20117 |
|
|
* config/mt/mt.c: Likewise.
|
20118 |
|
|
* config/mt/mt.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument.
|
20119 |
|
|
(RETURN_IN_MEMORY): Replace by TARGET_RETURN_IN_MEMORY.
|
20120 |
|
|
* config/bfin/bfin.h: Likewise.
|
20121 |
|
|
* config/bfin/bfin-protos.h (bfin_return_in_memory): Add fntype
|
20122 |
|
|
argument.
|
20123 |
|
|
* config/bfin/bfin.c: Likewise.
|
20124 |
|
|
* config/pa/pa.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument.
|
20125 |
|
|
* config/alpha/unicosmk.h: Likewise.
|
20126 |
|
|
* config/i386/cygming.h: Likewise.
|
20127 |
|
|
* config/iq2000/iq2000.h: Likewise.
|
20128 |
|
|
* config/mips/mips.h: Likewise.
|
20129 |
|
|
* config/mn10300/mn10300.h: Likewise.
|
20130 |
|
|
* config/rs6000/rs6000.h: Likewise.
|
20131 |
|
|
* config/score/score.h: Likewise.
|
20132 |
|
|
* config/spu/spu.h: Likewise.
|
20133 |
|
|
* config/v850/v850.h: Likewise.
|
20134 |
|
|
* defaults.h: Likewise.
|
20135 |
|
|
* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Adjust documentation.
|
20136 |
|
|
* expr.c (emit_block_move): Adjust use of
|
20137 |
|
|
OUTGOING_REG_PARM_STACK_SPACE.
|
20138 |
|
|
* function.c (STACK_DYNAMIC_OFFSET): Adjust use of
|
20139 |
|
|
OUTGOING_REG_PARM_STACK_SPACE.
|
20140 |
|
|
* targhooks.c (default_return_in_memory): Remove RETURN_IN_MEMORY.
|
20141 |
|
|
|
20142 |
|
|
2008-05-08 Jakub Jelinek
|
20143 |
|
|
|
20144 |
|
|
* tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT
|
20145 |
|
|
on OMP_RETURN for OMP_FOR.
|
20146 |
|
|
|
20147 |
|
|
PR debug/35896
|
20148 |
|
|
* dwarf2out.c (dw_expand_expr, common_check): Removed.
|
20149 |
|
|
(fortran_common): New function.
|
20150 |
|
|
(gen_variable_die): Call fortran_common instead of common_check,
|
20151 |
|
|
adjust for it returning tree instead of rtx. Formatting.
|
20152 |
|
|
|
20153 |
|
|
2008-05-07 Kenneth Zadeck
|
20154 |
|
|
|
20155 |
|
|
PR rtl/7335
|
20156 |
|
|
PR rtl/33826
|
20157 |
|
|
* see.c (see_copy_insn): Copy new pure const attributes for new call.
|
20158 |
|
|
* c-decl.c (merge_decls): Ditto.
|
20159 |
|
|
* postreload.c (record_opr_changes): Change CONST_OR_PURE_CALL_P
|
20160 |
|
|
to RTL_CONST_OR_PURE_CALL_P.
|
20161 |
|
|
* tree.c (define_local_buitin): Rename DECL_IS_PURE to DECL_PURE_P.
|
20162 |
|
|
Initialized DECL_LOOPING_CONST_PURE.
|
20163 |
|
|
(process_call_operands): Set tree_side_effects properly.
|
20164 |
|
|
* tree.h (TREE_READONLY_DECL_P): Removed.
|
20165 |
|
|
(DECL_IS_PURE): Renamed to DECL_PURE_P.
|
20166 |
|
|
(DECL_LOOPING_OR_CONST_P): New macro.
|
20167 |
|
|
(struct tree_function_decl): Added looping_const_or_pure_p.
|
20168 |
|
|
(ECF_*) Renumbered.
|
20169 |
|
|
(ECF_LOOPING_OR_CONST_P): New macro.
|
20170 |
|
|
* rtlanal.c (pure_const_p): Removed.
|
20171 |
|
|
* builtins.c (expand_builtin): Rename DECL_IS_PURE to DECL_PURE_P.
|
20172 |
|
|
* reorg.c (delete_prior_computation) Changed CONST_OR_PURE_CALL_P
|
20173 |
|
|
to RTL_CONST_CALL_P.
|
20174 |
|
|
* ipa-pure-const.c (pure_const_state_e): Added looping field.
|
20175 |
|
|
(check_decl, check_tree, check_call, scan_function): Initialize
|
20176 |
|
|
looping.
|
20177 |
|
|
(analyze_function): Rename DECL_IS_PURE to DECL_PURE_P.
|
20178 |
|
|
(static_execute): Set looping true for recursive functions.
|
20179 |
|
|
Undo setting state to IPA_NEITHER for recursive functions.
|
20180 |
|
|
* cse.c (cse_insn):
|
20181 |
|
|
* ifcvt.c (noce_can_store_speculate_p): Changed
|
20182 |
|
|
CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or
|
20183 |
|
|
RTL_CONST_OR_PURE_CALL_P.
|
20184 |
|
|
* dse.c (scan_insn): Ditto.
|
20185 |
|
|
* local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto.
|
20186 |
|
|
* gcse.c (oprs_not_seen_p) Changed CONST_OR_PURE_CALL_P to
|
20187 |
|
|
RTL_CONST_OR_PURE_CALL_P.
|
20188 |
|
|
(store_killed_in_insn): Changed CONST_OR_PURE_CALL_P and
|
20189 |
|
|
pure_call_p to RTL_CONST_CALL_P.
|
20190 |
|
|
* gimplify.c (gimplify_call_expr): Clear side effects for
|
20191 |
|
|
non-looping pure and constant calls.
|
20192 |
|
|
* calls.c (emit_call_1): Set rtl flags from ecf flags.
|
20193 |
|
|
(flags_from_decl_or_type): Set ecf flags from decl flags.
|
20194 |
|
|
(initialize_argument_information): Turn off
|
20195 |
|
|
ECF_LOOPING_CONST_OR_PURE when turning off ECF_CONST.
|
20196 |
|
|
Change const to pure if callee_copies is true rather than just
|
20197 |
|
|
turning off const.
|
20198 |
|
|
(expand_call): Turn off ECF_LOOPING_PURE_CONST_CALL and remove old
|
20199 |
|
|
way of marking pure calls.
|
20200 |
|
|
(emit_library_call_value_1): Turn off ECF_LOOPING_PURE_CONST_CALL.
|
20201 |
|
|
Remove hack that was supposed to fix pr7335 and remove old
|
20202 |
|
|
way of marking pure calls.
|
20203 |
|
|
* emit-rtl.c (emit_copy_of_insn_after): Copy RTL_CONST_CALL_P,
|
20204 |
|
|
RTL_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P.
|
20205 |
|
|
* cselib.c (cselib_process_insn): Changed CONST_OR_PURE_CALL_P to
|
20206 |
|
|
RTL_CONST_OR_PURE_CALL_P.
|
20207 |
|
|
* tree-ssa-pre.c (can_value_number_call): Fixed spacing.
|
20208 |
|
|
* loop-invariant.c (find_exits, find_invariant_bb): Changed
|
20209 |
|
|
CONST_OR_PURE_CALL_P to RTL_CONST_OR_PURE_CALL_P.
|
20210 |
|
|
* sched-deps.c (schedule_analyze): Ditto.
|
20211 |
|
|
* rtl.h (struct rtx_def): Use call field, unchanging field, and
|
20212 |
|
|
return_val field of calls to represent pure and const function info.
|
20213 |
|
|
(CONST_OR_PURE_CALL_P): Deleted macro.
|
20214 |
|
|
(RTL_CONST_CALL_P, RTL_PURE_CALL_P,
|
20215 |
|
|
RTL_LOOPING_CONST_OR_PURE_CALL_P, RTL_CONST_OR_PURE_P): New macros.
|
20216 |
|
|
* tree-inline.c (copy_body_r): Changed TREE_READONLY_DECL_P to
|
20217 |
|
|
TREE_READONLY.
|
20218 |
|
|
* tree-optimize.c (execute_fixup_cfg): Added test for
|
20219 |
|
|
ECF_LOOPING_CONST_OR_PURE.
|
20220 |
|
|
* c-common.c (handle_pure_attribute): Changed DECL_IS_PURE to
|
20221 |
|
|
DECL_PURE_P.
|
20222 |
|
|
* tree-cfg.c (update_call_expr_flags): Do not clear tree side
|
20223 |
|
|
effects for looping pure or const calls.
|
20224 |
|
|
(verify_gimple_expr): Added verification code.
|
20225 |
|
|
* config/alpha/alpha.c (alpha_legitimize_address,
|
20226 |
|
|
alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to
|
20227 |
|
|
RTL_CONST_CALL_P.
|
20228 |
|
|
* config/s390/s390.c (s390_emit_tls_call_insn): Ditto.
|
20229 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Ditto.
|
20230 |
|
|
* config/mips/mips.c (mips_call_tls_get_addr): Ditto.
|
20231 |
|
|
* cfgrtl.c (need_fake_edge_p): Changed CONST_OR_PURE_CALL_P to
|
20232 |
|
|
RTL_CONST_OR_PURE_CALL_P.
|
20233 |
|
|
* dce.c (deletable_insn_p): Allow non looping, non sibling, pure
|
20234 |
|
|
and const calls to be deleted.
|
20235 |
|
|
|
20236 |
|
|
2008-05-07 Uros Bizjak
|
20237 |
|
|
|
20238 |
|
|
PR target/35714
|
20239 |
|
|
* config/i386/mmx.md (mmx_subv2sf3): New expander.
|
20240 |
|
|
(*mmx_subv2sf3): Rename from mmx_subv2sf3 insn pattern.
|
20241 |
|
|
(*mmx_eqv2sf3): Rename from mmx_eqv2sf3 insn pattern.
|
20242 |
|
|
(mmx_eqv2sf3): New expander. Use ix86_fixup_binary_operands_no_copy
|
20243 |
|
|
to handle nonimmediate operands.
|
20244 |
|
|
(*mmx_paddwd): Rename from mmx_paddwd insn pattern.
|
20245 |
|
|
(mmx_paddwd): New expander. Use ix86_fixup_binary_operands_no_copy
|
20246 |
|
|
to handle nonimmediate operands.
|
20247 |
|
|
(*mmx_pmulhrwv4hi3): Rename from mmx_pmulhrwv4hi3 insn pattern.
|
20248 |
|
|
(mmx_pmulhrwv4hi3): New expander. Use
|
20249 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20250 |
|
|
(*sse2_umulv1siv1di3): Rename from sse2_umulv1siv1di3 insn pattern.
|
20251 |
|
|
(sse2_umulv1siv1di3): New expander. Use
|
20252 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20253 |
|
|
(*mmx_eq3): Rename from mmx_eq3 insn pattern.
|
20254 |
|
|
(mmx_eq3): New expander. Use
|
20255 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20256 |
|
|
(*mmx_uavgv8qi3): Rename from mmx_uavgv8qi3 insn pattern.
|
20257 |
|
|
(mmx_uavgv8qi3): New expander. Use
|
20258 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20259 |
|
|
(*mmx_uavgv4hi3): Rename from mmx_uavgv4hi3 insn pattern.
|
20260 |
|
|
(mmx_uavgv4hi3): New expander. Use
|
20261 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20262 |
|
|
|
20263 |
|
|
* config/i386/sse.md
|
20264 |
|
|
(sse_movhlps_exp): New expander. Use ix86_fixup_binary_operands
|
20265 |
|
|
to handle nonimmediate operands.
|
20266 |
|
|
(sse_movlhps_exp): New expander. Use ix86_fixup_binary_operands
|
20267 |
|
|
to handle nonimmediate operands.
|
20268 |
|
|
(sse_loadhps_exp): New expander. Use ix86_fixup_binary_operands
|
20269 |
|
|
to handle nonimmediate operands.
|
20270 |
|
|
(sse_loadlps_exp): New expander. Use ix86_fixup_binary_operands
|
20271 |
|
|
to handle nonimmediate operands.
|
20272 |
|
|
(sse2_unpckhpd_exp): New expander. Use
|
20273 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20274 |
|
|
(sse2_unpcklpd_exp): New expander. Use
|
20275 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20276 |
|
|
(sse_loadhpd_exp): New expander. Use ix86_fixup_binary_operands
|
20277 |
|
|
to handle nonimmediate operands.
|
20278 |
|
|
(sse_loadlpd): New expander. Use ix86_fixup_binary_operands
|
20279 |
|
|
to handle nonimmediate operands.
|
20280 |
|
|
(*sse2_3): Rename from
|
20281 |
|
|
sse2_3 insn pattern.
|
20282 |
|
|
(sse2_3): New expander. Use
|
20283 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20284 |
|
|
(*sse2_umulv2siv2di3): Rename from sse2_umulv2siv2di3 insn pattern.
|
20285 |
|
|
(sse2_umulv2siv2di3): New expander. Use
|
20286 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20287 |
|
|
(*sse4_1_mulv2siv2di3): Rename from sse4_1_mulv2siv2di3 insn pattern.
|
20288 |
|
|
(sse4_1_mulv2siv2di3): New expander. Use
|
20289 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20290 |
|
|
(*sse2_pmaddwd): Rename from sse2_pmaddwd insn pattern.
|
20291 |
|
|
(sse2_pmaddwd): New expander. Use
|
20292 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20293 |
|
|
(*sse2_eq3): Rename from sse2_eq3 insn pattern.
|
20294 |
|
|
(sse2_eq3): New expander. Use
|
20295 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20296 |
|
|
(*sse4_1_eqv2di3): Rename from sse4_1_eqv2di3 insn pattern.
|
20297 |
|
|
(sse4_1_eqv2di3): New expander. Use
|
20298 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20299 |
|
|
(*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern.
|
20300 |
|
|
(sse2_uavgv16qi3): New expander. Use
|
20301 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20302 |
|
|
(*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern.
|
20303 |
|
|
(sse2_uavgv16qi3): New expander. Use
|
20304 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20305 |
|
|
(*sse2_uavgv8hi3): Rename from sse2_uavgv8hi3 insn pattern.
|
20306 |
|
|
(sse2_uavgv8hi3): New expander. Use
|
20307 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20308 |
|
|
(*ssse3_pmulhrswv8hi3): Rename from ssse3_pmulhrswv8hi3 insn pattern.
|
20309 |
|
|
(ssse3_pmulhrswv8hi3): New expander. Use
|
20310 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20311 |
|
|
(*ssse3_pmulhrswv4hi3): Rename from ssse3_pmulhrswv4hi3 insn pattern.
|
20312 |
|
|
(ssse3_pmulhrswv4hi3): New expander. Use
|
20313 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20314 |
|
|
|
20315 |
|
|
(_vm3): Do not use ix86_binary_operator_ok.
|
20316 |
|
|
(_vmmul3): Ditto.
|
20317 |
|
|
(divv4sf3): Do not use ix86_fixup_binary_operands_no_copy.
|
20318 |
|
|
(divv2df3): Ditto.
|
20319 |
|
|
(ssse3_pmaddubsw128): Use register_operand for operand 1.
|
20320 |
|
|
(ssse3_pmaddubsw): Ditto.
|
20321 |
|
|
|
20322 |
|
|
* config/i386/i386.c (struct_builtin_description)
|
20323 |
|
|
[IX86_BUILTIN_LOADHPS]: Use CODE_FOR_sse_loadhps_exp.
|
20324 |
|
|
[IX86_BUILTIN_STOREHPS]: Use CODE_FOR_sse_loadlps_exp.
|
20325 |
|
|
[IX86_BUILTIN_LOADHPD]: Use CODE_FOR_sse2_loadhpd_exp.
|
20326 |
|
|
[IX86_BUILTIN_LOADLPD]: Use CODE_FOR_sse2_loadlpd_exp.
|
20327 |
|
|
[IX86_BUILTIN_MOVHLPS]: Use CODE_FOR_sse_movhlps_exp.
|
20328 |
|
|
[IX86_BUILTIN_MOVLHPS]: Use CODE_FOR_sse_movlhps_exp.
|
20329 |
|
|
[IX86_BUILTIN_UNPCKHPD]: Use FOR_sse2_unpckhpd_exp.
|
20330 |
|
|
[IX86_BUILTIN_UNPCKLPD]: Use FOR_sse2_unpcklpd_exp.
|
20331 |
|
|
(ix86_fixup_binary_operands): Assert that src1
|
20332 |
|
|
and src2 must have the same mode when swapped.
|
20333 |
|
|
(ix86_expand_binop_builtin): Do not use ix86_fixup_binary_operands
|
20334 |
|
|
and ix86_binary_operator_ok. Do not force operands in registers
|
20335 |
|
|
when optimizing.
|
20336 |
|
|
|
20337 |
|
|
2008-05-07 Jan Hubicka
|
20338 |
|
|
|
20339 |
|
|
* cgraph.c (dump_cgraph_node): Update.
|
20340 |
|
|
* cgraph.h (cgraph_local_info): Break out inline summary.
|
20341 |
|
|
* cgraphunit.c (cgraph_process_new_functions): Use inliner analysis
|
20342 |
|
|
hook.
|
20343 |
|
|
* ipa-inline (inline_summary): New accestor function.
|
20344 |
|
|
(cgraph_clone_inlined_nodes, cgraph_check_inline_limits,
|
20345 |
|
|
cgraph_decide_inlining, compute_inline_parameters): Update.
|
20346 |
|
|
* ipa.c (cgraph_remove_unreachable_nodes): Remove statistics.
|
20347 |
|
|
|
20348 |
|
|
2008-05-07 Maxim Kuvyrkov
|
20349 |
|
|
|
20350 |
|
|
Cleanup ColdFire scheduling support and add V4 pipeline model.
|
20351 |
|
|
|
20352 |
|
|
* config/m68k/m68k.md (UNSPEC_TIE): New constant.
|
20353 |
|
|
(define_attr cpu): Add cfv4 value.
|
20354 |
|
|
(define_attr type, define_attr type1): Merge into a single 'type'
|
20355 |
|
|
attribute. Update all uses.
|
20356 |
|
|
(define_attr opx_type, define_attr opy_type, define_attr opx_access):
|
20357 |
|
|
Rearrange and update. Rename value 'reg' to 'Rn', add value 'FPn'.
|
20358 |
|
|
Update all uses.
|
20359 |
|
|
(define_attr opx_mem, define_attr opy_mem): Remove.
|
20360 |
|
|
(define_attr op_mem): Clean up, update comment.
|
20361 |
|
|
(define_attr size): Use specific values instead of general int.
|
20362 |
|
|
(define_attr guess, define_attr split): Remove. Update all uses.
|
20363 |
|
|
(movdf_internal, tstsi_internal, tsthi_internal, tstqi_internal,
|
20364 |
|
|
tst_68881, pushexthisi_const, movsi_const0_68000_10,
|
20365 |
|
|
movsi_const0_68040_60, movsi_const0, movsi_cf, movstrictqi_cf,
|
20366 |
|
|
zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2,
|
20367 |
|
|
68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2,
|
20368 |
|
|
floatsi2_68881, ftrunc2_68881, ftrunc2_cf,
|
20369 |
|
|
fixqi2_68881, fixhi2_68881, fixsi2_68881,
|
20370 |
|
|
adddi_dishl32, addsi3_5200, add3_floatsi_68881,
|
20371 |
|
|
add3_floathi_68881, add3_floatqi_68881,
|
20372 |
|
|
add3_68881, add3_cf, subdi_dishl32, subsi3,
|
20373 |
|
|
sub3_floatsi_68881, sub3_floathi_68881,
|
20374 |
|
|
sub3_floatqi_68881, sub3_68881, sub3_cf,
|
20375 |
|
|
mulhi3, mulhisi3, mulhisisi3_s, mulsi3_68020, mulsi3_cf,
|
20376 |
|
|
umulhisi3, mulhisisi3_z, mul3_floatsi_68881,
|
20377 |
|
|
mul3_floathi_68881, mul3_floatqi_68881, fmul3_cf,
|
20378 |
|
|
div3_cf, sqrt2_cf, abs2_cf, clzsi2,
|
20379 |
|
|
one_cmplsi2_5200, subreghi1ashrdi_const32, ashrsi3, lshrsi3,
|
20380 |
|
|
bsetmemqi, bsetmemqi_ext, bclrmemqi, bclrmemqi_ext,
|
20381 |
|
|
beq, bne, bgt, blt, bordered, bunordered, buneq, bunge, bungt, bunle,
|
20382 |
|
|
bunlt, bltgt, tablejump_internal, call, non_symbolic_call_value,
|
20383 |
|
|
symbolic_call_value_jsr, symbolic_call_value_bsr, link):
|
20384 |
|
|
Update or set attributes.
|
20385 |
|
|
(stack_tie): New fake instruction.
|
20386 |
|
|
|
20387 |
|
|
* config/m68k/m68k.h (TUNE_CFV4): New macro.
|
20388 |
|
|
(m68k_sched_attr_size): Update declaration.
|
20389 |
|
|
(m68k_sched_attr_type2): Remove.
|
20390 |
|
|
(m68k_sched_address_bypass_p, m68k_sched_indexed_address_bypass_p):
|
20391 |
|
|
Declare new bypass predicates.
|
20392 |
|
|
|
20393 |
|
|
* config/m68k/m68k.c (m68k_sched_issue_rate,
|
20394 |
|
|
m68k_sched_first_cycle_multipass_dfa_lookahead): Declare hook
|
20395 |
|
|
implementations.
|
20396 |
|
|
(TARGET_SCHED_ISSUE_RATE,
|
20397 |
|
|
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Override hooks.
|
20398 |
|
|
(override_options): Handle scheduling for ColdFire V4 core.
|
20399 |
|
|
(m68k_expand_prologue): Emit stack_tie.
|
20400 |
|
|
(enum attr_op_type): Split value 'OP_TYPE_REG' to 'OP_TYPE_RN' and
|
20401 |
|
|
'OP_TYPE_FPN'. Update all uses.
|
20402 |
|
|
(sched_guess_p): Remove.
|
20403 |
|
|
(sched_address_type): Handle symbolic addresses.
|
20404 |
|
|
(sched_get_operand): New static function.
|
20405 |
|
|
(sched_operand_type): Merge into sched_attr_op_type.
|
20406 |
|
|
(sched_attr_op_type): Handle FP registers, handle quick constants,
|
20407 |
|
|
update.
|
20408 |
|
|
(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type): Update.
|
20409 |
|
|
(m68k_sched_attr_size): Update. Move logic to ...
|
20410 |
|
|
(sched_get_attr_size_int): New static function.
|
20411 |
|
|
(sched_get_opxy_mem_type): New static function.
|
20412 |
|
|
(m68k_sched_attr_op_mem): Update.
|
20413 |
|
|
(m68k_sched_attr_type2): Remove.
|
20414 |
|
|
(sched_cfv4_bypass_data): New static variable.
|
20415 |
|
|
(m68k_sched_adjust_cost): Handle ColdFire V4 bypass.
|
20416 |
|
|
(m68k_sched_issue_rate): Implement scheduler hook.
|
20417 |
|
|
(struct _sched_ib: enabled_p): New field.
|
20418 |
|
|
(m68k_sched_variable_issue): Update. Handle V4.
|
20419 |
|
|
(SCHED_DUMP_TODO, SCHED_DUMP_DONE, SCHED_DUMP_NOTHING,
|
20420 |
|
|
sched_dump_class_func_t, sched_dump_split_class,
|
20421 |
|
|
sched_dump_dfa_guess_unit_code, sched_dump_dfa_state,
|
20422 |
|
|
sched_dump_dfa_class, m68k_sched_dump): Remove.
|
20423 |
|
|
(m68k_sched_first_cycle_multipass_dfa_lookahead): Implement scheduler
|
20424 |
|
|
hook.
|
20425 |
|
|
(m68k_sched_init_global): Remove statisctics dumping, introduce
|
20426 |
|
|
sanity check that all instructions have pipeline reservations. Handle
|
20427 |
|
|
ColdFire V4 core.
|
20428 |
|
|
(m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle):
|
20429 |
|
|
Handle ColdFire V4 core.
|
20430 |
|
|
(sched_mem_operand_p, sched_get_reg_operand, sched_get_mem_operand):
|
20431 |
|
|
New static functions.
|
20432 |
|
|
(m68k_sched_address_bypass_p): New bypass predicate.
|
20433 |
|
|
(sched_get_indexed_address_scale): New static function.
|
20434 |
|
|
(m68k_sched_indexed_address_bypass_p): New bypass predicate.
|
20435 |
|
|
|
20436 |
|
|
* cf.md: Update comments.
|
20437 |
|
|
(define_attr type2): Remove. Use 'type' attribute instead.
|
20438 |
|
|
Update all uses.
|
20439 |
|
|
(cf_ib): Rename to cfv123_ib. Update all uses.
|
20440 |
|
|
(cf_oep): Rename to cfv123_oep. Update all uses.
|
20441 |
|
|
(cf_chr): Rename to cfv123_chr. Update all uses.
|
20442 |
|
|
(cf_mem): Rename to cfv123_mem. Update all uses.
|
20443 |
|
|
(cf_mac): Move to more appropriate place.
|
20444 |
|
|
(cfv123_guess): New automaton and cpu_unit.
|
20445 |
|
|
(cfv123_*, cfv12_*, cfv1_*, cfv2_*, cfv3_*): Use type attribute.
|
20446 |
|
|
Update uses of 'size' attribute. Handle before reload scheduling.
|
20447 |
|
|
(cfv123_guess): New dummy reservation for unhandled instructions.
|
20448 |
|
|
(cfv4_*): Pipeline description of ColdFire V4 core.
|
20449 |
|
|
(ignore): New reservation to handle 'ignore' type.
|
20450 |
|
|
|
20451 |
|
|
2008-05-07 Ian Lance Taylor
|
20452 |
|
|
|
20453 |
|
|
PR middle-end/36013
|
20454 |
|
|
* gimplify.c (find_single_pointer_decl_1): Don't look through
|
20455 |
|
|
indirections.
|
20456 |
|
|
(find_single_pointer_decl): Adjust comments.
|
20457 |
|
|
|
20458 |
|
|
2008-05-07 Jakub Jelinek
|
20459 |
|
|
|
20460 |
|
|
PR middle-end/36137
|
20461 |
|
|
* fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of
|
20462 |
|
|
STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR.
|
20463 |
|
|
|
20464 |
|
|
PR middle-end/36106
|
20465 |
|
|
* omp-low.c (expand_omp_atomic_pipeline): Load value using the
|
20466 |
|
|
integral type rather than floating point, then VIEW_CONVERT_EXPR
|
20467 |
|
|
to the floating point type.
|
20468 |
|
|
|
20469 |
|
|
2008-05-07 Uros Bizjak
|
20470 |
|
|
|
20471 |
|
|
* config/i386/i386.c (ix86_expand_copysign): Force non-zero constant
|
20472 |
|
|
TFmode op0 to register.
|
20473 |
|
|
|
20474 |
|
|
2008-05-07 Alan Modra
|
20475 |
|
|
|
20476 |
|
|
* c-decl.c (grokdeclarator): Comment typo.
|
20477 |
|
|
|
20478 |
|
|
2008-05-06 Aldy Hernandez
|
20479 |
|
|
|
20480 |
|
|
* tree-flow.h: Remove prototype for computed_goto_p.
|
20481 |
|
|
* tree-cfg.c (computed_goto_p): Make static.
|
20482 |
|
|
|
20483 |
|
|
2008-05-06 H.J. Lu
|
20484 |
|
|
|
20485 |
|
|
PR target/35657
|
20486 |
|
|
* config/i386/i386.c (contains_128bit_aligned_vector_p): Renamed to ...
|
20487 |
|
|
(contains_aligned_value_p): This. Handle _Decimal128.
|
20488 |
|
|
(ix86_function_arg_boundary): Only align _Decimal128 to its
|
20489 |
|
|
natural boundary and handle it properly.
|
20490 |
|
|
|
20491 |
|
|
2008-05-06 Martin Jambor
|
20492 |
|
|
|
20493 |
|
|
* ipa-cp.c (ipcp_method_orig_node): Renamed to ipcp_get_orig_node.
|
20494 |
|
|
(ipcp_method_is_cloned): Renamed to ipcp_node_is_clone
|
20495 |
|
|
(ipcp_method_set_orig_node): Removed.
|
20496 |
|
|
(ipcp_cval_get_cvalue_type): Removed.
|
20497 |
|
|
(ipcp_method_get_scale): Renamed to ipcp_get_node_scale.
|
20498 |
|
|
(ipcp_method_set_scale): Renamed to ipcp_set_node_scale.
|
20499 |
|
|
(ipcp_cval_set_cvalue_type): Removed.
|
20500 |
|
|
(ipcp_cval_get_cvalue): Removed.
|
20501 |
|
|
(ipcp_cval_set_cvalue): Removed.
|
20502 |
|
|
(ipcp_type_is_const): Renamed to ipcp_lat_is_const.
|
20503 |
|
|
(ipcp_cval_equal_cvalues): Renamed to ipcp_lats_are_equal
|
20504 |
|
|
(ipcp_lats_are_equal): Changed parameters to two ipcp_lattice's
|
20505 |
|
|
(ipcp_cval_meet): Renamed to ipa_lattice_meet
|
20506 |
|
|
(ipcp_cval_changed): Changed to use ipcp_lat_is_const
|
20507 |
|
|
(ipcp_method_cval): Renamed to ipcp_get_ith_lattice
|
20508 |
|
|
(ipcp_get_ith_lattice): Changed parameters.
|
20509 |
|
|
(ipcp_cval_compute): Renamed to ipcp_lattice_from_jfunc
|
20510 |
|
|
(ipcp_lattice_from_jfunc): Changed parameters.
|
20511 |
|
|
(ipcp_redirect): Local lattice pointer instead of lattice type variable.
|
20512 |
|
|
(ipcp_method_cval_print): Added temporary variable info.
|
20513 |
|
|
(ipcp_redirect): Removed already unused local variable caller.
|
20514 |
|
|
(ipcp_redirect): New temporary variable orig_callee_info
|
20515 |
|
|
(ipcp_redirect): Removed newly unused local variable callee.
|
20516 |
|
|
(ipcp_redirect): Removed (a bit confusing) local variable type.
|
20517 |
|
|
(ipcp_insert_stage): Added local variable info.
|
20518 |
|
|
(ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters
|
20519 |
|
|
renamed too
|
20520 |
|
|
(ipcp_formal_create): Removed.
|
20521 |
|
|
(ipcp_method_cval_set): Removed.
|
20522 |
|
|
(ipcp_propagate_stage): Renamed lattice variables.
|
20523 |
|
|
(ipcp_method_cval_set_cvalue_type): Removed.
|
20524 |
|
|
(ipcp_method_cval_print): Renamed to ipcp_print_all_lattices
|
20525 |
|
|
(ipcp_print_all_lattices): Changed printed strings to refer to
|
20526 |
|
|
lattices rather than cvals.
|
20527 |
|
|
(ipcp_method_cval_init): Renamed to ipcp_initialize_node_lattices
|
20528 |
|
|
(ipcp_propagate_const): Changed formal parameters.
|
20529 |
|
|
(build_const_val): Changed formal parameters.
|
20530 |
|
|
(ipcp_insert_stage): Removed useless variable cvalue
|
20531 |
|
|
(build_const_val): Changed formal parameters.
|
20532 |
|
|
(ipcp_method_compute_scale): Renamed to ipcp_compute_node_scale
|
20533 |
|
|
(ipcp_after_propagate): Renamed to ipcp_change_tops_to_bottom
|
20534 |
|
|
(ipcp_callsite_param_print): Renamed to ipcp_print_all_jump_functions
|
20535 |
|
|
(ipcp_profile_mt_count_print): Renamed to ipcp_print_func_profile_counts
|
20536 |
|
|
(ipcp_print_func_profile_counts): Changed string from "method" to
|
20537 |
|
|
"function"
|
20538 |
|
|
(ipcp_profile_cs_count_print): Renamed to ipcp_print_call_profile_counts
|
20539 |
|
|
(ipcp_profile_edge_print): Renamed to ipcp_print_edge_profiles
|
20540 |
|
|
(ipcp_profile_bb_print): Renamed to ipcp_print_bb_profiles
|
20541 |
|
|
(ipcp_structures_print): Renamed to ipcp_print_all_structures
|
20542 |
|
|
(ipcp_profile_print): Renamed to ipcp_print_profile_data
|
20543 |
|
|
(ipcp_lat_is_const): Changed parameters and made inline.
|
20544 |
|
|
(ipcp_replace_map_create): Renamed to ipcp_create_replace_map
|
20545 |
|
|
(ipcp_redirect): Renamed to ipcp_need_redirect_p
|
20546 |
|
|
(ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using
|
20547 |
|
|
the predicate condition directly
|
20548 |
|
|
(ipcp_propagate_stage): Added local variable args. Removed local
|
20549 |
|
|
variable callee. (Both are mere code simplifications.)
|
20550 |
|
|
(ipcp_method_dont_insert_const): Renamed to
|
20551 |
|
|
ipcp_node_not_modifiable_p.
|
20552 |
|
|
(ipcp_node_not_modifiable_p): Made inline.
|
20553 |
|
|
(ipcp_cloned_create): Renamed to ipcp_init_cloned_node
|
20554 |
|
|
(ipcp_propagate_const): Renamed to ipcp_propagate_one_const
|
20555 |
|
|
(ipcp_print_all_lattices): Removed variable cvalue
|
20556 |
|
|
(ipcp_method_scale_print): Renamed to ipcp_function_scale_print
|
20557 |
|
|
Updated comments.
|
20558 |
|
|
|
20559 |
|
|
2008-05-06 Olivier Hainque
|
20560 |
|
|
|
20561 |
|
|
* tree-sra.c (try_instantiate_multiple_fields): Early return
|
20562 |
|
|
if field has POINTER_TYPE.
|
20563 |
|
|
|
20564 |
|
|
2008-05-06 Kai Tietz
|
20565 |
|
|
|
20566 |
|
|
* config/i386/i386.c (output_set_got): Fix for x86_64 output_emit_asm
|
20567 |
|
|
by using 'q' specifier for instruction.
|
20568 |
|
|
(ix86_file_end): Replaced case TARGET_64BIT_MS_ABI by TARGET_64BIT.
|
20569 |
|
|
|
20570 |
|
|
2008-05-06 Anatoly Sokolov
|
20571 |
|
|
|
20572 |
|
|
* config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
|
20573 |
|
|
Change mode of zero_extract from QImode to HImode.
|
20574 |
|
|
(sign bit tests peepholes): (Ditto.).
|
20575 |
|
|
|
20576 |
|
|
2008-05-06 Uros Bizjak
|
20577 |
|
|
|
20578 |
|
|
* config/i386/mmx.md: Remove double backslashes from asm templates.
|
20579 |
|
|
(*mmx_addv2sf3): Rename from mmx_addv2sf3 insn pattern.
|
20580 |
|
|
(mmx_addv2sf3): New expander. Use ix86_fixup_binary_operands_no_copy
|
20581 |
|
|
to handle nonimmediate operands.
|
20582 |
|
|
(*mmx_mulv2sf3): Rename from mmx_mulv2sf3 insn pattern.
|
20583 |
|
|
(mmx_mulv2sf3): New expander. Use ix86_fixup_binary_operands_no_copy
|
20584 |
|
|
to handle nonimmediate operands.
|
20585 |
|
|
(*mmx_v2sf3_finite): New insn pattern.
|
20586 |
|
|
(*mmx_v2sf3): Rename from mmx_v2sf3 insn pattern.
|
20587 |
|
|
(mmx_v2sf3): New expander. Use
|
20588 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20589 |
|
|
(mmx_3): New expander. Use
|
20590 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20591 |
|
|
(*mmx_3): New insn pattern.
|
20592 |
|
|
(mmx_add3): Removed.
|
20593 |
|
|
(mmx_ssadd3): Ditto.
|
20594 |
|
|
(mmx_usadd3): Ditto.
|
20595 |
|
|
(mmx_sub3): Ditto.
|
20596 |
|
|
(mmx_sssub3): Ditto.
|
20597 |
|
|
(mmx_ussub3): Ditto.
|
20598 |
|
|
(*mmx_mulv4hi3): Rename from mmx_mulv4hi3 insn pattern.
|
20599 |
|
|
(mmx_mulv4hi3): New expander. Use ix86_fixup_binary_operands_no_copy
|
20600 |
|
|
to handle nonimmediate operands.
|
20601 |
|
|
(*mmx_smulv4hi3_highpart): Rename from mmx_smulv4hi3_highpart
|
20602 |
|
|
insn pattern.
|
20603 |
|
|
(mmx_smulv4hi3_highpart): New expander. Use
|
20604 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20605 |
|
|
(*mmx_umulv4hi3_highpart): Rename from mmx_umulv4hi3_highpart
|
20606 |
|
|
insn pattern.
|
20607 |
|
|
(mmx_umulv4hi3_highpart): New expander. Use
|
20608 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20609 |
|
|
(*mmx_v4hi3): Rename from mmx_v4hi3 insn pattern.
|
20610 |
|
|
(mmx_v4hi3): New expander. Use
|
20611 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20612 |
|
|
(*mmx_v8qi3): Rename from mmx_v8qi3 insn pattern.
|
20613 |
|
|
(mmx_v8qi3): New expander. Use
|
20614 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20615 |
|
|
(*mmx_3): Rename from mmx_3 insn pattern.
|
20616 |
|
|
(mmx_3): New expander. Use
|
20617 |
|
|
ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
|
20618 |
|
|
|
20619 |
|
|
2008-05-05 Jan Hubicka
|
20620 |
|
|
|
20621 |
|
|
PR tree-optimization/36118
|
20622 |
|
|
* passes.c (pass_init_dump_file): Fix dump header.
|
20623 |
|
|
|
20624 |
|
|
2008-05-05 Andrew Pinski
|
20625 |
|
|
|
20626 |
|
|
PR middle-end/36141
|
20627 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't create
|
20628 |
|
|
VCE for function decls.
|
20629 |
|
|
|
20630 |
|
|
2008-05-05 H.J. Lu
|
20631 |
|
|
|
20632 |
|
|
* config/i386/sse.md (sse2_3): Fix a typo.
|
20633 |
|
|
|
20634 |
|
|
2008-05-05 H.J. Lu
|
20635 |
|
|
|
20636 |
|
|
* config/i386/i386.md (sat_plusminus): New.
|
20637 |
|
|
(plusminus_insn): Likewise.
|
20638 |
|
|
(plusminus_mnemonic): Likewise.
|
20639 |
|
|
(addsub): Removed.
|
20640 |
|
|
(comm): Add ss_plus, us_plus, ss_minus and us_minus.
|
20641 |
|
|
(*3_cc_overflow): Renamed to ...
|
20642 |
|
|
(*3_cc_overflow): This.
|
20643 |
|
|
(*si3_zext_cc_overflow): Renamed to ...
|
20644 |
|
|
(*si3_zext_cc_overflow): This.
|
20645 |
|
|
|
20646 |
|
|
* config/i386/sse.md (3): Renamed to ...
|
20647 |
|
|
(3): This.
|
20648 |
|
|
(*3): Renamed to ...
|
20649 |
|
|
(*3): This.
|
20650 |
|
|
(_vm3): Renamed to ...
|
20651 |
|
|
(_vm3): This.
|
20652 |
|
|
(sse3_hv4sf3): Renamed to ...
|
20653 |
|
|
(sse3_hv4sf3): This.
|
20654 |
|
|
(sse3_hv2df3): Renamed to ...
|
20655 |
|
|
(sse3_hv2df3): This.
|
20656 |
|
|
(3): New.
|
20657 |
|
|
(*3): Likewise.
|
20658 |
|
|
(sse2_3): Likewise.
|
20659 |
|
|
(add): Removed.
|
20660 |
|
|
(*add3): Likewise.
|
20661 |
|
|
(sse2_ssadd3): Likewise.
|
20662 |
|
|
(sse2_usadd3): Likewise.
|
20663 |
|
|
(sub3): Likewise.
|
20664 |
|
|
(*sub3): Likewise.
|
20665 |
|
|
(sse2_sssub3): Likewise.
|
20666 |
|
|
(sse2_ussub3): Likewise.
|
20667 |
|
|
|
20668 |
|
|
2008-05-05 Benjamin Kosnik
|
20669 |
|
|
|
20670 |
|
|
* gthr-single.h: Add in required interface elements as per gthr.h.
|
20671 |
|
|
Add stub types for __gthread_key_t, __gthread_once_t. Add defines
|
20672 |
|
|
for __GTHREAD_ONCE_INIT, __GTHREAD_RECURSIVE_MUTEX_INIT.
|
20673 |
|
|
Generalize UNUSED macro.
|
20674 |
|
|
(__gthread_once): Add.
|
20675 |
|
|
(__gthread_key_create): Add.
|
20676 |
|
|
(__gthread_key_delete): Add.
|
20677 |
|
|
(__gthread_getspecific): Add.
|
20678 |
|
|
(__gthread_setspecific): Add.
|
20679 |
|
|
|
20680 |
|
|
2008-05-05 Andrew Pinski
|
20681 |
|
|
|
20682 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have
|
20683 |
|
|
the same size types for the indirect reference on the rhs, then
|
20684 |
|
|
create a VCE.
|
20685 |
|
|
|
20686 |
|
|
2008-05-05 Uros Bizjak
|
20687 |
|
|
|
20688 |
|
|
* config/i386/i386.md
|
20689 |
|
|
(*float2_sse_interunit): Use only
|
20690 |
|
|
one insn template instead of template series.
|
20691 |
|
|
(*xordi_1_rex64): Ditto.
|
20692 |
|
|
(*xordi_2_rex64): Ditto.
|
20693 |
|
|
|
20694 |
|
|
2008-05-05 Ira Rosen
|
20695 |
|
|
|
20696 |
|
|
PR tree-optimization/36119
|
20697 |
|
|
* tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1
|
20698 |
|
|
in case of SLP.
|
20699 |
|
|
|
20700 |
|
|
2008-06-04 Jan Hubicka
|
20701 |
|
|
|
20702 |
|
|
tree-optimization/36100
|
20703 |
|
|
* tree-pass.h (pass_O0_always_inline): Declare.
|
20704 |
|
|
* ipa-inline.c (inline_transform): Remove dead code.
|
20705 |
|
|
(cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
|
20706 |
|
|
pass_O0_always_inline): New.
|
20707 |
|
|
* passes.c (init_optimization_passes): Add pass_O0_always_inline.
|
20708 |
|
|
|
20709 |
|
|
2008-05-04 Kai Tietz
|
20710 |
|
|
|
20711 |
|
|
* config/i386/i386.c (x86_output_mi_thunk): Use movq alternative
|
20712 |
|
|
mnemonic in this_param move for TARGET_64BIT.
|
20713 |
|
|
|
20714 |
|
|
2008-05-04 Uros Bizjak
|
20715 |
|
|
|
20716 |
|
|
* config/i386/i386.md (*strmovsi_1): Simplify asm alternatives.
|
20717 |
|
|
(*strmovsi_rex_1): Ditto.
|
20718 |
|
|
(*strsetsi_1): Ditto.
|
20719 |
|
|
(*strsetsi_rex_1): Ditto.
|
20720 |
|
|
|
20721 |
|
|
(addcc): Macroize expander from addqicc, addhicc, addsicc and
|
20722 |
|
|
adddicc expanders using SWI mode iterator.
|
20723 |
|
|
|
20724 |
|
|
2008-05-04 H.J. Lu
|
20725 |
|
|
|
20726 |
|
|
PR target/36121
|
20727 |
|
|
* config/i386/i386.c (ix86_expand_special_args_builtin): Remove three
|
20728 |
|
|
argument handling.
|
20729 |
|
|
|
20730 |
|
|
2008-05-04 David S. Miller
|
20731 |
|
|
|
20732 |
|
|
* config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
|
20733 |
|
|
(sparc*-*-linux*): Use linux.h in tm_file.
|
20734 |
|
|
(sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch
|
20735 |
|
|
compiler defaulting to 32-bit.
|
20736 |
|
|
(sparc*-*-*): Remove explicit target settings of need_64bit_hwint,
|
20737 |
|
|
no longer needed.
|
20738 |
|
|
* config/sparc/linux.h: Remove definitions now obtained
|
20739 |
|
|
properly from linux.h
|
20740 |
|
|
* config/sparc/linux64.h: Likewise.
|
20741 |
|
|
(ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we
|
20742 |
|
|
don't want this setting for 32-bit builds in a biarch compiler.
|
20743 |
|
|
* doc/install.texi: Add sparc-linux to list of targets
|
20744 |
|
|
supporting --enable-targets=all.
|
20745 |
|
|
|
20746 |
|
|
2008-05-03 Andrew Pinski
|
20747 |
|
|
|
20748 |
|
|
* Makefile.in (tree-ssa-phiprop.o): Fix dependencies.
|
20749 |
|
|
|
20750 |
|
|
2008-05-03 H.J. Lu
|
20751 |
|
|
|
20752 |
|
|
* config/i386/i386.c (ix86_builtin_type): Move V4SI_FTYPE_V4SF
|
20753 |
|
|
after V4SI_FTYPE_V8HI.
|
20754 |
|
|
(ix86_init_mmx_sse_builtins): Move case V4HI_FTYPE_V4HI after
|
20755 |
|
|
case V4SI_FTYPE_V2DF.
|
20756 |
|
|
|
20757 |
|
|
2008-05-03 Kenneth Zadeck
|
20758 |
|
|
|
20759 |
|
|
* doc/invoke.texi (max-flow-memory-locations): Removed.
|
20760 |
|
|
* params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed.
|
20761 |
|
|
|
20762 |
|
|
2008-05-03 Richard Guenther
|
20763 |
|
|
|
20764 |
|
|
PR middle-end/34973
|
20765 |
|
|
* opts.c (set_Wstrict_aliasing): Handle the turn-off case.
|
20766 |
|
|
|
20767 |
|
|
2008-05-02 David S. Miller
|
20768 |
|
|
|
20769 |
|
|
* config.gcc (need_64bit_hwint): Document libcpp dependency.
|
20770 |
|
|
|
20771 |
|
|
2008-05-02 Simon Baldwin
|
20772 |
|
|
|
20773 |
|
|
PR bootstrap/36108
|
20774 |
|
|
* c-common.h (warn_array_subscript_range): Removed.
|
20775 |
|
|
* c-common.c (warn_array_subscript_range): Ditto.
|
20776 |
|
|
* tree-vrp.c (check_array_ref): Revert to ignoring arrays with size 2.
|
20777 |
|
|
* c-typeck.c (build_array_ref): Remove warn_array_subscript_range.
|
20778 |
|
|
|
20779 |
|
|
2008-05-02 H.J. Lu
|
20780 |
|
|
|
20781 |
|
|
* config/i386/i386.c (ix86_special_builtin_type): New.
|
20782 |
|
|
(bdesc_special_args): Likewise.
|
20783 |
|
|
(ix86_expand_special_args_builtin): Likewise.
|
20784 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
20785 |
|
|
(ix86_expand_builtin): Updated.
|
20786 |
|
|
(ix86_expand_store_builtin): Removed.
|
20787 |
|
|
(ix86_expand_unop_builtin): Likewise.
|
20788 |
|
|
|
20789 |
|
|
* config/i386/mm3dnow.h (__v2sf): Moved to ...
|
20790 |
|
|
* config/i386/mmintrin.h (__v2sf): Here.
|
20791 |
|
|
|
20792 |
|
|
* config/i386/xmmintrin.h (_mm_loadh_pi): Replace __v2si with
|
20793 |
|
|
const __v2sf.
|
20794 |
|
|
(_mm_loadl_pi): Likewise.
|
20795 |
|
|
(_mm_storeh_pi): Replace __v2si with __v2sf.
|
20796 |
|
|
(_mm_storel_pi): Likewise.
|
20797 |
|
|
|
20798 |
|
|
* doc/extend.texi: Correct __builtin_ia32_loadhps,
|
20799 |
|
|
__builtin_ia32_loadlps, __builtin_ia32_storehps,
|
20800 |
|
|
__builtin_ia32_storelps, __builtin_ia32_loadhpd and
|
20801 |
|
|
__builtin_ia32_loadlpd.
|
20802 |
|
|
|
20803 |
|
|
2008-05-02 H.J. Lu
|
20804 |
|
|
|
20805 |
|
|
* config/i386/i386.c (ix86_builtin_type): Add FLOAT_FTYPE_FLOAT,
|
20806 |
|
|
V4SF_FTYPE_V4SF_VEC_MERGE and V2DF_FTYPE_V2DF_VEC_MERGE.
|
20807 |
|
|
(bdesc_args): Updated. Add scalar SSE builtins with vec_merge.
|
20808 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
20809 |
|
|
(ix86_expand_args_builtin): Likewise.
|
20810 |
|
|
(ix86_expand_builtin): Likewise.
|
20811 |
|
|
(ix86_expand_unop1_builtin): Renamed to ...
|
20812 |
|
|
(ix86_expand_unop_vec_merge_builtin): This.
|
20813 |
|
|
|
20814 |
|
|
2008-05-01 Jan Hubicka
|
20815 |
|
|
|
20816 |
|
|
PR bootstrap/36100
|
20817 |
|
|
* ipa-inline.c (inline_generate_summary): Make static.
|
20818 |
|
|
(inline_transform): Do not call inlining at -O0; make static.
|
20819 |
|
|
* passes.c (execute_todo): Add sanity check.
|
20820 |
|
|
(execute_one_ipa_transform_pass): Execute proper flags.
|
20821 |
|
|
|
20822 |
|
|
2008-05-01 Eric Botcazou
|
20823 |
|
|
|
20824 |
|
|
* tree.h (TYPE_NONALIASED_COMPONENT): Expand comment.
|
20825 |
|
|
(DECL_NONADDRESSABLE_P): Likewise.
|
20826 |
|
|
* alias.c (record_component_aliases): Fix comment.
|
20827 |
|
|
|
20828 |
|
|
2008-05-01 Simon Baldwin
|
20829 |
|
|
|
20830 |
|
|
* c-common.h (warn_array_subscript_range): New function.
|
20831 |
|
|
* c-common.c (warn_array_subscript_range): Ditto.
|
20832 |
|
|
* tree-vrp.c (check_array_ref): Corrected code to agree with
|
20833 |
|
|
comment, ignoring only arrays of size 0 or size 1.
|
20834 |
|
|
* c-typeck.c (build_array_ref): Call warn_array_subscript_range.
|
20835 |
|
|
|
20836 |
|
|
2008-05-01 H.J. Lu
|
20837 |
|
|
|
20838 |
|
|
* config/i386/i386.c (ix86_builtin_type): Replace
|
20839 |
|
|
DI_FTYPE_DI_DI_INT with V1DI2DI_FTYPE_V1DI_V1DI_INT.
|
20840 |
|
|
(bdesc_args): Updated.
|
20841 |
|
|
(ix86_init_mmx_sse_builtins): Likewise.
|
20842 |
|
|
(ix86_expand_args_builtin): Likewise.
|
20843 |
|
|
|
20844 |
|
|
* config/i386/tmmintrin.h (_mm_alignr_pi8): Replace long long
|
20845 |
|
|
with __v1di.
|
20846 |
|
|
|
20847 |
|
|
* doc/extend.texi: Correct __builtin_ia32_palignr.
|
20848 |
|
|
|
20849 |
|
|
2008-05-01 H.J. Lu
|
20850 |
|
|
|
20851 |
|
|
PR target/36095
|
20852 |
|
|
* config/i386/i386.c (bdesc_crc32): Removed.
|
20853 |
|
|
(ix86_expand_crc32): Likewise.
|
20854 |
|
|
(ix86_builtin_type): Replace V2DI2TI_FTYPE_V2DI2TI_INT with
|
20855 |
|
|
V2DI2TI_FTYPE_V2DI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT with
|
20856 |
|
|
V2DI2TI_FTYPE_V2DI_V2DI_INT. Add UINT64_FTYPE_UINT64_UINT64,
|
20857 |
|
|
UINT_FTYPE_UINT_UINT, UINT_FTYPE_UINT_USHORT and
|
20858 |
|
|
UINT_FTYPE_UINT_UCHAR.
|
20859 |
|
|
(bdesc_args): Updated. Add crc32 builtins.
|
20860 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
20861 |
|
|
(ix86_expand_args_builtin): Updated to support subreg.
|
20862 |
|
|
|
20863 |
|
|
* doc/extend.texi: Correct __builtin_ia32_crc32di.
|
20864 |
|
|
|
20865 |
|
|
2008-05-01 Jan Hubicka
|
20866 |
|
|
|
20867 |
|
|
* tree-pass.h (opt_pass): Add IPA_PASS.
|
20868 |
|
|
(varpool_node, cgraph_node): Forward declare.
|
20869 |
|
|
(ipa_opt_pass): Define.
|
20870 |
|
|
(pass_ipa_inline): Turn into ipa_opt_pass.
|
20871 |
|
|
(pass_apply_inline): Remove.
|
20872 |
|
|
* ipa-inline.c (pass_ipa_inline): Turn into ipa_opt_pass.
|
20873 |
|
|
(apply_inline): Turn into ....
|
20874 |
|
|
(inline_transform): ... this one.
|
20875 |
|
|
(inline_generate_summary): New function.
|
20876 |
|
|
(pass_apply_inline): Remove.
|
20877 |
|
|
* function.h (ipa_opt_pass): Forward declare structure; typedef;
|
20878 |
|
|
vector.
|
20879 |
|
|
(struct function): Add ipa_transforms_to_apply.
|
20880 |
|
|
* passes.c (register_one_dump_file): Work on IPA_PASS.
|
20881 |
|
|
(init_optimization_passes): Remove pass_inline_parameters and
|
20882 |
|
|
pass_apply_inline.
|
20883 |
|
|
(pass_init_dump_file, pass_fini_dump_file): Break out from ....
|
20884 |
|
|
(execute_one_pass) ... here; apply transforms when possible.
|
20885 |
|
|
(add_ipa_transform_pass, execute_ipa_summary_asses,
|
20886 |
|
|
execute_one_ipa_transform_pass): New.
|
20887 |
|
|
(execute_ipa_pass_list): Update for IPA_PASS type.
|
20888 |
|
|
|
20889 |
|
|
2008-05-01 H.J. Lu
|
20890 |
|
|
|
20891 |
|
|
* config/i386/i386.c (ix86_builtin_type): Add
|
20892 |
|
|
V2DI_FTYPE_V2DI_V16QI, V2DI_FTYPE_V2DI_UINT_UINT and
|
20893 |
|
|
V2DI_FTYPE_V2DI_V2DI_UINT_UINT.
|
20894 |
|
|
(bdesc_args): Add SSE4a builtins.
|
20895 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
20896 |
|
|
(ix86_expand_args_builtin): Likewise.
|
20897 |
|
|
(ix86_expand_builtin): Likewise.
|
20898 |
|
|
|
20899 |
|
|
2008-05-01 H.J. Lu
|
20900 |
|
|
|
20901 |
|
|
* config/i386/i386.c (ix86_builtin_type): Add
|
20902 |
|
|
V8HI_FTYPE_V8HI_V8HI_COUNT, V8HI_FTYPE_V8HI_SI_COUNT,
|
20903 |
|
|
V4SI_FTYPE_V4SI_V4SI_COUNT, V4SI_FTYPE_V4SI_SI_COUNT,
|
20904 |
|
|
V4HI_FTYPE_V4HI_V4HI_COUNT, V4HI_FTYPE_V4HI_SI_COUNT,
|
20905 |
|
|
V2DI_FTYPE_V2DI_V2DI_COUNT, V2DI_FTYPE_V2DI_SI_COUNT,
|
20906 |
|
|
V2SI_FTYPE_V2SI_V2SI_COUNT, V2SI_FTYPE_V2SI_SI_COUNT,
|
20907 |
|
|
V1DI_FTYPE_V1DI_V1DI_COUNT, V1DI_FTYPE_V1DI_SI_COUNT,
|
20908 |
|
|
V8HI_FTYPE_V8HI_INT, V4SI_FTYPE_V4SI_INT, V4HI_FTYPE_V4HI_INT,
|
20909 |
|
|
V2DI2TI_FTYPE_V2DI2TI_INT, V2DI2TI_FTYPE_V2DI2TI_V2DI2TI_INT
|
20910 |
|
|
and DI_FTYPE_DI_DI_INT.
|
20911 |
|
|
(bdesc_args): Add MMX/SSE shift, shuffle and palignr builtins.
|
20912 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
20913 |
|
|
(ix86_expand_args_builtin): Likewise.
|
20914 |
|
|
(ix86_expand_builtin): Likewise.
|
20915 |
|
|
(ix86_expand_binop_imm_builtin): Removed.
|
20916 |
|
|
|
20917 |
|
|
* doc/extend.texi: Correct __builtin_ia32_palignr128.
|
20918 |
|
|
|
20919 |
|
|
2008-04-30 Richard Guenther
|
20920 |
|
|
|
20921 |
|
|
PR tree-optimization/32921
|
20922 |
|
|
* tree-ssa-loop-im.c (mem_refs_may_alias_p): Disambiguate with TBAA.
|
20923 |
|
|
|
20924 |
|
|
2008-04-30 Richard Sandiford
|
20925 |
|
|
|
20926 |
|
|
* config/arm/arm.c (arm_unwind_emit): Use
|
20927 |
|
|
crtl->all_throwers_are_sibcalls instead of
|
20928 |
|
|
cfun->all_throwers_are_sibcalls.
|
20929 |
|
|
(arm_output_fn_unwind): Likewise.
|
20930 |
|
|
* config/frv/frv.c (frv_stack_info): Use crtl->uses_pic_offset_table
|
20931 |
|
|
instead of cfun->uses_pic_offset_table.
|
20932 |
|
|
(frv_expand_prologue): Likewise.
|
20933 |
|
|
(frv_frame_pointer_required): Likewise.
|
20934 |
|
|
(frv_expand_fdpic_call): Likewise.
|
20935 |
|
|
(frv_emit_movsi): Likewise.
|
20936 |
|
|
* config/iq2000/iq2000.c (iq2000_expand_prologue): Use
|
20937 |
|
|
cfun->returns_pcc_struct instead of
|
20938 |
|
|
current_function_returns_pcc_struct.
|
20939 |
|
|
* config/m32c/m32c.c (need_to_save): Use crtl->calls_eh_return
|
20940 |
|
|
instead of cfun->calls_eh_return.
|
20941 |
|
|
(m32c_pushm_popm): Likewise.
|
20942 |
|
|
* config/xtensa/xtensa.h (cfun->calls_alloca): Remove bogus
|
20943 |
|
|
"extern" declaration.
|
20944 |
|
|
|
20945 |
|
|
2008-04-30 Richard Guenther
|
20946 |
|
|
|
20947 |
|
|
PR tree-optimization/21636
|
20948 |
|
|
* tree-ssa-ccp.c (ccp_fold): Handle &p->x with p being a
|
20949 |
|
|
constant address.
|
20950 |
|
|
(evaluate_stmt): Print the likely value.
|
20951 |
|
|
(ccp_visit_stmt): Avoid excessive vertical spacing.
|
20952 |
|
|
|
20953 |
|
|
2008-04-30 Rafael Espíndola
|
20954 |
|
|
|
20955 |
|
|
* builtins.c (fold_call_expr): Return realret.
|
20956 |
|
|
* tree-ssa-threadedge.c
|
20957 |
|
|
(record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
|
20958 |
|
|
__builtin_object_size.
|
20959 |
|
|
|
20960 |
|
|
2008-04-30 Seongbae Park
|
20961 |
|
|
|
20962 |
|
|
* gcc.c (wrapper_string): New variable.
|
20963 |
|
|
(insert_wrapper): New function.
|
20964 |
|
|
(execute): New option -wrapper.
|
20965 |
|
|
* doc/invoke.texi (Overall Options): New driver option -wrapper.
|
20966 |
|
|
|
20967 |
|
|
2008-04-30 Nathan Froyd
|
20968 |
|
|
|
20969 |
|
|
* config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
|
20970 |
|
|
config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
|
20971 |
|
|
config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
|
20972 |
|
|
from...
|
20973 |
|
|
* config/rs6000/crtsavres.asm: ...here. Remove unneeded file.
|
20974 |
|
|
* config/rs6000/e500crtres32gpr.asm, config/rs6000/e500crtres64gpr.asm,
|
20975 |
|
|
config/rs6000/e500crtres64gprctr.asm,
|
20976 |
|
|
config/rs6000/e500crtrest32gpr.asm, config/rs6000/e500crtrest64gpr.asm,
|
20977 |
|
|
config/rs6000/e500crtresx32gpr.asm, config/rs6000/e500crtresx64gpr.asm,
|
20978 |
|
|
config/rs6000/e500crtsav32gpr.asm, config/rs6000/e500crtsav64gpr.asm,
|
20979 |
|
|
config/rs6000/e500crtsav64gprctr.asm,
|
20980 |
|
|
config/rs6000/e500crtsavg32gpr.asm, config/rs6000/e500crtsavg64gpr.asm,
|
20981 |
|
|
config/rs6000/e500crtsavg64gprctr.asm: New files.
|
20982 |
|
|
* config/rs6000/t-ppccomm: Add build rules for new files.
|
20983 |
|
|
(LIB2FUNCS_STATIC_EXTRA): Add new files.
|
20984 |
|
|
* config/rs6000/t-netbsd: Add build rules for new files.
|
20985 |
|
|
(LIB2FUNCS_STATIC_EXTRA): New variable.
|
20986 |
|
|
* config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
|
20987 |
|
|
(CRTSAVRES_DEFAULT_SPEC): Likewise.
|
20988 |
|
|
* config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.
|
20989 |
|
|
|
20990 |
|
|
2008-04-30 H.J. Lu
|
20991 |
|
|
|
20992 |
|
|
* config/i386/i386.c (ix86_builtin_type): Add
|
20993 |
|
|
FLOAT128_FTYPE_FLOAT128_FLOAT128, V16QI_FTYPE_V16QI_V16QI,
|
20994 |
|
|
V16QI_FTYPE_V8HI_V8HI, V8QI_FTYPE_V8QI_V8QI,
|
20995 |
|
|
V8QI_FTYPE_V4HI_V4HI, V8HI_FTYPE_V8HI_V8HI,
|
20996 |
|
|
V8HI_FTYPE_V16QI_V16QI, V8HI_FTYPE_V4SI_V4SI,
|
20997 |
|
|
V4SI_FTYPE_V4SI_V4SI, V4SI_FTYPE_V8HI_V8HI,
|
20998 |
|
|
V4SI_FTYPE_V4SF_V4SF, V4SI_FTYPE_V2DF_V2DF,
|
20999 |
|
|
V4HI_FTYPE_V4HI_V4HI, V4HI_FTYPE_V8QI_V8QI,
|
21000 |
|
|
V4HI_FTYPE_V2SI_V2SI, V4SF_FTYPE_V4SF_V4SF,
|
21001 |
|
|
V4SF_FTYPE_V4SF_V4SF_SWAP, V4SF_FTYPE_V4SF_V2SI,
|
21002 |
|
|
V4SF_FTYPE_V4SF_V2DF, V4SF_FTYPE_V4SF_DI,
|
21003 |
|
|
V4SF_FTYPE_V4SF_SI, V2DI_FTYPE_V2DI_V2DI,
|
21004 |
|
|
V2DI_FTYPE_V16QI_V16QI, V2DI_FTYPE_V4SI_V4SI,
|
21005 |
|
|
V2DI_FTYPE_V2DF_V2DF, V2SI_FTYPE_V2SI_V2SI,
|
21006 |
|
|
V2SI_FTYPE_V4HI_V4HI, V2SI_FTYPE_V2SF_V2SF,
|
21007 |
|
|
V2DF_FTYPE_V2DF_V2DF, V2DF_FTYPE_V2DF_V2DF_SWAP,
|
21008 |
|
|
V2DF_FTYPE_V2DF_V4SF, V2DF_FTYPE_V2DF_DI,
|
21009 |
|
|
V2DF_FTYPE_V2DF_SI, V2SF_FTYPE_V2SF_V2SF,
|
21010 |
|
|
V1DI_FTYPE_V1DI_V1DI, V1DI_FTYPE_V8QI_V8QI and
|
21011 |
|
|
V1DI_FTYPE_V2SI_V2SI.
|
21012 |
|
|
(bdesc_2arg): Moved to ...
|
21013 |
|
|
(bdesc_args): Here.
|
21014 |
|
|
(ix86_init_mmx_sse_builtins): Updated.
|
21015 |
|
|
(ix86_expand_args_builtin): Updated. Take a pointer
|
21016 |
|
|
to const struct builtin_description. Handle comparison
|
21017 |
|
|
builtin functions.
|
21018 |
|
|
(ix86_expand_sse_compare): Take a new argument for swapping operands.
|
21019 |
|
|
(ix86_expand_builtin): Updated.
|
21020 |
|
|
|
21021 |
|
|
* config/i386/sse.md (ssse3_pmaddubswv8hi3): Renamed to ...
|
21022 |
|
|
(ssse3_pmaddubsw128): This.
|
21023 |
|
|
(ssse3_pmaddubswv4hi3): Renamed to ...
|
21024 |
|
|
(ssse3_pmaddubsw): This.
|
21025 |
|
|
|
21026 |
|
|
* doc/extend.texi (__builtin_ia32_packsswb128): Correct prototype.
|
21027 |
|
|
(__builtin_ia32_packssdw128): Likewise.
|
21028 |
|
|
(__builtin_ia32_packuswb128): Likewise.
|
21029 |
|
|
(__builtin_ia32_pmaddubsw): Likewise.
|
21030 |
|
|
(__builtin_ia32_pmaddubsw128): Likewise.
|
21031 |
|
|
|
21032 |
|
|
2008-04-30 Richard Guenther
|
21033 |
|
|
|
21034 |
|
|
PR tree-optimization/14847
|
21035 |
|
|
* tree-ssa-ifcombine.c (get_name_for_bit_test): New helper function.
|
21036 |
|
|
(recognize_bits_test): Use it.
|
21037 |
|
|
(recognize_single_bit_test): Likewise.
|
21038 |
|
|
|
21039 |
|
|
2008-04-30 Martin Jambor
|
21040 |
|
|
|
21041 |
|
|
* ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg
|
21042 |
|
|
instead of setting number of formal parameters to zero.
|
21043 |
|
|
(ipcp_init_stage): Do not set the number of actual parameters to zero
|
21044 |
|
|
either.
|
21045 |
|
|
(ipcp_propagate_stage): Explicitly skipping all calls to nodes
|
21046 |
|
|
which are called with variable number of arguments.
|
21047 |
|
|
(ipcp_insert_stage): Explicitely skipping all nodes which are
|
21048 |
|
|
called with variable number of arguments.
|
21049 |
|
|
(ipcp_callsite_param_print): Skipps callsites to nodes with varaible
|
21050 |
|
|
number of parameters.
|
21051 |
|
|
|
21052 |
|
|
* ipa-prop.h (struct ipa_node_params): Added flag
|
21053 |
|
|
called_with_var_arguments
|
21054 |
|
|
(ipa_set_param_count): Added. Changed sole setter to use it.
|
21055 |
|
|
(ipa_get_param_count): Added. All readers of param_count
|
21056 |
|
|
converted to use it instead.
|
21057 |
|
|
(ipa_set_called_with_variable_arg): Added.
|
21058 |
|
|
(ipa_is_called_with_var_arguments): Added.
|
21059 |
|
|
(ipa_get_ith_param): Added. All readers of param_decls converted
|
21060 |
|
|
to use it instead.
|
21061 |
|
|
(ipa_set_cs_argument_count): Added, sole writer to argument_count
|
21062 |
|
|
changed to use it.
|
21063 |
|
|
(ipa_get_cs_argument_count): Added, all readers of argument_count
|
21064 |
|
|
changed to cal it.
|
21065 |
|
|
(ipa_get_ith_jump_func): Added. Accessors of jump values changed
|
21066 |
|
|
to use it.
|
21067 |
|
|
|
21068 |
|
|
* ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice
|
21069 |
|
|
(struct ipcp_lattice): Renamed cval_type to type
|
21070 |
|
|
(struct ipa_node_params): ipcp_cval renamed to ipcp_lattices
|
21071 |
|
|
|
21072 |
|
|
* ipa-cp.c (ipcp_cval_get_cvalue): Changed return value to tree
|
21073 |
|
|
(ipcp_cval_set_cvalue): Changed type of parameter value to tree
|
21074 |
|
|
(ipcp_insert_stage): Changed the type of variable cvalue to tree
|
21075 |
|
|
(ipcp_replace_map_create): Changed the type of parameter cvalue to tree
|
21076 |
|
|
(build_const_val): Changed the type of parameter cvalue to tree
|
21077 |
|
|
(ipcp_propagate_const): Changed the type of parameter cvalue to tree
|
21078 |
|
|
(ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type
|
21079 |
|
|
|
21080 |
|
|
* ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called
|
21081 |
|
|
constant
|
21082 |
|
|
|
21083 |
|
|
* ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list
|
21084 |
|
|
(ipa_methodlist_not_empty): Removed, the sole user now checks directly
|
21085 |
|
|
(ipa_add_method): Renamed to ipa_push_func_to_list
|
21086 |
|
|
(ipa_remove_method): Renamed to ipa_pop_func_from_list
|
21087 |
|
|
(ipa_callsite_param_count): Removed.
|
21088 |
|
|
(ipa_callsite_param_count_set): Removed.
|
21089 |
|
|
(ipa_callsite_param): Removed.
|
21090 |
|
|
(ipa_callsite_callee): Removed.
|
21091 |
|
|
(ipa_callsite_compute_param): Renamed to ipa_compute_jump_functions
|
21092 |
|
|
(ipa_callsite_compute_count): Renamed to ipa_count_arguments
|
21093 |
|
|
(ipa_method_formal_count): Removed.
|
21094 |
|
|
(ipa_method_formal_count_set): Removed.
|
21095 |
|
|
(ipa_method_get_tree): Removed.
|
21096 |
|
|
(ipa_method_tree_map_create): Removed.
|
21097 |
|
|
(ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array
|
21098 |
|
|
(ipa_create_param_decls_array): Creates the array itself
|
21099 |
|
|
(ipa_create_param_decls_array): Temporary variable info instead of
|
21100 |
|
|
a few dereferences.
|
21101 |
|
|
(ipa_method_formal_compute_count): Renamed to ipa_count_formal_params
|
21102 |
|
|
(ipa_method_compute_modify): Renamed to ipa_detect_param_modifications
|
21103 |
|
|
(get_type): Removed.
|
21104 |
|
|
(ipa_jf_get_info_type): Removed.
|
21105 |
|
|
(ipa_node_create): Renamed to ipa_create_node_params
|
21106 |
|
|
(ipa_free): Renamed to ipa_free_all_node_params
|
21107 |
|
|
(ipa_nodes_create): Renamed to ipa_create_all_node_params
|
21108 |
|
|
(ipa_edges_create): Renamed to ipa_create_all_edge_args
|
21109 |
|
|
(ipa_edges_free): Renamed to ipa_free_all_edge_args
|
21110 |
|
|
(ipa_nodes_free): Integrated into ipa_free_all_node_params and removed
|
21111 |
|
|
(ipa_free_all_node_params): Deallocation to jump_functions moved to
|
21112 |
|
|
ipa_free_all_edge_args
|
21113 |
|
|
(ipa_method_tree_print): Renamed to ipa_print_all_tree_maps
|
21114 |
|
|
(ipa_method_modify_print): Renamed to ipa_print_all_params_modified
|
21115 |
|
|
(ipa_create_methodlist_node): Removed.
|
21116 |
|
|
(ipa_methodlist_method): Removed.
|
21117 |
|
|
(ipa_methodlist_method_set): Removed.
|
21118 |
|
|
(ipa_methodlist_next_method): Removed.
|
21119 |
|
|
(ipa_methodlist_next_method_set): Removed.
|
21120 |
|
|
(ipa_method_is_modified): Removed.
|
21121 |
|
|
(ipa_method_modify_create): Removed.
|
21122 |
|
|
(ipa_method_modify_init): Temporary variable info instead of a few
|
21123 |
|
|
dereferences.
|
21124 |
|
|
(ipa_detect_param_modifications): Temporary variable info instead of
|
21125 |
|
|
a few dereferences.
|
21126 |
|
|
(ipa_compute_jump_functions): Temporary variable info instead of
|
21127 |
|
|
a few dereferences.
|
21128 |
|
|
(ipa_method_modify_set): Removed.
|
21129 |
|
|
(ipa_method_tree_map): Renamed to ipa_get_param_decl_index
|
21130 |
|
|
(ipa_get_param_decl_index): Now accepts struct ipa_node_params rather
|
21131 |
|
|
than craph_node as the first parameter.
|
21132 |
|
|
(ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications
|
21133 |
|
|
(ipa_method_modify_init): Removed.
|
21134 |
|
|
(ipa_compute_jump_functions): Added a temp variable instead of
|
21135 |
|
|
repeatadly dereferencing the cgraph_edge.aux pointer
|
21136 |
|
|
(ipa_callsite_param_set_type): Removed.
|
21137 |
|
|
(ipa_compute_jump_functions): i renamed to index and moved to
|
21138 |
|
|
an inner block
|
21139 |
|
|
(ipa_callsite_param_set_info_type_formal): Removed.
|
21140 |
|
|
(ipa_callsite_param_set_info_type): Removed.
|
21141 |
|
|
(ipa_callsite_param_map_create): Removed.
|
21142 |
|
|
(ipa_callsite_tree): Removed.
|
21143 |
|
|
(ipa_callsite_caller): Removed.
|
21144 |
|
|
(ipa_pop_func_from_list): return_method removed to return_func
|
21145 |
|
|
|
21146 |
|
|
* ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type,
|
21147 |
|
|
prefixed all values with IPA_. Changed all users.
|
21148 |
|
|
(enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN,
|
21149 |
|
|
CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF
|
21150 |
|
|
and FORMAL_IPATYPE IPA_PASS_THROUGH.
|
21151 |
|
|
(union parameter_info): Renamed to jump_func_value.
|
21152 |
|
|
(union jump_func_value): Renamed value to constant
|
21153 |
|
|
(struct ipa_jump_func): Renamed info_type to value
|
21154 |
|
|
(struct ipa_node): Renamed to ipa_node_params
|
21155 |
|
|
(struct ipa_node_params): Renamed ipa_arg_num to param_count
|
21156 |
|
|
(struct ipa_node_params): Renamed ipa_param_tree to param_decls
|
21157 |
|
|
(struct ipa_node_params): Renamed ipa_mod to modified_flags
|
21158 |
|
|
(struct ipa_edge): Renamed to ipa_edge_args
|
21159 |
|
|
(struct ipa_edge_args): Renamed ipa_param_num to argument_count
|
21160 |
|
|
(struct ipa_edge_args): Renamed ipa_param_map to jump_functions
|
21161 |
|
|
(struct ipa_methodlist): Renamed to ipa_func_list
|
21162 |
|
|
(struct ipa_func_list): method_p renamed to node, next_method
|
21163 |
|
|
renamed to next
|
21164 |
|
|
(ipa_methodlist_p): Removed, switched all users to struct pointer
|
21165 |
|
|
(IS_VALID_TREE_MAP_INDEX): Renamed to IS_VALID_JUMP_FUNC_INDEX
|
21166 |
|
|
|
21167 |
|
|
2008-04-30 Alan Modra
|
21168 |
|
|
|
21169 |
|
|
* config/rs6000/rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
|
21170 |
|
|
(rs6000_emit_epilogue): Use backchain to restore only when we
|
21171 |
|
|
have a large frame. Make use of frame pointer to restore if we
|
21172 |
|
|
have one. Handle ALWAYS_RESTORE_ALTIVEC_BEFORE_POP.
|
21173 |
|
|
|
21174 |
|
|
2008-04-29 Paolo Bonzini
|
21175 |
|
|
|
21176 |
|
|
* config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
|
21177 |
|
|
Add mode to zero_extract.
|
21178 |
|
|
(sign bit tests peepholes): (Ditto.).
|
21179 |
|
|
|
21180 |
|
|
2008-04-29 H.J. Lu
|
21181 |
|
|
|
21182 |
|
|
* config/i386/i386.c (ix86_builtins): Replace Prescott New
|
21183 |
|
|
Instructions in comments with SSE3.
|
21184 |
|
|
(ix86_builtin_type): This. Add FLOAT128_FTYPE_FLOAT128,
|
21185 |
|
|
INT64_FTYPE_V4SF, INT64_FTYPE_V2DF, INT_FTYPE_V16QI,
|
21186 |
|
|
INT_FTYPE_V8QI, INT_FTYPE_V4SF, INT_FTYPE_V2DF,
|
21187 |
|
|
V16QI_FTYPE_V16QI, V8HI_FTYPE_V8HI, V8HI_FTYPE_V16QI,
|
21188 |
|
|
V8QI_FTYPE_V8QI, V4SI_FTYPE_V4SI, V4SI_FTYPE_V16QI,
|
21189 |
|
|
V4SI_FTYPE_V4SF, V4SI_FTYPE_V8HI, V4SI_FTYPE_V2DF,
|
21190 |
|
|
V4HI_FTYPE_V4HI, V4SF_FTYPE_V4SF, V4SF_FTYPE_V4SI,
|
21191 |
|
|
V4SF_FTYPE_V2DF, V2DI_FTYPE_V2DI, V2DI_FTYPE_V16QI,
|
21192 |
|
|
V2DI_FTYPE_V8HI, V2DI_FTYPE_V4SI, V2DF_FTYPE_V2DF,
|
21193 |
|
|
V2DF_FTYPE_V4SI, V2DF_FTYPE_V4SF, V2DF_FTYPE_V2SI,
|
21194 |
|
|
V2SI_FTYPE_V2SI, V2SI_FTYPE_V4SF, V2SI_FTYPE_V2SF,
|
21195 |
|
|
V2SI_FTYPE_V2DF, V2SF_FTYPE_V2SF and V2SF_FTYPE_V2SI.
|
21196 |
|
|
(bdesc_sse_args): Renamed to ...
|
21197 |
|
|
(bdesc_args): This. Add IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFRCP,
|
21198 |
|
|
IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PF2IW,
|
21199 |
|
|
IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF and
|
21200 |
|
|
IX86_BUILTIN_FABSQ.
|
21201 |
|
|
(bdesc_1arg): Moved to ...
|
21202 |
|
|
(bdesc_args): Here.
|
21203 |
|
|
(ix86_init_mmx_sse_builtins): Updated. Replace Prescott New
|
21204 |
|
|
Instructions in comments with SSE3.
|
21205 |
|
|
(ix86_expand_sse_operands_builtin): Renamed to ...
|
21206 |
|
|
(ix86_expand_args_builtin): This. Updated.
|
21207 |
|
|
(ix86_expand_unop1_builtin): Update comments.
|
21208 |
|
|
(ix86_expand_builtin): Updated.
|
21209 |
|
|
|
21210 |
|
|
2008-04-29 Richard Guenther
|
21211 |
|
|
|
21212 |
|
|
PR tree-optimization/36078
|
21213 |
|
|
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
|
21214 |
|
|
Update virtual SSA form after cleaning up the CFG.
|
21215 |
|
|
|
21216 |
|
|
2008-04-29 Richard Guenther
|
21217 |
|
|
|
21218 |
|
|
PR middle-end/15255
|
21219 |
|
|
* fold-const.c (fold_binary): Fold (A + A) * C to A * 2*C.
|
21220 |
|
|
|
21221 |
|
|
2008-04-29 Richard Guenther
|
21222 |
|
|
|
21223 |
|
|
* tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
|
21224 |
|
|
(compute_may_aliases): Do not call finalize_ref_all_pointers.
|
21225 |
|
|
(compute_flow_insensitive_aliasing): Do not treat
|
21226 |
|
|
PTR_IS_REF_ALL pointers special.
|
21227 |
|
|
(get_smt_for): Likewise.
|
21228 |
|
|
(may_alias_p): Re-structure.
|
21229 |
|
|
(is_escape_site): A ref-all pointer conversion is not an escape site.
|
21230 |
|
|
* tree-ssa-structalias.c (find_what_p_points_to): Do not treat
|
21231 |
|
|
PTR_IS_REF_ALL pointers special.
|
21232 |
|
|
* tree-ssa-structalias.h (struct alias_info): Remove
|
21233 |
|
|
ref_all_symbol_mem_tag field.
|
21234 |
|
|
(PTR_IS_REF_ALL): Remove.
|
21235 |
|
|
|
21236 |
|
|
2008-04-29 Richard Guenther
|
21237 |
|
|
|
21238 |
|
|
PR middle-end/36077
|
21239 |
|
|
* fold-const.c (extract_muldiv_1): In combining division constants
|
21240 |
|
|
make sure to never overflow.
|
21241 |
|
|
|
21242 |
|
|
2008-04-29 Nick Clifton
|
21243 |
|
|
|
21244 |
|
|
* doc/tm.texi (RETURN_ADDR_RTX): Fix typo.
|
21245 |
|
|
|
21246 |
|
|
2008-04-28 Ralf Wildenhues
|
21247 |
|
|
|
21248 |
|
|
PR bootstrap/35169
|
21249 |
|
|
* optc-gen.awk: Work around HP-UX/IA awk bug.
|
21250 |
|
|
|
21251 |
|
|
2008-04-28 Danny Smith
|
21252 |
|
|
|
21253 |
|
|
* config/i386/cygming-crtend.c (register_frame_ctor): Revert my
|
21254 |
|
|
2008-04-25 commit.
|
21255 |
|
|
|
21256 |
|
|
2008-04-28 Uros Bizjak
|
21257 |
|
|
|
21258 |
|
|
PR target/36073
|
21259 |
|
|
* config/i386/i386.md
|
21260 |
|
|
(*float2_mixed_interunit):
|
21261 |
|
|
Change operand 1 predicate to nonimmediate_operand.
|
21262 |
|
|
|
21263 |
|
|
2008-04-28 Jakub Jelinek
|
21264 |
|
|
|
21265 |
|
|
PR debug/36060
|
21266 |
|
|
* dwarf2out.c (struct die_struct): Mark as chain_circular through
|
21267 |
|
|
die_sub field.
|
21268 |
|
|
* gengtype.c (walk_type, write_func_for_structure): Handle
|
21269 |
|
|
chain_circular.
|
21270 |
|
|
* doc/gty.texi: Document chain_circular.
|
21271 |
|
|
|
21272 |
|
|
2008-04-28 Richard Guenther
|
21273 |
|
|
|
21274 |
|
|
PR tree-optimization/36066
|
21275 |
|
|
* tree-vrp.c (execute_vrp): Cleanup the CFG only after finalizing
|
21276 |
|
|
SCEV and loop.
|
21277 |
|
|
|
21278 |
|
|
2008-04-28 Uros Bizjak
|
21279 |
|
|
|
21280 |
|
|
PR target/36064
|
21281 |
|
|
* config/i386/i386.md
|
21282 |
|
|
(floatdi2_i387_with_xmm splitters):
|
21283 |
|
|
Use match_scratch instead of match_operand for operands 3 and 4.
|
21284 |
|
|
|
21285 |
|
|
2008-04-27 Richard Guenther
|
21286 |
|
|
|
21287 |
|
|
PR tree-optimization/18754
|
21288 |
|
|
PR tree-optimization/34223
|
21289 |
|
|
* tree-pass.h (pass_complete_unrolli): Declare.
|
21290 |
|
|
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
|
21291 |
|
|
loop size before and after unconditionally of UL_NO_GROWTH in effect.
|
21292 |
|
|
Rewrite loop into loop closed SSA form if it is not already.
|
21293 |
|
|
(tree_unroll_loops_completely): Re-structure to iterate over
|
21294 |
|
|
innermost loops with intermediate CFG cleanups.
|
21295 |
|
|
Unroll outermost loops only if requested or the code does not grow
|
21296 |
|
|
doing so.
|
21297 |
|
|
* tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
|
21298 |
|
|
loops are available.
|
21299 |
|
|
(tree_vectorize): Instead do so here.
|
21300 |
|
|
(tree_complete_unroll): Also unroll outermost loops.
|
21301 |
|
|
(tree_complete_unroll_inner): New function.
|
21302 |
|
|
(gate_tree_complete_unroll_inner): Likewise.
|
21303 |
|
|
(pass_complete_unrolli): New pass.
|
21304 |
|
|
* tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
|
21305 |
|
|
uses outside of the loop.
|
21306 |
|
|
(tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
|
21307 |
|
|
form if it is available.
|
21308 |
|
|
* tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
|
21309 |
|
|
* passes.c (init_optimization_passes): Schedule complete inner
|
21310 |
|
|
loop unrolling pass before the first CCP pass after final inlining.
|
21311 |
|
|
|
21312 |
|
|
2008-04-27 Nathan Sidwell
|
21313 |
|
|
|
21314 |
|
|
* targhooks.h (default_emutls_var_fields,
|
21315 |
|
|
default_emutls_var_init): Declare.
|
21316 |
|
|
* tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
|
21317 |
|
|
* target.h (struct gcc_target): Add struct emutls member.
|
21318 |
|
|
* target-def.h (TARGET_EMUTLS_GET_ADDRESS,
|
21319 |
|
|
TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
|
21320 |
|
|
TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
|
21321 |
|
|
TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
|
21322 |
|
|
TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
|
21323 |
|
|
TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
|
21324 |
|
|
(TARGET_INITIALIZER): Add TARGET_EMUTLS.
|
21325 |
|
|
* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
|
21326 |
|
|
BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
|
21327 |
|
|
* dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
|
21328 |
|
|
emit debug information.
|
21329 |
|
|
* coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
|
21330 |
|
|
* varasm.c: Include targhooks.h.
|
21331 |
|
|
(emutls_object_section, emutls_tmpl_section): New.
|
21332 |
|
|
(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
|
21333 |
|
|
(EMUTLS_SEPARATOR): New.
|
21334 |
|
|
(prefix_name): New.
|
21335 |
|
|
(get_emutls_object_name): New.
|
21336 |
|
|
(default_emutls_var_fields): New, broken out of ...
|
21337 |
|
|
(get_emutls_object_type): ... here. Adjust to use target hooks.
|
21338 |
|
|
(get_emutls_init_templ_addr): Adjust to use target hooks.
|
21339 |
|
|
(emutls_decl): Adjust to use target hooks.
|
21340 |
|
|
(emutls_finish): Likewise.
|
21341 |
|
|
(default_emutls_var_init): New, broken out of ...
|
21342 |
|
|
(assemble_variable): ... here. Adjust to use target hooks.
|
21343 |
|
|
* output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
|
21344 |
|
|
SECCAT_EMUTLS_TMPL.
|
21345 |
|
|
* c-common.c (handle_section_attribute): Prevent overriding
|
21346 |
|
|
sections for emulated tls with special sections.
|
21347 |
|
|
* config/i386/i386.c (x86_64_elf_select_section): Add
|
21348 |
|
|
SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
|
21349 |
|
|
(x86_64_elf_unique_section): Likewise.
|
21350 |
|
|
* config/vxworks.c: Include tree.h.
|
21351 |
|
|
(vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
|
21352 |
|
|
(vxworks_override_options): Set TLS scheme.
|
21353 |
|
|
* doc/tm.texi (Emulated TLS): New node.
|
21354 |
|
|
|
21355 |
|
|
2008-04-26 Simon Baldwin
|
21356 |
|
|
|
21357 |
|
|
PR c/35652
|
21358 |
|
|
* builtins.c (c_strlen): Suppressed multiple warnings that can occur
|
21359 |
|
|
with propagated string constants.
|
21360 |
|
|
|
21361 |
|
|
2008-04-26 Uros Bizjak
|
21362 |
|
|
|
21363 |
|
|
* config/i386/i386.md (fix_trunc_i387_fisttp_with_temp): Use 'X'
|
21364 |
|
|
constraint for operand 2 when operand 0 is memory operand.
|
21365 |
|
|
(fix_truncdi_i387_with_temp): Use 'X' constraint for operand 4 when
|
21366 |
|
|
operand 0 is memory operand.
|
21367 |
|
|
(fix_trunc_i387_with_temp): Ditto.
|
21368 |
|
|
(*floatsi2_vector_mixed_with_temp): Use 'X' constraint for
|
21369 |
|
|
operand 2 when operand 1 is memory operand.
|
21370 |
|
|
(*float2_mixed_with_temp): Ditto.
|
21371 |
|
|
(*floatsi2_vector_sse_with_temp): Ditto.
|
21372 |
|
|
(*float2_sse_with_temp): Ditto.
|
21373 |
|
|
(*float2_i387_with_temp): Ditto.
|
21374 |
|
|
(floatdi2_i387_with_xmm): Use 'X' constraint for
|
21375 |
|
|
operands 2,3 and 4 when operand 1 is memory operand.
|
21376 |
|
|
(fistdi2_with_temp): Use 'X' constraint for operand 2 when operand 0
|
21377 |
|
|
is memory operand.
|
21378 |
|
|
(fistdi2_floor_with_temp): Ditto.
|
21379 |
|
|
(fist2_floor_with_temp): Ditto.
|
21380 |
|
|
(fistdi2_ceil_with_temp): Ditto.
|
21381 |
|
|
(fist2_ceil_with_temp): Ditto.
|
21382 |
|
|
(*truncdfsf_fast_mixed): Merge alternatives 0 and 1.
|
21383 |
|
|
|
21384 |
|
|
2008-04-26 David Daney
|
21385 |
|
|
|
21386 |
|
|
* config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP_12): New
|
21387 |
|
|
unspec_volitile.
|
21388 |
|
|
(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE,
|
21389 |
|
|
UNSPEC_MEMORY_BARRIER, UNSPEC_SET_GOT_VERSION,
|
21390 |
|
|
UNSPEC_UPDATE_GOT_VERSION): Renumber.
|
21391 |
|
|
(sync_compare_and_swap): New expand for QI and HI modes.
|
21392 |
|
|
(compare_and_swap_12): New insn.
|
21393 |
|
|
* config/mips/mips-protos.h (mips_expand_compare_and_swap_12): Declare.
|
21394 |
|
|
* config/mips/mips.c (mips_force_binary): New function.
|
21395 |
|
|
(mips_emit_int_order_test, mips_expand_synci_loop): Use it.
|
21396 |
|
|
(mips_expand_compare_and_swap_12): New function.
|
21397 |
|
|
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): New macro.
|
21398 |
|
|
|
21399 |
|
|
2008-04-25 Jan Hubicka
|
21400 |
|
|
|
21401 |
|
|
PR testsuite/35843
|
21402 |
|
|
* cfgexpand.c (pass_expand): Turn into RTL pass.
|
21403 |
|
|
* passes.c (execute_one_pass): Do pass typechecking after execution.
|
21404 |
|
|
* tree-pass.h (pass_expand): Turn into RTL pass.
|
21405 |
|
|
|
21406 |
|
|
* function.h (struct rtl_data): Move here fields
|
21407 |
|
|
accesses_prior_frames, calls_eh_return, saves_all_registers,
|
21408 |
|
|
has_nonlocal_goto, has_asm_statement, is_thunk,
|
21409 |
|
|
all_throwers_are_sibcalls, limit_stack, profile, uses_const_pool,
|
21410 |
|
|
uses_pic_offset_table, uses_eh_lsda, tail_call_emit,
|
21411 |
|
|
arg_pointer_save_area_init from struct function; turn into bool.
|
21412 |
|
|
(struct function): Move
|
21413 |
|
|
calls_eh_return, saves_all_registers, has_nonlocal_goto,
|
21414 |
|
|
has_asm_statement, is_thunk, all_throwers_are_sibcalls, limit_stack,
|
21415 |
|
|
profile, uses_const_pool, uses_pic_offset_table, uses_eh_lsda,
|
21416 |
|
|
tail_call_emit, arg_pointer_save_area_init
|
21417 |
|
|
into struct rtl_data. Remove recursive_call_emit and gimplified flags.
|
21418 |
|
|
(current_function_returns_struct, current_function_returns_pcc_struct,
|
21419 |
|
|
current_function_calls_setjmp, current_function_calls_alloca,
|
21420 |
|
|
current_function_accesses_prior_frames,
|
21421 |
|
|
current_function_calls_eh_return, current_function_is_thunk,
|
21422 |
|
|
current_function_stdarg, current_function_profile,
|
21423 |
|
|
current_function_limit_stack, current_function_uses_pic_offset_table,
|
21424 |
|
|
current_function_uses_const_pool, current_function_has_nonlocal_label,
|
21425 |
|
|
current_function_saves_all_registers,
|
21426 |
|
|
current_function_has_nonlocal_goto,
|
21427 |
|
|
current_function_has_asm_statement): Remove accesor macros.
|
21428 |
|
|
* ra-conflict.c (global_conflicts): Update.
|
21429 |
|
|
* tree-tailcall.c (suitable_for_tail_opt_p): Update.
|
21430 |
|
|
(suitable_for_tail_call_opt_p): Update.
|
21431 |
|
|
* builtins.c (expand_builtin_return_addr): Update.
|
21432 |
|
|
(expand_builtin_setjmp_setup): Update.
|
21433 |
|
|
(expand_builtin_nonlocal_goto): Update.
|
21434 |
|
|
* final.c (final_start_function): Update.
|
21435 |
|
|
(profile_function): Update.
|
21436 |
|
|
(leaf_function_p): Update.
|
21437 |
|
|
(only_leaf_regs_used): Update.
|
21438 |
|
|
* df-scan.c (df_get_exit_block_use_set): Update.
|
21439 |
|
|
* dojump.c (clear_pending_stack_adjust): Update.
|
21440 |
|
|
* tree-stdarg.c (gate_optimize_stdarg): Update.
|
21441 |
|
|
* gimple-low.c (lower_function_body): Update.
|
21442 |
|
|
* global.c (compute_regsets): Update.
|
21443 |
|
|
(global_alloc): Update.
|
21444 |
|
|
* dwarf2out.c (dwarf2out_begin_prologue): Update.
|
21445 |
|
|
* expr.c (expand_assignment): Update.
|
21446 |
|
|
* dse.c (dse_step0): Update.
|
21447 |
|
|
(dse_step1): Update.
|
21448 |
|
|
* c-decl.c (store_parm_decls): Update.
|
21449 |
|
|
* local-alloc.c (combine_regs): Update.
|
21450 |
|
|
(find_free_reg): Update.
|
21451 |
|
|
* function.c (assign_parms_augmented_arg_list): Update.
|
21452 |
|
|
(assign_parm_find_data_types): Update.
|
21453 |
|
|
(assign_parms): Update.
|
21454 |
|
|
(allocate_struct_function): Update.
|
21455 |
|
|
(expand_function_start): Update.
|
21456 |
|
|
(expand_function_end): Update.
|
21457 |
|
|
(get_arg_pointer_save_area): Update.
|
21458 |
|
|
(thread_prologue_and_epilogue_insns): Update.
|
21459 |
|
|
(rest_of_match_asm_constraints): Update.
|
21460 |
|
|
* stor-layout.c (variable_size): Update.
|
21461 |
|
|
* gcse.c (gcse_main): Update.
|
21462 |
|
|
(bypass_jumps): Update.
|
21463 |
|
|
* gimplify.c (gimplify_function_tree): Update.
|
21464 |
|
|
* calls.c (emit_call_1): Update.
|
21465 |
|
|
(expand_call): Update.
|
21466 |
|
|
* bt-load.c (compute_defs_uses_and_gen): Update.
|
21467 |
|
|
* except.c (sjlj_assign_call_site_values): Update.
|
21468 |
|
|
(sjlj_emit_function_enter): Update.
|
21469 |
|
|
(can_throw_external): Update.
|
21470 |
|
|
(set_nothrow_function_flags): Update.
|
21471 |
|
|
(expand_builtin_unwind_init): Update.
|
21472 |
|
|
(expand_eh_return): Update.
|
21473 |
|
|
(convert_to_eh_region_ranges): Update.
|
21474 |
|
|
(output_function_exception_table): Update.
|
21475 |
|
|
* emit-rtl.c (gen_tmp_stack_mem): Update.
|
21476 |
|
|
* cfgexpand.c (expand_used_vars): Update.
|
21477 |
|
|
(tree_expand_cfg): Update.
|
21478 |
|
|
* cfgcleanup.c (rest_of_handle_jump): Update.
|
21479 |
|
|
* explow.c (allocate_dynamic_stack_space): Update.
|
21480 |
|
|
* varasm.c (assemble_start_function): Update.
|
21481 |
|
|
(force_const_mem): Update.
|
21482 |
|
|
(mark_constant_pool): Update.
|
21483 |
|
|
* tree-optimize.c (tree_rest_of_compilation): Update.
|
21484 |
|
|
* stack-ptr-mod.c (notice_stack_pointer_modification): Update.
|
21485 |
|
|
* tree-cfg.c (notice_special_calls): Update.
|
21486 |
|
|
(is_ctrl_altering_stmt): Update.
|
21487 |
|
|
(tree_can_make_abnormal_goto): Update.
|
21488 |
|
|
(tree_purge_dead_abnormal_call_edges): Update.
|
21489 |
|
|
* config/alpha/predicates.md: Update.
|
21490 |
|
|
* config/alpha/alpha.c (alpha_sa_mask): Update.
|
21491 |
|
|
(alpha_sa_size): Update.
|
21492 |
|
|
(alpha_does_function_need_gp): Update.
|
21493 |
|
|
(alpha_expand_prologue): Update.
|
21494 |
|
|
(alpha_start_function): Update.
|
21495 |
|
|
(alpha_output_function_end_prologue): Update.
|
21496 |
|
|
(alpha_expand_epilogue): Update.
|
21497 |
|
|
* config/frv/frv.c (frv_stack_info): Update.
|
21498 |
|
|
(frv_expand_epilogue): Update.
|
21499 |
|
|
* config/s390/s390.c (s390_regs_ever_clobbered): Update.
|
21500 |
|
|
(s390_register_info): Update.
|
21501 |
|
|
(s390_frame_info): Update.
|
21502 |
|
|
(s390_init_frame_layout): Update.
|
21503 |
|
|
(s390_can_eliminate): Update.
|
21504 |
|
|
(save_gprs): Update.
|
21505 |
|
|
* config/spu/spu.c (spu_split_immediate): Update.
|
21506 |
|
|
(need_to_save_reg): Update.
|
21507 |
|
|
(spu_expand_prologue): Update.
|
21508 |
|
|
(spu_expand_epilogue): Update.
|
21509 |
|
|
* config/sparc/sparc.md: Update.
|
21510 |
|
|
* config/sparc/sparc.c (eligible_for_return_delay): Update.
|
21511 |
|
|
(sparc_tls_got): Update.
|
21512 |
|
|
(legitimize_pic_address): Update.
|
21513 |
|
|
(sparc_emit_call_insn): Update.
|
21514 |
|
|
(sparc_expand_prologue): Update.
|
21515 |
|
|
(output_return): Update.
|
21516 |
|
|
(print_operand): Update.
|
21517 |
|
|
(sparc_function_ok_for_sibcall): Update.
|
21518 |
|
|
* config/sparc/sparc.h (EXIT_IGNORE_STACK): Update.
|
21519 |
|
|
* config/m32r/m32r.md: Update.
|
21520 |
|
|
* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Update.
|
21521 |
|
|
(m32r_compute_frame_size): Update.
|
21522 |
|
|
(m32r_expand_prologue): Update.
|
21523 |
|
|
(m32r_expand_epilogue): Update.
|
21524 |
|
|
(m32r_legitimize_pic_address): Update.
|
21525 |
|
|
* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Update.
|
21526 |
|
|
* config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update.
|
21527 |
|
|
* config/i386/i386.c (ix86_frame_pointer_required): Update.
|
21528 |
|
|
(gen_push): Update.
|
21529 |
|
|
(ix86_save_reg): Update.
|
21530 |
|
|
(ix86_compute_frame_layout): Update.
|
21531 |
|
|
(ix86_expand_prologue): Update.
|
21532 |
|
|
(ix86_expand_epilogue): Update.
|
21533 |
|
|
* config/sh/sh.c (output_stack_adjust): Update.
|
21534 |
|
|
(calc_live_regs): Update.
|
21535 |
|
|
(sh5_schedule_saves): Update.
|
21536 |
|
|
(sh_expand_prologue): Update.
|
21537 |
|
|
(sh_expand_epilogue): Update.
|
21538 |
|
|
(sh_setup_incoming_varargs): Update.
|
21539 |
|
|
(sh_allocate_initial_value): Update.
|
21540 |
|
|
(sh_get_pr_initial_val): Update.
|
21541 |
|
|
* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Update.
|
21542 |
|
|
* config/sh/sh.md (label:): Update.
|
21543 |
|
|
* config/avr/avr.c (out_movhi_mr_r): Update.
|
21544 |
|
|
* config/crx/crx.h (enum): Update.
|
21545 |
|
|
* config/xtensa/xtensa.h (along): Update.
|
21546 |
|
|
* config/stormy16/stormy16.c Update.
|
21547 |
|
|
(xstormy16_compute_stack_layout): Update.
|
21548 |
|
|
* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Update.
|
21549 |
|
|
(fr30_expand_prologue): Update.
|
21550 |
|
|
* config/cris/cris.c (cris_conditional_register_usage): Update.
|
21551 |
|
|
(cris_reg_saved_in_regsave_area): Update.
|
21552 |
|
|
(cris_initial_frame_pointer_offset): Update.
|
21553 |
|
|
(cris_simple_epilogue): Update.
|
21554 |
|
|
(cris_expand_prologue): Update.
|
21555 |
|
|
(cris_expand_epilogue): Update.
|
21556 |
|
|
(cris_expand_pic_call_address): Update.
|
21557 |
|
|
(cris_asm_output_symbol_ref): Update.
|
21558 |
|
|
(cris_asm_output_label_ref): Update.
|
21559 |
|
|
* config/cris/cris.md Update.
|
21560 |
|
|
* config/iq2000/iq2000.c (compute_frame_size): Update.
|
21561 |
|
|
(iq2000_expand_epilogue): Update.
|
21562 |
|
|
* config/mt/mt.h (save_direction): Update.
|
21563 |
|
|
* config/mn10300/mn10300.c (mn10300_function_value): Update.
|
21564 |
|
|
* config/ia64/ia64.c (ia64_compute_frame_size): Update.
|
21565 |
|
|
(ia64_secondary_reload_class): Update.
|
21566 |
|
|
* config/m68k/m68k.c (m68k_save_reg): Update.
|
21567 |
|
|
(m68k_expand_prologue): Update.
|
21568 |
|
|
(m68k_expand_epilogue): Update.
|
21569 |
|
|
(legitimize_pic_address): Update.
|
21570 |
|
|
* config/rs6000/rs6000.c (rs6000_got_register): Update.
|
21571 |
|
|
(first_reg_to_save): Update.
|
21572 |
|
|
(first_altivec_reg_to_save): Update.
|
21573 |
|
|
(compute_vrsave_mask): Update.
|
21574 |
|
|
(compute_save_world_info): Update.
|
21575 |
|
|
(rs6000_stack_info): Update.
|
21576 |
|
|
(spe_func_has_64bit_regs_p): Update.
|
21577 |
|
|
(rs6000_ra_ever_killed): Update.
|
21578 |
|
|
(rs6000_emit_eh_reg_restore): Update.
|
21579 |
|
|
(rs6000_emit_allocate_stack): Update.
|
21580 |
|
|
(rs6000_emit_prologue): Update.
|
21581 |
|
|
(rs6000_emit_epilogue): Update.
|
21582 |
|
|
(rs6000_output_function_epilogue): Update.
|
21583 |
|
|
(output_profile_hook): Update.
|
21584 |
|
|
(rs6000_elf_declare_function_name): Update.
|
21585 |
|
|
* config/rs6000/rs6000.h (rs6000_args): Update.
|
21586 |
|
|
* config/rs6000/rs6000.md: Update.
|
21587 |
|
|
* config/mcore/mcore.c (mcore_expand_prolog): Update.
|
21588 |
|
|
* config/arc/arc.c (arc_output_function_epilogue): Update.
|
21589 |
|
|
* config/arc/arc.h (FRAME_POINTER_REQUIRED): Update.
|
21590 |
|
|
* config/darwin.c (machopic_function_base_name): Update.
|
21591 |
|
|
* config/score/score3.c (score3_compute_frame_size): Update.
|
21592 |
|
|
(rpush): Update.
|
21593 |
|
|
(rpop): Update.
|
21594 |
|
|
(score3_epilogue): Update.
|
21595 |
|
|
* config/score/score7.c (score7_compute_frame_size): Update.
|
21596 |
|
|
(score7_prologue): Update.
|
21597 |
|
|
(score7_epilogue): Update.
|
21598 |
|
|
* config/score/score.h (FRAME_POINTER_REQUIRED): Update.
|
21599 |
|
|
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update.
|
21600 |
|
|
* config/arm/arm.c (use_return_insn): Update.
|
21601 |
|
|
(require_pic_register): Update.
|
21602 |
|
|
(arm_load_pic_register): Update.
|
21603 |
|
|
(arm_compute_save_reg0_reg12_mask): Update.
|
21604 |
|
|
(arm_compute_save_reg_mask): Update.
|
21605 |
|
|
(thumb1_compute_save_reg_mask): Update.
|
21606 |
|
|
(output_return_instruction): Update.
|
21607 |
|
|
(arm_output_function_prologue): Update.
|
21608 |
|
|
(arm_output_epilogue): Update.
|
21609 |
|
|
(arm_get_frame_offsets): Update.
|
21610 |
|
|
(arm_expand_prologue): Update.
|
21611 |
|
|
(thumb_pushpop): Update.
|
21612 |
|
|
(thumb_exit): Update.
|
21613 |
|
|
(thumb1_expand_prologue): Update.
|
21614 |
|
|
(thumb1_expand_epilogue): Update.
|
21615 |
|
|
(arm_unwind_emit): Update.
|
21616 |
|
|
(arm_output_fn_unwind): Update.
|
21617 |
|
|
* config/arm/arm.h (FRAME_POINTER_REQUIRED): Update.
|
21618 |
|
|
* config/arm/arm.md: Update.
|
21619 |
|
|
* config/pa/pa.md: Update.
|
21620 |
|
|
* config/pa/pa.c (legitimize_pic_address): Update.
|
21621 |
|
|
(compute_frame_size): Update.
|
21622 |
|
|
(hppa_expand_prologue): Update.
|
21623 |
|
|
(hppa_expand_epilogue): Update.
|
21624 |
|
|
(borx_reg_operand): Update.
|
21625 |
|
|
* config/pa/pa.h (FRAME_POINTER_REQUIRED): Update.
|
21626 |
|
|
(HARD_REGNO_RENAME_OK): Update.
|
21627 |
|
|
* config/mips/mips.c (mips_global_pointer): Update.
|
21628 |
|
|
(mips_save_reg_p): Update.
|
21629 |
|
|
(mips_compute_frame_info): Update.
|
21630 |
|
|
(mips_frame_pointer_required): Update.
|
21631 |
|
|
(mips_expand_prologue): Update.
|
21632 |
|
|
(mips_expand_epilogue): Update.
|
21633 |
|
|
(mips_can_use_return_insn): Update.
|
21634 |
|
|
(mips_reorg_process_insns): Update.
|
21635 |
|
|
* config/v850/v850.c (compute_register_save_size): Update.
|
21636 |
|
|
* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Update.
|
21637 |
|
|
* config/mmix/mmix.c (along): Update.
|
21638 |
|
|
(mmix_expand_epilogue): Update.
|
21639 |
|
|
* config/bfin/bfin.c (legitimize_pic_address): Update.
|
21640 |
|
|
(must_save_p): Update.
|
21641 |
|
|
(stack_frame_needed_p): Update.
|
21642 |
|
|
(add_to_reg): Update.
|
21643 |
|
|
(bfin_expand_prologue): Update.
|
21644 |
|
|
* stmt.c (expand_asm_operands): Update.
|
21645 |
|
|
* reload1.c (reload): Update.
|
21646 |
|
|
(init_elim_table): Update.
|
21647 |
|
|
|
21648 |
|
|
2008-04-25 Bob Wilson
|
21649 |
|
|
|
21650 |
|
|
* optabs.c (expand_float): Fix REG_EQUAL for UNSIGNED_FLOAT libcall.
|
21651 |
|
|
|
21652 |
|
|
2008-04-25 H.J. Lu
|
21653 |
|
|
|
21654 |
|
|
* config/i386/sse.md (mov): Replace SSEMODEI with SSEMODE.
|
21655 |
|
|
(*mov_internal): Likewise. Support V4SF and V2DF.
|
21656 |
|
|
(mov): Removed.
|
21657 |
|
|
(*movv4sf_internal): Likewise.
|
21658 |
|
|
(*movv2df_internal): Likewise.
|
21659 |
|
|
|
21660 |
|
|
2008-04-25 Pompapathi V Gadad
|
21661 |
|
|
|
21662 |
|
|
* config.gcc (crx-*-elf): Remove deprecation.
|
21663 |
|
|
|
21664 |
|
|
2008-04-25 Danny Smith
|
21665 |
|
|
|
21666 |
|
|
* config/i386/cygming-crtend.c (register_frame_ctor): Register
|
21667 |
|
|
__gcc_deregister_frame with atexit.
|
21668 |
|
|
(deregister_frame_dtor): Remove.
|
21669 |
|
|
|
21670 |
|
|
2008-04-24 Nathan Froyd
|
21671 |
|
|
Nathan Sidwell
|
21672 |
|
|
|
21673 |
|
|
* config/rs6000/rs6000.opt (mspe): Remove Var property.
|
21674 |
|
|
(misel): Likewise.
|
21675 |
|
|
* config/rs6000/rs6000.h (rs6000_spe): Declare.
|
21676 |
|
|
(rs6000_isel): Likewise.
|
21677 |
|
|
* config/rs6000/rs6000.c (rs6000_spe): New variable.
|
21678 |
|
|
(rs6000_isel): New variable.
|
21679 |
|
|
(rs6000_handle_option): Handle OPT_mspe and OPT_misel.
|
21680 |
|
|
|
21681 |
|
|
2008-04-24 Jakub Jelinek
|
21682 |
|
|
|
21683 |
|
|
PR c++/35758
|
21684 |
|
|
* c-common.c (handle_vector_size_attribute): Call
|
21685 |
|
|
lang_hooks.types.reconstruct_complex_type instead of
|
21686 |
|
|
reconstruct_complex_type.
|
21687 |
|
|
* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise.
|
21688 |
|
|
* config/spu/spu.c (spu_handle_vector_attribute): Likewise.
|
21689 |
|
|
* langhooks.h (struct lang_hooks_for_types): Add
|
21690 |
|
|
reconstruct_complex_type hook.
|
21691 |
|
|
* langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
|
21692 |
|
|
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
|
21693 |
|
|
|
21694 |
|
|
2008-04-24 Richard Guenther
|
21695 |
|
|
|
21696 |
|
|
* c-common.h (check_builtin_function_arguments): Declare.
|
21697 |
|
|
* c-common.c (validate_nargs): New function.
|
21698 |
|
|
(check_builtin_function_arguments): Likewise.
|
21699 |
|
|
* c-typeck.c (build_function_call): Call
|
21700 |
|
|
check_builtin_function_arguments.
|
21701 |
|
|
* builtins.c (fold_builtin_classify): Remove error reporting code.
|
21702 |
|
|
(fold_builtin_unordered_cmp): Likewise.
|
21703 |
|
|
(fold_builtin_1): Likewise.
|
21704 |
|
|
(fold_builtin_n): Likewise.
|
21705 |
|
|
|
21706 |
|
|
2008-04-24 Jakub Jelinek
|
21707 |
|
|
|
21708 |
|
|
PR tree-optimization/36008
|
21709 |
|
|
* fold-const.c (try_move_mult_to_index): If s == NULL, divide
|
21710 |
|
|
the original op1, rather than delta by step.
|
21711 |
|
|
|
21712 |
|
|
2008-04-22 Antoniu Pop
|
21713 |
|
|
Sebastian Pop
|
21714 |
|
|
|
21715 |
|
|
* tree-parloops.c (take_address_of, eliminate_local_variables_1,
|
21716 |
|
|
eliminate_local_variables_stmt, eliminate_local_variables,
|
21717 |
|
|
separate_decls_in_loop_name, separate_decls_in_loop_stmt,
|
21718 |
|
|
separate_decls_in_loop, gen_parallel_loop): Make them work on a region
|
21719 |
|
|
of code delimited by two edges in the CFG.
|
21720 |
|
|
(separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
|
21721 |
|
|
(separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
|
21722 |
|
|
(separate_decls_in_loop): Renamed separate_decls_in_region. Isolate
|
21723 |
|
|
the case of parallelisation of reductions.
|
21724 |
|
|
(expr_invariant_in_region_p): New.
|
21725 |
|
|
|
21726 |
|
|
* tree-flow.h (gather_blocks_in_sese_region): Declared.
|
21727 |
|
|
* tree-cfg.c (gather_blocks_in_sese_region): Extern.
|
21728 |
|
|
|
21729 |
|
|
2008-04-24 Ira Rosen
|
21730 |
|
|
Richard Guenther
|
21731 |
|
|
|
21732 |
|
|
PR tree-optimization/36034
|
21733 |
|
|
* tree-vect-analyze.c (vect_analyze_group_access): SLP is
|
21734 |
|
|
incapable of dealing with loads with gaps.
|
21735 |
|
|
|
21736 |
|
|
2008-04-24 Rafael Espíndola
|
21737 |
|
|
|
21738 |
|
|
* tree-flow.h (vrp_evaluate_conditional): Change signature.
|
21739 |
|
|
* tree-ssa-propagate.c (fold_predicate_in): Update call to
|
21740 |
|
|
vrp_evaluate_conditional.
|
21741 |
|
|
* tree-vrp.c (vrp_evaluate_conditional_warnv): Remove.
|
21742 |
|
|
(vrp_evaluate_conditional): Split the cond argument.
|
21743 |
|
|
(vrp_visit_cond_stmt): Use vrp_evaluate_conditional_warnv_with_ops.
|
21744 |
|
|
(simplify_stmt_for_jump_threading): Update call to
|
21745 |
|
|
vrp_evaluate_conditional.
|
21746 |
|
|
|
21747 |
|
|
2008-04-24 Ira Rosen
|
21748 |
|
|
|
21749 |
|
|
PR tree-optimization/35982
|
21750 |
|
|
* tree-vect-analyze.c (vect_check_interleaving): Check that the
|
21751 |
|
|
interleaved data-refs are of the same type.
|
21752 |
|
|
|
21753 |
|
|
2008-04-24 Danny Smith
|
21754 |
|
|
|
21755 |
|
|
* c-format.c (check_format_info_main): Use strncmp rather than a
|
21756 |
|
|
magic prefix to handle multichar length specs.
|
21757 |
|
|
* config/i386/msformat-c.c (format_length_info ms_printf_length_specs):
|
21758 |
|
|
Don't prefix "I64" and "I32" with '\0'.
|
21759 |
|
|
|
21760 |
|
|
2008-04-24 Jakub Jelinek
|
21761 |
|
|
|
21762 |
|
|
PR target/36015
|
21763 |
|
|
* config/i386/i386.c (init_cumulative_args): Don't pass anything
|
21764 |
|
|
in registers for -m32 only if stdarg_p (fntype).
|
21765 |
|
|
|
21766 |
|
|
2008-04-24 Uros Bizjak
|
21767 |
|
|
|
21768 |
|
|
PR rtl-optimization/36006
|
21769 |
|
|
* expmed.c (store_fixed_bit_field): Copy op0 rtx before moving
|
21770 |
|
|
temp to op0 in order to avoid invalid rtx sharing.
|
21771 |
|
|
|
21772 |
|
|
2008-04-23 Paolo Bonzini
|
21773 |
|
|
|
21774 |
|
|
* tree-cfg.c (verify_expr): Check with is_gimple_address. Don't
|
21775 |
|
|
check TREE_INVARIANT.
|
21776 |
|
|
* tree-gimple.c (is_gimple_address): New.
|
21777 |
|
|
(is_gimple_invariant_address): Simplify using decl_address_invariant_p.
|
21778 |
|
|
* tree-gimple.h (is_gimple_address): New.
|
21779 |
|
|
* tree.h (decl_address_invariant_p): New.
|
21780 |
|
|
* tree.c (make_node_stat): Don't set TREE_INVARIANT.
|
21781 |
|
|
(build_string): Likewise.
|
21782 |
|
|
(decl_address_invariant_p): New, from is_gimple_invariant_address.
|
21783 |
|
|
(tree_invariant_p_1): Likewise.
|
21784 |
|
|
(save_expr): Use it.
|
21785 |
|
|
(tree_invariant_p): New.
|
21786 |
|
|
(skip_simple_arithmetic): Use it.
|
21787 |
|
|
(stabilize_reference_1): Use it.
|
21788 |
|
|
(recompute_tree_invariant_for_addr_expr): Don't update TREE_INVARIANT,
|
21789 |
|
|
simplify.
|
21790 |
|
|
(build1_stat): Drop code to compute TREE_INVARIANT.
|
21791 |
|
|
(build2_stat): Drop code to compute TREE_INVARIANT.
|
21792 |
|
|
(build3_stat): Drop code to compute TREE_INVARIANT.
|
21793 |
|
|
(build4_stat): Drop code to compute TREE_INVARIANT.
|
21794 |
|
|
(build5_stat): Drop code to compute TREE_INVARIANT.
|
21795 |
|
|
(build7_stat): Drop code to compute TREE_INVARIANT.
|
21796 |
|
|
(merge_dllimport_decl_attributes): Don't mention TREE_INVARIANT.
|
21797 |
|
|
* tree.h (struct tree_base): Remove invariant_flag.
|
21798 |
|
|
(TREE_INVARIANT): Remove.
|
21799 |
|
|
* builtins.c (build_string_literal): Don't set TREE_INVARIANT.
|
21800 |
|
|
(fold_builtin_expect): Check TREE_CONSTANT.
|
21801 |
|
|
* tree-ssa-ccp.c (fold_stmt_r): Adjust comment.
|
21802 |
|
|
* c-tree.h (c_expr_to_decl): Drop third parameter.
|
21803 |
|
|
* c-typeck.c (build_external_ref): Don't set TREE_INVARIANT.
|
21804 |
|
|
(build_c_cast): Don't set TREE_INVARIANT.
|
21805 |
|
|
(pop_init_level): Don't set TREE_INVARIANT.
|
21806 |
|
|
(c_objc_common_truthvalue_conversion): Don't set TREE_INVARIANT.
|
21807 |
|
|
* gimplify.c (gimplify_init_ctor_preeval): Add assertion, test
|
21808 |
|
|
TREE_CONSTANT.
|
21809 |
|
|
(gimplify_init_constructor): Don't set TREE_INVARIANT.
|
21810 |
|
|
(gimplify_addr_expr): Adjust comment.
|
21811 |
|
|
* tree-mudflap.c (mf_build_string):
|
21812 |
|
|
* print-tree.c (print_node): Don't print TREE_INVARIANT.
|
21813 |
|
|
* tree-nested.c (convert_nonlocal_reference): Adjust comment.
|
21814 |
|
|
* c-common.c (fix_string_type): Don't set TREE_INVARIANT.
|
21815 |
|
|
* langhooks-def.h (lhd_expr_to_decl): Drop third parameter.
|
21816 |
|
|
* langhooks.c (lhd_expr_to_decl): Drop third parameter.
|
21817 |
|
|
* langhooks.h (struct lang_hooks): Drop third parameter from
|
21818 |
|
|
expr_to_decl.
|
21819 |
|
|
|
21820 |
|
|
2008-04-23 Richard Guenther
|
21821 |
|
|
|
21822 |
|
|
PR tree-optimization/27799
|
21823 |
|
|
PR tree-optimization/32921
|
21824 |
|
|
PR tree-optimization/32624
|
21825 |
|
|
* tree-ssa-structalias.c (merge_smts_into): Only merge the
|
21826 |
|
|
SMTs aliases and the tag itself into the solution.
|
21827 |
|
|
* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Do not
|
21828 |
|
|
merge the points-to solution back into the SMT aliases.
|
21829 |
|
|
(may_alias_p): Use alias_set_subset_of instead of
|
21830 |
|
|
aliases_conflict_p. A pointer which points to
|
21831 |
|
|
memory with alias set zero may access any variable.
|
21832 |
|
|
|
21833 |
|
|
2008-04-23 Richard Guenther
|
21834 |
|
|
|
21835 |
|
|
* alias.c (alias_set_subset_of): Correctly handle asking
|
21836 |
|
|
if zero is a subset of an alias set with zero child.
|
21837 |
|
|
* tree-ssa-alias.c (have_common_aliases_p): Simplify logic.
|
21838 |
|
|
(compute_flow_insensitive_aliasing): Correctly walk all
|
21839 |
|
|
pointers. Do not unnecessarily union sets.
|
21840 |
|
|
|
21841 |
|
|
2008-04-23 Richard Guenther
|
21842 |
|
|
|
21843 |
|
|
PR middle-end/36021
|
21844 |
|
|
* c-common.c (handle_alloc_size_attribute): Use type_num_arguments.
|
21845 |
|
|
|
21846 |
|
|
2008-04-22 Tomas Bily
|
21847 |
|
|
|
21848 |
|
|
* tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as
|
21849 |
|
|
unreachable case.
|
21850 |
|
|
* tree-vrp.c (extract_range_from_unary_expr): Removed unused
|
21851 |
|
|
NON_LVALUE_EXPR.
|
21852 |
|
|
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
|
21853 |
|
|
* tree-ssa-structalias.c (get_constraint_for): Likewise.
|
21854 |
|
|
* tree-inline.c (estimate_num_insns_1): Likewise.
|
21855 |
|
|
* varasm.c (const_hash_1, compare_constant, copy_constant)
|
21856 |
|
|
(compute_reloc_for_constant, output_addressed_constants): Likewise.
|
21857 |
|
|
* emit-rtl.c (component_ref_for_mem_expr)
|
21858 |
|
|
(set_mem_attributes_minus_bitpos): Likewise.
|
21859 |
|
|
* expr.c (highest_pow2_factor, expand_expr_real_1)
|
21860 |
|
|
(is_aligning_offset): Likewise.
|
21861 |
|
|
* dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info): Likewise.
|
21862 |
|
|
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.
|
21863 |
|
|
* dojump.c (do_jump): Likewise.
|
21864 |
|
|
* builtins.c (get_pointer_alignment, get_memory_rtx)
|
21865 |
|
|
(integer_valued_real_p, fold_builtin_next_arg): Likewise.
|
21866 |
|
|
* tree-scalar-evolution.c (instantiate_parameters_1): Likewise.
|
21867 |
|
|
|
21868 |
|
|
2008-04-23 Jakub Jelinek
|
21869 |
|
|
|
21870 |
|
|
PR rtl-optimization/36017
|
21871 |
|
|
* builtins.c (expand_errno_check): Clear CALL_EXPR_TAILCALL before
|
21872 |
|
|
expanding the library call.
|
21873 |
|
|
|
21874 |
|
|
2008-04-22 Ian Lance Taylor
|
21875 |
|
|
|
21876 |
|
|
* fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather
|
21877 |
|
|
than size_in_bytes.
|
21878 |
|
|
|
21879 |
|
|
2008-04-22 Pat Haugen
|
21880 |
|
|
|
21881 |
|
|
* config/rs6000/rs6000.c (rs6000_register_move_cost): Increase cost
|
21882 |
|
|
of LR/CTR moves for Power6.
|
21883 |
|
|
|
21884 |
|
|
2008-04-22 Kenneth Zadeck
|
21885 |
|
|
|
21886 |
|
|
PR middle-end/36003
|
21887 |
|
|
* passes.c (init_optimization_passes): Remove
|
21888 |
|
|
pass_fast_rtl_byte_dce.
|
21889 |
|
|
|
21890 |
|
|
2008-04-22 Uros Bizjak
|
21891 |
|
|
|
21892 |
|
|
PR target/29096
|
21893 |
|
|
* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Rearrange calls to
|
21894 |
|
|
builtin functions to generate faster code.
|
21895 |
|
|
(_mm_cvtpu16_ps): Ditto.
|
21896 |
|
|
(_mm_cvtpi32x2_ps): Ditto.
|
21897 |
|
|
|
21898 |
|
|
2008-04-22 Nick Clifton
|
21899 |
|
|
|
21900 |
|
|
* common.opt (ftree-loop-distribution): Add Optimization
|
21901 |
|
|
attribute.
|
21902 |
|
|
|
21903 |
|
|
* config/frv/frv.c (frv_stack_info): Use crtl instead of cfun.
|
21904 |
|
|
(frv_expand_builtin_va_start): Likewise.
|
21905 |
|
|
|
21906 |
|
|
* config/arm/arm.c (thumb_find_work_register): Fix location of
|
21907 |
|
|
argument register count.
|
21908 |
|
|
|
21909 |
|
|
2008-04-22 Maxim Kuvyrkov
|
21910 |
|
|
|
21911 |
|
|
Support scheduling for ColdFire V1 and V3 microarchitecture.
|
21912 |
|
|
Improve scheduling of multiplication instructions.
|
21913 |
|
|
|
21914 |
|
|
* config/m68k/m68k.md (cpu): Add cfv1 and cfv3. Rename cf_v2 to cfv1.
|
21915 |
|
|
(mac): New instruction attribute.
|
21916 |
|
|
* config/m68k/m68k.c (override_options): Handle cfv1, cfv3 and mac.
|
21917 |
|
|
(m68k_sched_mac): New variable.
|
21918 |
|
|
(m68k_sched_attr_type2, m68k_sched_md_init_global): Update.
|
21919 |
|
|
Handle cfv1 and cfv3.
|
21920 |
|
|
(max_insn_size): New static variable.
|
21921 |
|
|
(struct _sched_ib): New type.
|
21922 |
|
|
(sched_ib): New static variable.
|
21923 |
|
|
(sched_ib_size, sched_ib_filled, sched_ib_insn): Convert variables
|
21924 |
|
|
to fields of 'struct _sched_ib sched_ib'. Update all uses.
|
21925 |
|
|
(m68k_sched_variable_issue): Add modeling of cfv3 instruction buffer.
|
21926 |
|
|
Update.
|
21927 |
|
|
(m68k_sched_md_init_global, m68k_sched_md_finish_global,
|
21928 |
|
|
m68k_sched_md_init, m68k_sched_md_finish): Handle cfv1 and cfv3. Init
|
21929 |
|
|
new variables. Update.
|
21930 |
|
|
(m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle):
|
21931 |
|
|
Add modeling of cfv3 instruction buffer. Update.
|
21932 |
|
|
* config/m68k/m68k-protos.h (m68k_sched_mac): Declare.
|
21933 |
|
|
* config/m68k/m68k.h (TUNE_CFV3): New macro.
|
21934 |
|
|
* config/m68k/cf.md: Change substrings 'cf_v2' to 'cfv12' or 'cfv123'.
|
21935 |
|
|
(cf_* reservations): Rename to cfv12 or cfv123 to indicate cores
|
21936 |
|
|
a particular reservation applies to.
|
21937 |
|
|
(type2): Reorganize attribute values. Rename alu to alu_reg,
|
21938 |
|
|
alu_l to alu, move_l to omove. Join move to alu. Split mul
|
21939 |
|
|
to mul_l and mul_w.
|
21940 |
|
|
(cf_ib_*): Simplify description of instruction buffer.
|
21941 |
|
|
(cf_ib_w0, cf_ib_w4, cf_ib_w5, cf_ib_w6): Remove.
|
21942 |
|
|
(cf_mem): Split into cf_mem1 and cf_mem2.
|
21943 |
|
|
(cf_v2_move_??): Rename to cfv12_alu_??.
|
21944 |
|
|
(cf_v2_move_l_??): Rename to cfv12_omove_??.
|
21945 |
|
|
(cf_v2_mul_??): Remove reservations.
|
21946 |
|
|
(cfv12_mul_l_??, cfv12_mul_w_??, cfv12_mac_w_??, cfv12_mac_l_??,
|
21947 |
|
|
cfv12_emac_??, cfv12_emac_w_i0): New reservations.
|
21948 |
|
|
(cfv12_rts, cfv12_call, cfv12_bcc, cfv12_bra, cfv12_jmp): Move to
|
21949 |
|
|
appropriate place.
|
21950 |
|
|
(cfv3_alu_10, cfv3_omove_10, cfv3_alu_i0, cfv3_omove_i0, cfv3_alu_01,
|
21951 |
|
|
cfv3_alu_0i, cfv3_alu_11, cfv3_omove_11, cfv3_alu_i1, cfv3_omove_i1,
|
21952 |
|
|
cfv3_alu_1i, cfv3_omove_1i, cfv3_pea_11, cfv3_pea_i1, cfv3_mul_w_10,
|
21953 |
|
|
cfv3_mul_l_10, cfv3_mul_w_i0, cfv3_mac_w_10, cfv3_mac_l_10,
|
21954 |
|
|
cfv3_mac_w_i0, cfv3_emac_10, cfv3_emac_w_i0, cfv3_rts, cfv3_call,
|
21955 |
|
|
cfv3_bcc, cfv3_bra, cfv3_jmp): New reservations.
|
21956 |
|
|
(cfv3_*_1, cfv3_*_2, cfv3_*_3): New instruction reservations that are
|
21957 |
|
|
expansions of the above reservations for instructions of sizes
|
21958 |
|
|
1, 2 and 3 words.
|
21959 |
|
|
|
21960 |
|
|
2008-04-22 Maxim Kuvyrkov
|
21961 |
|
|
|
21962 |
|
|
* rtl-factoring.c (collect_patterns_seqs): Handle CC0 targets.
|
21963 |
|
|
|
21964 |
|
|
2008-04-21 Adam Nemet
|
21965 |
|
|
|
21966 |
|
|
* coverage.c: Include tree-pass.h.
|
21967 |
|
|
(coverage_counter_alloc): Print da_file_name to the dump file.
|
21968 |
|
|
|
21969 |
|
|
2008-04-21 Kenneth Zadeck
|
21970 |
|
|
|
21971 |
|
|
* sbitmap.c (sbitmap_range_empty_p): New function.
|
21972 |
|
|
* sbitmap.h (sbitmap_range_empty_p): New function.
|
21973 |
|
|
* bitmap.h: Now includes obstack.h.
|
21974 |
|
|
|
21975 |
|
|
2008-04-21 Richard Sandiford
|
21976 |
|
|
Kenneth Zadeck
|
21977 |
|
|
|
21978 |
|
|
* dbgcnt.def (ra_byte_scan): Added.
|
21979 |
|
|
* dbgcnt.c (dbg_cnt): Added code to print message to dump_file
|
21980 |
|
|
when the last hit happens for a counter.
|
21981 |
|
|
* timevar.def (TV_DF_BYTE_LR): New variable.
|
21982 |
|
|
* tree-pass.h (pass_fast_rtl_byte_dce): New pass.
|
21983 |
|
|
* passes.c (pass_fast_rtl_byte_dce): New pass.
|
21984 |
|
|
* fwprop.c (update_df): Added mode to call df_ref_create.
|
21985 |
|
|
Renamed DF_REF_WIDTH and DF_REF_OFFSET to DF_REF_EXTRACT_WIDTH and
|
21986 |
|
|
DF_REF_EXTRACT_OFFSET.
|
21987 |
|
|
* df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN,
|
21988 |
|
|
DF_BYTE_LR_OUT, df_byte_lr): New macro.
|
21989 |
|
|
(df_mm): New enum.
|
21990 |
|
|
(df_ref_extract): Added mode field.
|
21991 |
|
|
(DF_REF_WIDTH, DF_REF_OFFSET) Renamed to DF_REF_EXTRACT_WIDTH and
|
21992 |
|
|
DF_REF_EXTRACT_OFFSET.
|
21993 |
|
|
(DF_REF_EXTRACT_MODE): New macro.
|
21994 |
|
|
(df_byte_lr_bb_info): New structure.
|
21995 |
|
|
(df_print_byte_regset, df_compute_accessed_bytes,
|
21996 |
|
|
df_byte_lr_add_problem, df_byte_lr_get_regno_start,
|
21997 |
|
|
df_byte_lr_get_regno_len, df_byte_lr_simulate_defs,
|
21998 |
|
|
df_byte_lr_simulate_uses,
|
21999 |
|
|
df_byte_lr_simulate_artificial_refs_at_top,
|
22000 |
|
|
df_byte_lr_simulate_artificial_refs_at_end,
|
22001 |
|
|
df_compute_accessed_bytes): New function.
|
22002 |
|
|
(df_ref_create): Add parameter.
|
22003 |
|
|
(df_byte_lr_get_bb_info): New inline function.
|
22004 |
|
|
* df-scan.c (df_ref_record, df_uses_record,
|
22005 |
|
|
df_ref_create_structure): Added mode parameter.
|
22006 |
|
|
(df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1,
|
22007 |
|
|
df_defs_record, df_uses_record, df_get_conditional_uses,
|
22008 |
|
|
df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
|
22009 |
|
|
df_entry_block_defs_collect, df_exit_block_uses_collect):
|
22010 |
|
|
Added mode parameter to calls to df_ref_record, df_uses_record,
|
22011 |
|
|
df_ref_create_structure.
|
22012 |
|
|
(df_ref_equal_p, df_ref_compare): Added test for modes.
|
22013 |
|
|
(df_ref_create_structure): Added code to set mode. Renamed
|
22014 |
|
|
DF_REF_WIDTH and DF_REF_OFFSET to DF_REF_EXTRACT_WIDTH and
|
22015 |
|
|
DF_REF_EXTRACT_OFFSET.
|
22016 |
|
|
* df-core.c (df_print_byte_regset): New function.
|
22017 |
|
|
* df-byte-scan.c: New file.
|
22018 |
|
|
* df-problems.c (df_rd_transfer_function): Removed unnecessary
|
22019 |
|
|
calls to BITMAP_FREE.
|
22020 |
|
|
(df_byte_lr_problem_data, df_problem problem_BYTE_LR): New structure.
|
22021 |
|
|
(df_byte_lr_get_regno_start, df_byte_lr_get_regno_len,
|
22022 |
|
|
df_byte_lr_set_bb_info, df_byte_lr_free_bb_info,
|
22023 |
|
|
df_byte_lr_check_regs, df_byte_lr_expand_bitmap,
|
22024 |
|
|
df_byte_lr_alloc, df_byte_lr_reset, df_byte_lr_bb_local_compute,
|
22025 |
|
|
df_byte_lr_local_compute, df_byte_lr_init,
|
22026 |
|
|
df_byte_lr_confluence_0, df_byte_lr_confluence_n,
|
22027 |
|
|
df_byte_lr_transfer_function, df_byte_lr_free,
|
22028 |
|
|
df_byte_lr_top_dump, df_byte_lr_bottom_dump,
|
22029 |
|
|
df_byte_lr_add_problem, df_byte_lr_simulate_defs,
|
22030 |
|
|
df_byte_lr_simulate_uses,
|
22031 |
|
|
df_byte_lr_simulate_artificial_refs_at_top,
|
22032 |
|
|
df_byte_lr_simulate_artificial_refs_at_end): New function.
|
22033 |
|
|
* dce.c (byte_dce_process_block): New function.
|
22034 |
|
|
(dce_process_block): au is now passed in rather than computed
|
22035 |
|
|
locally. Changed loops that look at artificial defs to not look
|
22036 |
|
|
for conditional or partial ones, because there never are any.
|
22037 |
|
|
(fast_dce): Now is able to drive byte_dce_process_block or
|
22038 |
|
|
dce_process_block depending on the kind of dce being done.
|
22039 |
|
|
(rest_of_handle_fast_dce): Add parameter to fast_dce.
|
22040 |
|
|
(rest_of_handle_fast_byte_dce): New function.
|
22041 |
|
|
(rtl_opt_pass pass_fast_rtl_byte_dce): New pass.
|
22042 |
|
|
* Makefile.in (df-byte-scan.o, debugcnt.o): Added dependencies.
|
22043 |
|
|
|
22044 |
|
|
2008-04-21 Daniel Franke
|
22045 |
|
|
|
22046 |
|
|
PR fortran/35019
|
22047 |
|
|
* gcc.h: Added fortran options that take arguments to
|
22048 |
|
|
DEFAULT_SWITCH_TAKES_ARG and DEFAULT_WORD_SWITCH_TAKES_ARG
|
22049 |
|
|
macros.
|
22050 |
|
|
|
22051 |
|
|
2008-04-20 Eric Botcazou
|
22052 |
|
|
|
22053 |
|
|
* tree-sra.c (sra_walk_expr) : Disable
|
22054 |
|
|
scalarization if on the LHS and not a full access.
|
22055 |
|
|
|
22056 |
|
|
2008-04-20 Ralf Wildenhues
|
22057 |
|
|
|
22058 |
|
|
* Makefile.in (s-gtyp-input): Remove tmp-gi.list before writing it.
|
22059 |
|
|
|
22060 |
|
|
2008-04-18 Rafael Espíndola
|
22061 |
|
|
|
22062 |
|
|
* tree-vrp.c (find_case_label_index): Fix the binary search.
|
22063 |
|
|
(find_case_label_range): New.
|
22064 |
|
|
(vrp_visit_switch_stmt): Use find_case_label_range.
|
22065 |
|
|
(simplify_switch_using_ranges): Use find_case_label_range.
|
22066 |
|
|
|
22067 |
|
|
2008-04-18 Eric Botcazou
|
22068 |
|
|
|
22069 |
|
|
* gimplify.c (gimplify_modify_expr_rhs) : Gimplify the LHS
|
22070 |
|
|
using the is_gimple_lvalue predicate instead of is_gimple_min_lval.
|
22071 |
|
|
|
22072 |
|
|
2008-04-18 Tom Tromey
|
22073 |
|
|
|
22074 |
|
|
PR libcpp/15500:
|
22075 |
|
|
* doc/cpp.texi (Implementation-defined behavior): Mention
|
22076 |
|
|
-finput-charset.
|
22077 |
|
|
|
22078 |
|
|
2008-04-18 Ian Lance Taylor
|
22079 |
|
|
|
22080 |
|
|
* fold-const.c (pointer_may_wrap_p): New static function.
|
22081 |
|
|
(fold_comparison): Add another test for pointer overflow. Use
|
22082 |
|
|
pointer_may_wrap_p to disable some false positives.
|
22083 |
|
|
|
22084 |
|
|
2008-04-18 Kris Van Hees
|
22085 |
|
|
|
22086 |
|
|
* c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros.
|
22087 |
|
|
(fname_as_string): Match updated cpp_interpret_string prototype.
|
22088 |
|
|
(fix_string_type): Support char16_t* and char32_t*.
|
22089 |
|
|
(c_common_nodes_and_builtins): Add char16_t and char32_t (and
|
22090 |
|
|
derivative) nodes. Register as builtin if C++0x.
|
22091 |
|
|
(c_parse_error): Support CPP_CHAR{16,32}.
|
22092 |
|
|
* c-common.h (RID_CHAR16, RID_CHAR32): New elements.
|
22093 |
|
|
(enum c_tree_index)
|
22094 |
|
|
CTI_UNSIGNED_CHAR16_TYPE, CTI_CHAR32_TYPE, CTI_SIGNED_CHAR32_TYPE,
|
22095 |
|
|
CTI_UNSIGNED_CHAR32_TYPE, CTI_CHAR16_ARRAY_TYPE,
|
22096 |
|
|
CTI_CHAR32_ARRAY_TYPE>: New elements.
|
22097 |
|
|
(char16_type_node, signed_char16_type_node, unsigned_char16_type_node,
|
22098 |
|
|
char32_type_node, signed_char32_type_node, char16_array_type_node,
|
22099 |
|
|
char32_array_type_node): New defines.
|
22100 |
|
|
* c-lex.c (cb_ident): Match updated cpp_interpret_string prototype.
|
22101 |
|
|
(c_lex_with_flags): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
|
22102 |
|
|
(lex_string): Support CPP_STRING{16,32}, match updated
|
22103 |
|
|
cpp_interpret_string and cpp_interpret_string_notranslate prototypes.
|
22104 |
|
|
(lex_charconst): Support CPP_CHAR{16,32}.
|
22105 |
|
|
* c-parser.c (c_parser_postfix_expression): Support CPP_CHAR{16,32}
|
22106 |
|
|
and CPP_STRING{16,32}.
|
22107 |
|
|
|
22108 |
|
|
2008-04-18 Paolo Bonzini
|
22109 |
|
|
|
22110 |
|
|
PR bootstrap/35457
|
22111 |
|
|
* aclocal.m4: Regenerate.
|
22112 |
|
|
* configure: Regenerate.
|
22113 |
|
|
|
22114 |
|
|
2008-04-18 Jan Hubicka
|
22115 |
|
|
|
22116 |
|
|
* except.c (dw2_size_of_call_site_table,
|
22117 |
|
|
sjlj_size_of_call_site_table): Use vector API for call_site_record.
|
22118 |
|
|
|
22119 |
|
|
* cgraphbuild.c (build_cgraph_edges): Update.
|
22120 |
|
|
* tree-pass.h: Update comment.
|
22121 |
|
|
* final.c (leaf_function_p): Update.
|
22122 |
|
|
(leaf_renumber_regs): Update.
|
22123 |
|
|
(rest_of_clean_state): Update.
|
22124 |
|
|
* omp-low.c (expand_omp_parallel): Update.
|
22125 |
|
|
* ipa-reference.c (analyze_function): Update.
|
22126 |
|
|
* reorg.c (find_end_label): Update.
|
22127 |
|
|
(optimize_skip): Update.
|
22128 |
|
|
(fill_simple_delay_slots): Update.
|
22129 |
|
|
(fill_simple_delay_slots): Update.
|
22130 |
|
|
(make_return_insns): Update.
|
22131 |
|
|
(dbr_schedule): Update.
|
22132 |
|
|
* gimple-low.c (record_vars_into): Update.
|
22133 |
|
|
* cfgbuild.c (make_edges): Update.
|
22134 |
|
|
* function.c (assign_stack_local): Update.
|
22135 |
|
|
(assign_parm_adjust_stack_rtl): Update.
|
22136 |
|
|
(locate_and_pad_parm): Update.
|
22137 |
|
|
(allocate_struct_function): Do not initialize stack_alignment_needed
|
22138 |
|
|
and preferred_stack_boundary here.
|
22139 |
|
|
(stack_protect_prologue): Update.
|
22140 |
|
|
(stack_protect_epilogue): Update.
|
22141 |
|
|
(expand_function_start): Initialize stack_alignment_needed,
|
22142 |
|
|
preferred_stack_boundary and max_jumptable_ents.
|
22143 |
|
|
(expand_function_end): Update.
|
22144 |
|
|
(free_after_compilation): Do not NULLify epilogue_delay_list.
|
22145 |
|
|
* function.h (struct rtl_data): Add stack_protect_guard,
|
22146 |
|
|
stack_alignment_needed,
|
22147 |
|
|
preferred_stack_boundary, epilogue_delay_list.
|
22148 |
|
|
(struct function): Remove value_histograms, stack_alignment_needed,
|
22149 |
|
|
preferred_stack_boundary, epilogue_delay_list, max_jumptable_ents,
|
22150 |
|
|
last_label_uid,
|
22151 |
|
|
unexpanded_var_list, stack_protect_guard.
|
22152 |
|
|
(current_function_epilogue_delay_list): Remove.
|
22153 |
|
|
* ipa-type-escape.c (analyze_function): Update.
|
22154 |
|
|
* gimplify.c (pop_gimplify_context): Update comment.
|
22155 |
|
|
* calls.c (expand_call): Update.
|
22156 |
|
|
(emit_library_call_value_1): Update.
|
22157 |
|
|
* except.c (set_nothrow_function_flags): Update.
|
22158 |
|
|
* cfgexpand.c (get_decl_align_unit): Update.
|
22159 |
|
|
(create_stack_guard): Update.
|
22160 |
|
|
(estimated_stack_frame_size): Update.
|
22161 |
|
|
(expand_used_vars): Update.
|
22162 |
|
|
(tree_expand_cfg): Free histogram earliers, init expansion variables.
|
22163 |
|
|
* explow.c (allocate_dynamic_stack_space): Update.
|
22164 |
|
|
* tree-ssa-live.c (remove_unused_locals): Update.
|
22165 |
|
|
* varasm.c (mark_constant_pool): Update.
|
22166 |
|
|
* tree-inline.c (remap_decls): Update.
|
22167 |
|
|
(initialize_cfun): Update.
|
22168 |
|
|
(declare_return_variable): Update.
|
22169 |
|
|
(inline_forbidden_p): Update.
|
22170 |
|
|
(expand_call_inline): Update.
|
22171 |
|
|
(declare_inline_vars): Update.
|
22172 |
|
|
(tree_function_versioning): Update.
|
22173 |
|
|
* tree-flow.h (value_histograms): New.
|
22174 |
|
|
(VALUE_HISTOGRAMS): New macro.
|
22175 |
|
|
* basic-block.h (control_flow_graph): Add max_jumptable_ents,
|
22176 |
|
|
last_label_uid.
|
22177 |
|
|
* tree-cfg.c (set_bb_for_stmt): Update.
|
22178 |
|
|
(replace_by_duplicate_decl): Update.
|
22179 |
|
|
(move_block_to_fn): Update.
|
22180 |
|
|
(new_label_mapper): Update.
|
22181 |
|
|
(dump_function_to_file): Update.
|
22182 |
|
|
* ipa-struct-reorg.c (build_data_structure): Update.
|
22183 |
|
|
* cfgrtl.c (print_rtl_with_bb): Update.
|
22184 |
|
|
* reload1.c (reload): Update.
|
22185 |
|
|
(reload): Update.
|
22186 |
|
|
* config/i386/i386.c (setup_incoming_varargs_64,
|
22187 |
|
|
ix86_compute_frame_layout): Update.
|
22188 |
|
|
* config/arc/arc.c (arc_output_function_epilogue): Update.
|
22189 |
|
|
|
22190 |
|
|
2008-04-18 Marius Strobl
|
22191 |
|
|
|
22192 |
|
|
* gthr-posix.h (__gthread_active_p): Use the Solaris implementation
|
22193 |
|
|
for FreeBSD as well.
|
22194 |
|
|
* gthr-posix95.h: Likewise.
|
22195 |
|
|
|
22196 |
|
|
2008-04-17 Richard Sandiford
|
22197 |
|
|
|
22198 |
|
|
PR rtl-optimization/35838
|
22199 |
|
|
* dse.c (find_shift_sequence): Use subreg_lowpart_offset to work
|
22200 |
|
|
out the byte offset of the first subreg.
|
22201 |
|
|
|
22202 |
|
|
2008-04-17 Uros Bizjak
|
22203 |
|
|
|
22204 |
|
|
* config/i386/i386.md (addti3 splitter): Pass arrays of 3 operands
|
22205 |
|
|
to split_ti instead of three separate calls with single member arrays.
|
22206 |
|
|
(subti3 splitter): Ditto.
|
22207 |
|
|
(adddi3 splitter): Ditto with split_di.
|
22208 |
|
|
(subdi3 splitter): Ditto.
|
22209 |
|
|
(negti2 splitter): Pass arrays of 2 operands to split_ti instead of
|
22210 |
|
|
two separate calls with single member arrays. Swap match_dup
|
22211 |
|
|
operands 1 and 2 to better fit into the array.
|
22212 |
|
|
(negdi2 splitter): Ditto with split_di.
|
22213 |
|
|
(movdfcc splitter): Pass arrays of 2 operands to split_di instead of
|
22214 |
|
|
two separate calls with single member arrays. Swap match_dup operands
|
22215 |
|
|
6 and 7 to better fit into the array.
|
22216 |
|
|
|
22217 |
|
|
2008-04-17 H.J. Lu
|
22218 |
|
|
|
22219 |
|
|
* config/i386/i386.c (sse_builtin_type): New.
|
22220 |
|
|
(bdesc_sse_args): Likewise.
|
22221 |
|
|
(bdesc_sse_3arg): Removed.
|
22222 |
|
|
(bdesc_2arg): Remove IX86_BUILTIN_AESKEYGENASSIST128.
|
22223 |
|
|
(bdesc_1arg): Remove IX86_BUILTIN_ROUNDPD and
|
22224 |
|
|
IX86_BUILTIN_ROUNDPS.
|
22225 |
|
|
(ix86_init_mmx_sse_builtins): Handle bdesc_sse_args. Remove
|
22226 |
|
|
bdesc_sse_3arg. Remove IX86_BUILTIN_ROUNDPD and
|
22227 |
|
|
IX86_BUILTIN_ROUNDPS.
|
22228 |
|
|
(ix86_expand_sse_4_operands_builtin): Removed.
|
22229 |
|
|
(ix86_expand_sse_operands_builtin): New.
|
22230 |
|
|
(ix86_expand_unop_builtin): Remove CODE_FOR_sse4_1_roundpd
|
22231 |
|
|
and CODE_FOR_sse4_1_roundps.
|
22232 |
|
|
(ix86_expand_builtin): Remove IX86_BUILTIN_AESKEYGENASSIST128.
|
22233 |
|
|
Handle bdesc_sse_args. Remove bdesc_sse_3arg.
|
22234 |
|
|
|
22235 |
|
|
2008-04-17 Alan Modra
|
22236 |
|
|
|
22237 |
|
|
PR target/35907
|
22238 |
|
|
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
|
22239 |
|
|
regs before frame pop when needed. If use_backchain_to_restore_sp
|
22240 |
|
|
then load backchain into a temp reg to restore vr and vrsave. Add
|
22241 |
|
|
code to restore vr after frame pop if possible.
|
22242 |
|
|
|
22243 |
|
|
2008-04-17 Richard Guenther
|
22244 |
|
|
|
22245 |
|
|
* tree-vn.c (expressions_equal_p): Do not check type
|
22246 |
|
|
equality or compatibility before calling operand_equal_p.
|
22247 |
|
|
* fold-const.c (operand_equal_p): Check equivalence of
|
22248 |
|
|
integer constants before bailing out due to signedness or
|
22249 |
|
|
precision differences.
|
22250 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ignore
|
22251 |
|
|
spurious differences in type qualification. Ignore types
|
22252 |
|
|
for COMPONENT_REFs at all.
|
22253 |
|
|
|
22254 |
|
|
2008-04-17 Christian Bruel
|
22255 |
|
|
|
22256 |
|
|
* config/sh/sh.c (expand_cbranchdi4): Use original operands for
|
22257 |
|
|
msw_skip comparison.
|
22258 |
|
|
|
22259 |
|
|
2008-04-16 Jakub Jelinek
|
22260 |
|
|
|
22261 |
|
|
PR c/35739
|
22262 |
|
|
* tree-nrv.c (tree_nrv): Don't optimize if result_type is GIMPLE
|
22263 |
|
|
reg type.
|
22264 |
|
|
|
22265 |
|
|
PR tree-optimization/35899
|
22266 |
|
|
* tree-inline.c (expand_call_inline): Use GIMPLE_STMT_OPERAND
|
22267 |
|
|
rather than TREE_OPERAND.
|
22268 |
|
|
|
22269 |
|
|
2008-04-16 Uros Bizjak
|
22270 |
|
|
|
22271 |
|
|
PR target/35944
|
22272 |
|
|
* config/i386/i386.md (fmodxf3): Copy operand 1 and operand 2 into
|
22273 |
|
|
temporary registers. Change operand predicate to general_operand.
|
22274 |
|
|
(remainderxf3): Ditto.
|
22275 |
|
|
|
22276 |
|
|
2008-04-16 Richard Guenther
|
22277 |
|
|
|
22278 |
|
|
* Makefile.in (tree-affine.o): Add $(FLAGS_H) dependency.
|
22279 |
|
|
* tree-affine.c (aff_combination_expand): Look through some
|
22280 |
|
|
conversions.
|
22281 |
|
|
|
22282 |
|
|
2008-04-15 Doug Kwan
|
22283 |
|
|
|
22284 |
|
|
* dwarf2asm.c (dw2_assemble_integer): Cast to unsigned HOST_WIDE_INT
|
22285 |
|
|
for hex printing.
|
22286 |
|
|
* tree-pretty-print.c (dump_generic_node): Ditto.
|
22287 |
|
|
* final.c (output_addr_const): Ditto.
|
22288 |
|
|
* dwarf2out.c (output_cfi): Ditto.
|
22289 |
|
|
* c-pretty-print.c (pp_c_integer_constant): Ditto.
|
22290 |
|
|
* print-rtl.c (print_rtx): Ditto.
|
22291 |
|
|
* print-tree.c (print_node_brief, print_node): Ditto.
|
22292 |
|
|
* c-common.c (match_case_to_enum_1): Ditto.
|
22293 |
|
|
* sched-vis.c (print_value): Ditto.
|
22294 |
|
|
* config/i386/i386.c (print_operand): Cast to long unsigned int
|
22295 |
|
|
for hex printing.
|
22296 |
|
|
|
22297 |
|
|
2008-04-15 Danny Smith
|
22298 |
|
|
* libgcc2.c [L_trampoline]: Remove unnecessary prototype for
|
22299 |
|
|
MS Windows VirtualProtect function.
|
22300 |
|
|
|
22301 |
|
|
2008-04-15 Jan Hubicka
|
22302 |
|
|
|
22303 |
|
|
* gengtype.c (write_root): Param_is argument is OK.
|
22304 |
|
|
* expr.c (expand_expr_real_1): Update call of get_exception_*.
|
22305 |
|
|
* function.h: Include varray.h
|
22306 |
|
|
(rtl_eh): New stucture based on except.c one.
|
22307 |
|
|
(call_site_record): New forward declaration and vector type.
|
22308 |
|
|
* calls.c (emit_call_1): Do not call
|
22309 |
|
|
note_current_region_may_contain_throw.
|
22310 |
|
|
* except.c (eh_status): Remove cur_region, try_region since they are
|
22311 |
|
|
unused.
|
22312 |
|
|
Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and
|
22313 |
|
|
exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label,
|
22314 |
|
|
sjlj_fc, sjlj_exit_after to rth_eh in function.h.
|
22315 |
|
|
Remove call_site_data_used, call_site_data_size.
|
22316 |
|
|
Turn call_site_record into vector in function.h.
|
22317 |
|
|
(note_current_region_may_contain_throw): Remove.
|
22318 |
|
|
(get_exception_pointer, get_exception_filter): Do not take struct
|
22319 |
|
|
function argument; update.
|
22320 |
|
|
(add_ehl_entry, find_exception_handler_labels, ehspec_filter_hash,
|
22321 |
|
|
add_ttypes_entry, add_ehspec_entry, assign_filter_values,
|
22322 |
|
|
build_post_landing_pads, dw2_build_landing_pads,
|
22323 |
|
|
sjlj_assign_call_site_values, sjlj_mark_call_sites,
|
22324 |
|
|
sjlj_emit_function_enter, sjlj_emit_function_enter,
|
22325 |
|
|
sjlj_emit_function_exit, sjlj_emit_dispatch_table,
|
22326 |
|
|
sjlj_build_landing_pads, finish_eh_generation,
|
22327 |
|
|
remove_exception_handler_label, remove_eh_handler,
|
22328 |
|
|
maybe_remove_eh_handler, add_reachable_handler,
|
22329 |
|
|
reachable_handlers, expand_builtin_eh_return, expand_eh_return,
|
22330 |
|
|
add_action_record, collect_one_action_chain, add_call_site,
|
22331 |
|
|
convert_to_eh_region_ranges, sjlj_size_of_call_site_table,
|
22332 |
|
|
sjlj_output_call_site_table, output_function_exception_table,
|
22333 |
|
|
* except.h (note_current_region_may_contain_throw): Remove
|
22334 |
|
|
(get_exception_pointer, get_exception_filter): Do not take struct
|
22335 |
|
|
function argument.
|
22336 |
|
|
* Makefile.in (GTFILES): Put varargs before struct function.
|
22337 |
|
|
|
22338 |
|
|
2008-04-15 Eric Botcazou
|
22339 |
|
|
|
22340 |
|
|
* tree-ssa-structalias.c (get_constraint_for_component_ref): Do not
|
22341 |
|
|
punt for STRING_CST.
|
22342 |
|
|
(get_constraint_for): Deal with STRING_CST here instead.
|
22343 |
|
|
|
22344 |
|
|
2008-04-15 Richard Guenther
|
22345 |
|
|
|
22346 |
|
|
* tree-ssa-propagate.c (substitute_and_fold): Substitute
|
22347 |
|
|
statements in a basic-block with a backward walk. Do not
|
22348 |
|
|
substitute into dead statements but instead remove those.
|
22349 |
|
|
|
22350 |
|
|
2008-04-15 Richard Guenther
|
22351 |
|
|
|
22352 |
|
|
* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Set default
|
22353 |
|
|
to zero, thus disable creation of SFTs.
|
22354 |
|
|
|
22355 |
|
|
2008-04-15 Eric Botcazou
|
22356 |
|
|
|
22357 |
|
|
* tree-predcom.c (suitable_reference_p): Return false if the
|
22358 |
|
|
reference can throw.
|
22359 |
|
|
|
22360 |
|
|
2008-04-15 Jakub Jelinek
|
22361 |
|
|
|
22362 |
|
|
PR c/35751
|
22363 |
|
|
* c-decl.c (finish_decl): If extern or static var has variable
|
22364 |
|
|
size, set TREE_TYPE (decl) to error_mark_node.
|
22365 |
|
|
|
22366 |
|
|
2008-04-15 Rafael Espíndola
|
22367 |
|
|
|
22368 |
|
|
* fold-const.c (tree_call_nonnegative_warnv_p): Remove local
|
22369 |
|
|
variable arg1.
|
22370 |
|
|
|
22371 |
|
|
2008-04-15 Richard Guenther
|
22372 |
|
|
|
22373 |
|
|
* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
|
22374 |
|
|
* tree-ssa-sccvn.c (vn_reference_lookup): New parameter maywalk.
|
22375 |
|
|
(visit_reference_op_load): Do walk vuse-vdef chains on
|
22376 |
|
|
vn_reference_lookup.
|
22377 |
|
|
(visit_reference_op_store): But do not here.
|
22378 |
|
|
* tree-vn.c (vn_lookup): Do not walk vuse-vdef chains on
|
22379 |
|
|
vn_reference_lookup.
|
22380 |
|
|
(vn_lookup_with_vuses): But do so here.
|
22381 |
|
|
|
22382 |
|
|
2008-04-14 Ian Lance Taylor
|
22383 |
|
|
|
22384 |
|
|
* fold-const.c (fold_overflow_warning): Remove assertion.
|
22385 |
|
|
|
22386 |
|
|
2008-04-15 Ben Elliston
|
22387 |
|
|
|
22388 |
|
|
* config/alpha/alpha.c (alpha_initialize_trampoline): Remove temp,
|
22389 |
|
|
temp1 local variables.
|
22390 |
|
|
|
22391 |
|
|
2008-04-15 Zuxy Meng
|
22392 |
|
|
|
22393 |
|
|
PR target/35661
|
22394 |
|
|
* config/i386/winnt.c (i386_pe_section_type_flags): Mark
|
22395 |
|
|
".text.unlikely" section as executable.
|
22396 |
|
|
|
22397 |
|
|
2008-04-14 James E. Wilson
|
22398 |
|
|
|
22399 |
|
|
* config/ia64/ia64.c (rtx_needs_barrier): Handle
|
22400 |
|
|
UNSPEC_FR_SQRT_RECIP_APPROX_RES.
|
22401 |
|
|
* config/ia64/ia64.c (UNSPEC_FR_SQRT_RECIP_APPROX_RES): Define.
|
22402 |
|
|
(divsi3_internal, divdi3_internal_lat, divdi3_internal_thr,
|
22403 |
|
|
divsf3_internal_lat, sqrt_approx, sqrtsf2_internal_thr,
|
22404 |
|
|
divdf3_internal_lat, sqrtdf2_internal_thr, divxf3_internal_lat,
|
22405 |
|
|
divxf3_internal_thr, sqrtxf2_internal_thr, recip_approx): Use it.
|
22406 |
|
|
|
22407 |
|
|
2008-04-14 Ian Lance Taylor
|
22408 |
|
|
|
22409 |
|
|
* flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
|
22410 |
|
|
* fold-const.c (fold_comparison): If appropriate, test
|
22411 |
|
|
POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning.
|
22412 |
|
|
(fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when
|
22413 |
|
|
reassociating a pointer type.
|
22414 |
|
|
* doc/invoke.texi (Optimize Options): Document that
|
22415 |
|
|
-fstrict-overflow applies to pointer wraparound.
|
22416 |
|
|
|
22417 |
|
|
2008-04-13 Jan Hubicka
|
22418 |
|
|
|
22419 |
|
|
* m32.c (m32c_pushm_popm): Use crtl->retrun_rtx.
|
22420 |
|
|
|
22421 |
|
|
2008-04-12 Andrew Pinski
|
22422 |
|
|
|
22423 |
|
|
* config/rs6000/rs6000.c (compute_save_world_info): Set lr_save_p if
|
22424 |
|
|
we are going to "save the world".
|
22425 |
|
|
|
22426 |
|
|
2008-04-13 Hans-Peter Nilsson
|
22427 |
|
|
|
22428 |
|
|
* config/cris/cris.md ("*andhi_lowpart_non_v32", "*andhi_lowpart_v32")
|
22429 |
|
|
("*andqi_lowpart_non_v32", "*andqi_lowpart_v32"): Use "+" for the
|
22430 |
|
|
operand 0 constraint, not "=".
|
22431 |
|
|
|
22432 |
|
|
2008-04-11 James E. Wilson
|
22433 |
|
|
|
22434 |
|
|
* system.h: Change ASSERT_CHECKING to ENABLE_ASSERT_CHECKING.
|
22435 |
|
|
|
22436 |
|
|
2008-04-11 H.J. Lu
|
22437 |
|
|
|
22438 |
|
|
* dse.c (record_store): Use HOST_BITS_PER_WIDE_INT instead
|
22439 |
|
|
of size of positions_needed * CHAR_BIT.
|
22440 |
|
|
|
22441 |
|
|
2008-04-11 H.J. Lu
|
22442 |
|
|
|
22443 |
|
|
PR middle-end/35897
|
22444 |
|
|
* dse.c (store_info): Change positions_needed to unsigned
|
22445 |
|
|
HOST_WIDE_INT.
|
22446 |
|
|
(lowpart_bitmask): New.
|
22447 |
|
|
(record_store): Cast to unsigned HOST_WIDE_INT for
|
22448 |
|
|
positions_needed. Assert width <= size of positions_needed *
|
22449 |
|
|
CHAR_BIT. Call lowpart_bitmask to initialize positions_needed.
|
22450 |
|
|
(check_mem_read_rtx): Use unsigned HOST_WIDE_INT on mask. Call
|
22451 |
|
|
lowpart_bitmask to set mask.
|
22452 |
|
|
|
22453 |
|
|
2008-04-11 Bernd Schmidt
|
22454 |
|
|
|
22455 |
|
|
* config/bfin/constraints.md: New file.
|
22456 |
|
|
* config/bfin/bfin.md: Include it.
|
22457 |
|
|
(adddi3): Use satisfies_constraint functions instead of the old macros.
|
22458 |
|
|
* config/bfin/bfin.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN,
|
22459 |
|
|
CONST_18UBIT_IMM_P, CONST_16BIT_IMM_P, CONST_16UBIT_IMM_P,
|
22460 |
|
|
CONST_7BIT_IMM_P, CONST_7NBIT_IMM_P, CONST_5UBIT_IMM_P,
|
22461 |
|
|
CONST_4BIT_IMM_P, CONST_4UBIT_IMM_P, CONST_3BIT_IMM_P,
|
22462 |
|
|
CONST_3UBIT_IMM_P, CONST_OK_FOR_K, CONST_OK_FOR_P, CONST_OK_FOR_M,
|
22463 |
|
|
CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER,
|
22464 |
|
|
EXTRA_CONSTRAINT): Delete.
|
22465 |
|
|
* config/bfin/predicates.md (highbits_operand, reg_or_7bit_operand,
|
22466 |
|
|
reg_or_neg7bit_operand): Use satisfies_constraint functions instead
|
22467 |
|
|
of the old macros.
|
22468 |
|
|
* config/bfin/bfin.c: Include "tm-constrs.h".
|
22469 |
|
|
(bfin_secondary_reload, split_load_immediate, bfin_rtx_costs):
|
22470 |
|
|
Use satisfies_constraint functions instead of the old macros.
|
22471 |
|
|
* doc/md.texi (Blackfin Constraints): Update file name reference.
|
22472 |
|
|
|
22473 |
|
|
2008-04-11 Richard Guenther
|
22474 |
|
|
|
22475 |
|
|
PR tree-optimization/35869
|
22476 |
|
|
* tree-vrp.c (execute_vrp): Move switch statement update after
|
22477 |
|
|
jump threading. Schedule another cfg cleanup run.
|
22478 |
|
|
|
22479 |
|
|
2008-04-11 Volker Reichelt
|
22480 |
|
|
|
22481 |
|
|
PR c/35744
|
22482 |
|
|
* attribs.c (decl_attributes): Return early on errorneous node.
|
22483 |
|
|
|
22484 |
|
|
2008-04-10 Oleg Ryjkov
|
22485 |
|
|
|
22486 |
|
|
* tree.h (struct tree_base): Added a new flag default_def_flag.
|
22487 |
|
|
(SSA_NAME_IS_DEFAULT_DEF): Changed to use the new flag.
|
22488 |
|
|
|
22489 |
|
|
2008-04-11 Kaz Kojima
|
22490 |
|
|
|
22491 |
|
|
* config.gcc (need_64bit_hwint): Need 64bit hwint for sh-*-*.
|
22492 |
|
|
|
22493 |
|
|
2008-04-10 John David Anglin
|
22494 |
|
|
|
22495 |
|
|
PR target/35768
|
22496 |
|
|
* pa.md: Define mode iterator P. Define mode attribute dwc.
|
22497 |
|
|
(dcacheflush): Update pattern to use iterator P and attribute dwc.
|
22498 |
|
|
(icacheflush): Likewise.
|
22499 |
|
|
* pa.h (INITIALIZE_TRAMPOLINE): Use dcacheflushsi/icacheflushsi if
|
22500 |
|
|
!TARGET_64BIT, and dcacheflushdi/icacheflushdi if TARGET_64BIT.
|
22501 |
|
|
|
22502 |
|
|
2008-04-11 Ben Elliston
|
22503 |
|
|
|
22504 |
|
|
* config/spu/spu.c (spu_init_builtins): Mark builtins as nothrow.
|
22505 |
|
|
|
22506 |
|
|
2008-04-10 Rafael Espíndola
|
22507 |
|
|
|
22508 |
|
|
* tree-vrp.c (extract_range_from_binary_expr): Don't handle
|
22509 |
|
|
TRUTH_ANDIF_EXPR or TRUTH_ORIF_EXPR.
|
22510 |
|
|
(extract_range_from_expr): The same.
|
22511 |
|
|
|
22512 |
|
|
2008-04-10 Adam Nemet
|
22513 |
|
|
|
22514 |
|
|
* config/mips/mips.md (GPR2): New mode iterator.
|
22515 |
|
|
(seq): Add comment.
|
22516 |
|
|
(*seq_, *seq__mips16, *sne_, *sgt_,
|
22517 |
|
|
*sgt__mips16, *sge_, *slt_,
|
22518 |
|
|
*slt__mips16 *sle_, *sle__mips16):
|
22519 |
|
|
Rewrite these to take two modes, the mode of comparison and the
|
22520 |
|
|
mode of the destination.
|
22521 |
|
|
* config/mips/mips.c (mips_expand_scc): Instead of having
|
22522 |
|
|
paradoxical subreg as destination, expand "narrowing" scc if mode
|
22523 |
|
|
of comparison is SI and target is requested in DI mode.
|
22524 |
|
|
(mips_emit_int_order_test): Update comment. Make mode of
|
22525 |
|
|
comparison match CMP0 rather than TARGET. When creating inverse
|
22526 |
|
|
target use mode of TARGET.
|
22527 |
|
|
|
22528 |
|
|
2008-04-10 Adam Nemet
|
22529 |
|
|
|
22530 |
|
|
* gcov-dump.c (tag_summary): Only print summaries for the first
|
22531 |
|
|
GCOV_COUNTERS_SUMMABLE counters.
|
22532 |
|
|
|
22533 |
|
|
2008-04-10 Uros Bizjak
|
22534 |
|
|
|
22535 |
|
|
* config/i386/i386.md (absneg): New code iterator.
|
22536 |
|
|
(absnegprefix): New code attribute.
|
22537 |
|
|
(2): Macroize expander from abs2 and neg2
|
22538 |
|
|
patterns using absneg code iterator.
|
22539 |
|
|
(tf2): Macroize expander from abstf2 and negtf2 patterns
|
22540 |
|
|
using absneg code iterator.
|
22541 |
|
|
(*2_1): Macroize insn pattern from *abs2_1 and
|
22542 |
|
|
*neg2 patterns using absneg code iterator.
|
22543 |
|
|
(*extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
|
22544 |
|
|
*negextendsfdf2 patterns using absneg code iterator.
|
22545 |
|
|
(*extendsfxf2): Macroize insn pattern from *absextendsfxf2 and
|
22546 |
|
|
*negextendsfxf2 patterns using absneg code iterator.
|
22547 |
|
|
(*extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
|
22548 |
|
|
*negextendsfdf2 patterns using absneg code iterator.
|
22549 |
|
|
* config/i386/sse.md (2): Macroize expander from
|
22550 |
|
|
abs2 and neg2 patterns using absneg code iterator.
|
22551 |
|
|
|
22552 |
|
|
2008-04-10 Andreas Krebbel
|
22553 |
|
|
|
22554 |
|
|
* config/s390/s390.h: Remove the remains of the recent search
|
22555 |
|
|
& replace action of current_function_outgoing_args_size.
|
22556 |
|
|
|
22557 |
|
|
2008-04-10 Ira Rosen
|
22558 |
|
|
|
22559 |
|
|
PR tree-optimization/35821
|
22560 |
|
|
* tree-vect-transform.c (vect_create_data_ref_ptr): Add check that
|
22561 |
|
|
NEW_STMT_LIST is not NULL.
|
22562 |
|
|
|
22563 |
|
|
2008-04-09 David Edelsohn
|
22564 |
|
|
|
22565 |
|
|
PR libstdc++/35597
|
22566 |
|
|
* toplev.c (process_options): Remove -ffunction-sections debugging
|
22567 |
|
|
warning.
|
22568 |
|
|
|
22569 |
|
|
2008-04-09 Peter Bergner
|
22570 |
|
|
|
22571 |
|
|
PR middle-end/PR28690
|
22572 |
|
|
* explow.c (break_out_memory_refs): Use simplify_gen_binary rather
|
22573 |
|
|
than gen_rtx_fmt_ee to perform more canonicalizations.
|
22574 |
|
|
|
22575 |
|
|
2008-04-08 John David Anglin
|
22576 |
|
|
|
22577 |
|
|
PR driver/35665
|
22578 |
|
|
* collect2.c (write_c_file): Don't wrap in "#ifdef __cplusplus".
|
22579 |
|
|
|
22580 |
|
|
2008-04-09 Richard Guenther
|
22581 |
|
|
|
22582 |
|
|
* tree-cfg.c (verify_stmt): Print complete bogus stmt.
|
22583 |
|
|
(dump_function_to_file): Dump function arguments with types.
|
22584 |
|
|
|
22585 |
|
|
2008-04-08 Richard Guenther
|
22586 |
|
|
|
22587 |
|
|
* fold-const.c (fold_widened_comparison): Do not allow
|
22588 |
|
|
sign-changes that change the result.
|
22589 |
|
|
|
22590 |
|
|
2008-04-08 Janis Johnson
|
22591 |
|
|
|
22592 |
|
|
PR target/35839
|
22593 |
|
|
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional
|
22594 |
|
|
kinds of indirect references.
|
22595 |
|
|
|
22596 |
|
|
2008-04-08 David Edelsohn
|
22597 |
|
|
|
22598 |
|
|
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update
|
22599 |
|
|
GNU Fortran language string.
|
22600 |
|
|
|
22601 |
|
|
2008-04-08 Rafael Espíndola
|
22602 |
|
|
|
22603 |
|
|
* fold-canst.c (tree_call_nonnegative_warnv_p): New.
|
22604 |
|
|
(tree_invalid_nonnegative_warnv_p): Use tree_call_nonnegative_warnv_p.
|
22605 |
|
|
* tree.h (tree_call_nonnegative_warnv_p): New.
|
22606 |
|
|
|
22607 |
|
|
2008-04-08 Jan Hubicka
|
22608 |
|
|
|
22609 |
|
|
* function.c (free_after_compilation): Clear out regno_reg_rtx
|
22610 |
|
|
pointer.
|
22611 |
|
|
|
22612 |
|
|
2008-04-08 Peter Bergner
|
22613 |
|
|
|
22614 |
|
|
Revert
|
22615 |
|
|
2008-04-07 Peter Bergner
|
22616 |
|
|
|
22617 |
|
|
PR middle-end/PR28690
|
22618 |
|
|
* rtlanal.c (commutative_operand_precedence): Give SYMBOL_REF's the
|
22619 |
|
|
same precedence as REG_POINTER and MEM_POINTER operands.
|
22620 |
|
|
|
22621 |
|
|
2008-04-08 Richard Guenther
|
22622 |
|
|
|
22623 |
|
|
PR middle-end/35834
|
22624 |
|
|
* tree-ssa-address.c (create_mem_ref): Use POINTER_PLUS_EXPR
|
22625 |
|
|
for adding index to base.
|
22626 |
|
|
|
22627 |
|
|
2008-04-08 Kai Tietz
|
22628 |
|
|
|
22629 |
|
|
* config/i386/mingw32.h (ENABLE_EXECUTE_STACK): New.
|
22630 |
|
|
(MINGW_ENABLE_EXECUTE_STACK): New.
|
22631 |
|
|
(IN_LIBGCC2): For libgcc include windows.h file for
|
22632 |
|
|
function declarations.
|
22633 |
|
|
|
22634 |
|
|
2008-04-08 Hans-Peter Nilsson
|
22635 |
|
|
|
22636 |
|
|
* config/cris/cris.c (cris_address_cost): For a PLUS, swap tem1
|
22637 |
|
|
and tem2 if tem1 is not a REG or MULT.
|
22638 |
|
|
|
22639 |
|
|
2008-04-08 Jan Hubicka
|
22640 |
|
|
|
22641 |
|
|
* function.h (incomming_args): Break out of struct function.
|
22642 |
|
|
(function_subsections): Break out of struct function.
|
22643 |
|
|
(rtl_data): Add args, subsections fields. Break out outgoing_args_size,
|
22644 |
|
|
return_rtx and hard_reg_initial_vals from struct function.
|
22645 |
|
|
Kill inl_max_label_num.
|
22646 |
|
|
(current_function_pops_args, current_function_args_info,
|
22647 |
|
|
current_function_args_size, current_function_args_size,
|
22648 |
|
|
current_function_pretend_args_size,
|
22649 |
|
|
current_function_outgoing_args_size,
|
22650 |
|
|
current_function_internal_arg_pointer, current_function_return_rtx):
|
22651 |
|
|
Kill compatibility accestor macros.
|
22652 |
|
|
* builtins.c (expand_builtin_apply_args_1): Update.
|
22653 |
|
|
(expand_builtin_next_arg): Update.
|
22654 |
|
|
* df-scan.c (df_get_call_refs): Update.
|
22655 |
|
|
* dbxout.c (dbxout_function_end): Update.
|
22656 |
|
|
* dwarf2out.c (dwarf2out_switch_text_section): Update.
|
22657 |
|
|
(output_line_info): Update.
|
22658 |
|
|
(secname_for_decl): Update.
|
22659 |
|
|
(dwarf2out_var_location): Update.
|
22660 |
|
|
* function.c (free_after_compilation): Update.
|
22661 |
|
|
(assign_parm_find_stack_rtl): Update.
|
22662 |
|
|
(assign_parms): Update.
|
22663 |
|
|
(expand_dummy_function_end): Update.
|
22664 |
|
|
(expand_function_end): Update.
|
22665 |
|
|
* calls.c (mem_overlaps_already_clobbered_arg_p): Update.
|
22666 |
|
|
(expand_call): Update.
|
22667 |
|
|
(emit_library_call_value_1): Update.
|
22668 |
|
|
(store_one_arg): Update.
|
22669 |
|
|
* varasm.c (initialize_cold_section_name): Update.
|
22670 |
|
|
(unlikely_text_section): Update.
|
22671 |
|
|
(unlikely_text_section_p): Update.
|
22672 |
|
|
(assemble_start_function): Update.
|
22673 |
|
|
(assemble_end_function): Update.
|
22674 |
|
|
(default_section_type_flags): Update.
|
22675 |
|
|
(switch_to_section): Update.
|
22676 |
|
|
* integrate.c (set_decl_abstract_flags): Update.
|
22677 |
|
|
(get_hard_reg_initial_val): Update.
|
22678 |
|
|
(has_hard_reg_initial_val): Update.
|
22679 |
|
|
(allocate_initial_values): Update.
|
22680 |
|
|
* resource.c (init_resource_info): Update.
|
22681 |
|
|
* config/alpha/alpha.c (NUM_ARGS): Update.
|
22682 |
|
|
(direct_return): Update.
|
22683 |
|
|
(alpha_va_start): Update.
|
22684 |
|
|
(alpha_sa_size): Update.
|
22685 |
|
|
(alpha_initial_elimination_offset): Update.
|
22686 |
|
|
(alpha_expand_prologue): Update.
|
22687 |
|
|
(alpha_start_function): Update.
|
22688 |
|
|
(alpha_expand_epilogue): Update.
|
22689 |
|
|
(unicosmk_initial_elimination_offset):
|
22690 |
|
|
* config/alpha/alpha.md (call expander): Update.
|
22691 |
|
|
* config/s390/s390.c (s390_register_info): Update.
|
22692 |
|
|
(s390_register_info): Update.
|
22693 |
|
|
(s390_frame_info): Update.
|
22694 |
|
|
(s390_initial_elimination_offset): Update.
|
22695 |
|
|
(s390_build_builtin_va_list): Update.
|
22696 |
|
|
(s390_va_start): Update.
|
22697 |
|
|
* config/spu/spu.c (direct_return): Update.
|
22698 |
|
|
(spu_expand_prologue): Update.
|
22699 |
|
|
(spu_initial_elimination_offset): Update.
|
22700 |
|
|
(spu_build_builtin_va_list): Update.
|
22701 |
|
|
(spu_va_start): Update.
|
22702 |
|
|
* config/sparc/sparc.c (sparc_init_modes): Update.
|
22703 |
|
|
(sparc_compute_frame_size): Update.
|
22704 |
|
|
(function_value): Update.
|
22705 |
|
|
* config/m32r/m32r.c (m32r_compute_frame_size): Update.
|
22706 |
|
|
* config/i386/i386.md (return expander): Update.
|
22707 |
|
|
* config/i386/i386.c (ix86_va_start): Update.
|
22708 |
|
|
(ix86_can_use_return_insn_p): Update.
|
22709 |
|
|
(ix86_compute_frame_layout): Update.
|
22710 |
|
|
(ix86_expand_epilogue): Update.
|
22711 |
|
|
* config/sh/sh.c (output_stack_adjust): Update.
|
22712 |
|
|
(calc_live_regs): Update.
|
22713 |
|
|
(sh_expand_prologue): Update.
|
22714 |
|
|
(sh_builtin_saveregs): Update.
|
22715 |
|
|
(sh_va_start): Update.
|
22716 |
|
|
(initial_elimination_offset): Update.
|
22717 |
|
|
(sh_allocate_initial_value): Update.
|
22718 |
|
|
(sh_function_ok_for_sibcall): Update.
|
22719 |
|
|
(sh_get_pr_initial_val): Update.
|
22720 |
|
|
* config/sh/sh.md (return expander): Update.
|
22721 |
|
|
* config/avr/avr.c (frame_pointer_required_p): UPdate.
|
22722 |
|
|
* config/crx/crx.c (crx_compute_frame): UPdate.
|
22723 |
|
|
(crx_initial_elimination_offset): UPdate.
|
22724 |
|
|
* config/xtensa/xtensa.c (compute_frame_size): Update
|
22725 |
|
|
(xtensa_builtin_saveregs): Update.
|
22726 |
|
|
(xtensa_va_start): Update.
|
22727 |
|
|
(order_regs_for_local_alloc): Update.
|
22728 |
|
|
* config/stormy16/stormy16.c (xstormy16_compute_stack_layout): Update.
|
22729 |
|
|
(xstormy16_expand_builtin_va_start): Update.
|
22730 |
|
|
* config/fr30/fr30.c (fr30_compute_frame_size): Update.
|
22731 |
|
|
* config/m68hc11/m68hc11.md (return expanders): Update.
|
22732 |
|
|
* config/m68hc11/m68hc11.c (expand_prologue): Update.
|
22733 |
|
|
(expand_epilogue): Update.
|
22734 |
|
|
* config/cris/cris.c (cris_initial_frame_pointer_offset): Update.
|
22735 |
|
|
(cris_simple_epilogue): Update.
|
22736 |
|
|
(cris_expand_prologue): Update.
|
22737 |
|
|
(cris_expand_epilogue): Update.
|
22738 |
|
|
* config/iq2000/iq2000.c (iq2000_va_start): Update.
|
22739 |
|
|
(compute_frame_size): Update.
|
22740 |
|
|
* config/mt/mt.c (mt_compute_frame_size): Update.
|
22741 |
|
|
* config/mn10300/mn10300.c (expand_prologue): Update.
|
22742 |
|
|
(expand_epilogue): Update.
|
22743 |
|
|
(initial_offset): Update.
|
22744 |
|
|
(mn10300_builtin_saveregs):
|
22745 |
|
|
* config/mn10300/mn10300.md (return expander): Update.
|
22746 |
|
|
* config/ia64/ia64.c (ia64_compute_frame_size): Update.
|
22747 |
|
|
(ia64_initial_elimination_offset): Update.
|
22748 |
|
|
(ia64_initial_elimination_offset): Update.
|
22749 |
|
|
(ia64_expand_prologue): Update.
|
22750 |
|
|
* config/m68k/m68k.md (return expander): Update.
|
22751 |
|
|
* config/rs6000/rs6000.c (rs6000_va_start): Update.
|
22752 |
|
|
(rs6000_stack_info): Update.
|
22753 |
|
|
* config/mcore/mcore.c (layout_mcore_frame): Update.
|
22754 |
|
|
(mcore_expand_prolog): Update.
|
22755 |
|
|
* config/arc/arc.c (arc_compute_frame_size): Update.
|
22756 |
|
|
* config/score/score3.c (score3_compute_frame_size): Update.
|
22757 |
|
|
* config/score/score7.c (score7_compute_frame_size): Update.
|
22758 |
|
|
* config/arm/arm.c (use_return_insn): Update.
|
22759 |
|
|
(thumb_find_work_register): Update.
|
22760 |
|
|
(arm_compute_save_reg_mask): Update.
|
22761 |
|
|
(arm_output_function_prologue): Update.
|
22762 |
|
|
(arm_output_epilogue): Update.
|
22763 |
|
|
(arm_size_return_regs): Update.
|
22764 |
|
|
(arm_get_frame_offsets): Update.
|
22765 |
|
|
(arm_expand_prologue): Update.
|
22766 |
|
|
(thumb_exit): Update.
|
22767 |
|
|
(thumb_unexpanded_epilogue): Update.
|
22768 |
|
|
(thumb1_output_function_prologue): Update.
|
22769 |
|
|
* config/pa/pa.md (return expander): Update.
|
22770 |
|
|
* config/pa/pa.c (compute_frame_size): Update.
|
22771 |
|
|
(hppa_builtin_saveregs): Update.
|
22772 |
|
|
* config/mips/mips.c (mips_va_start): Update.
|
22773 |
|
|
(mips16_build_function_stub): Update.
|
22774 |
|
|
(mips_compute_frame_info): Update.
|
22775 |
|
|
(mips_restore_gp): Update.
|
22776 |
|
|
(mips_output_function_prologue): Update.
|
22777 |
|
|
(mips_expand_prologue): Update.
|
22778 |
|
|
* config/v850/v850.c (compute_frame_size): Update.
|
22779 |
|
|
(expand_prologue): * config/mmix/mmix.c (along): update.
|
22780 |
|
|
(mmix_initial_elimination_offset): update.
|
22781 |
|
|
(mmix_reorg): update.
|
22782 |
|
|
(mmix_use_simple_return): update.
|
22783 |
|
|
(mmix_expand_prologue): update.
|
22784 |
|
|
(mmix_expand_epilogue): Update.
|
22785 |
|
|
* config/bfin/bfin.c (bfin_initial_elimination_offset): Update.
|
22786 |
|
|
(emit_link_insn): Update.
|
22787 |
|
|
|
22788 |
|
|
2008-04-08 Anatoly Sokolov
|
22789 |
|
|
|
22790 |
|
|
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define
|
22791 |
|
|
__AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL
|
22792 |
|
|
instructions.
|
22793 |
|
|
* config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for
|
22794 |
|
|
atmega103 device.
|
22795 |
|
|
|
22796 |
|
|
2008-04-07 Jan Hubicka
|
22797 |
|
|
|
22798 |
|
|
* function.h (rtl): Rename to x_rtl.
|
22799 |
|
|
(crtl): New define.
|
22800 |
|
|
(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
|
22801 |
|
|
frame_offset, stack_check_probe_note, arg_pointer_save_area,
|
22802 |
|
|
used_temp_slots avail_temp_slots, temp_slot_level,
|
22803 |
|
|
nonlocal_goto_handler_labels): Update accesstors.
|
22804 |
|
|
(rtl): New global variable.
|
22805 |
|
|
(struct function): Move some fileds to rtl_data.
|
22806 |
|
|
(get_arg_pointer_save_area): Update prototype.
|
22807 |
|
|
* builtins.c (expand_builtin_setjmp_receiver): Update call of
|
22808 |
|
|
get_arg_pointer_save_area.
|
22809 |
|
|
* expr.c (init_expr): Update
|
22810 |
|
|
* function.c (get_frame_size): Update
|
22811 |
|
|
(assign_stack_local): Update
|
22812 |
|
|
(expand_function_end): Update.
|
22813 |
|
|
(get_art_pointer_save_area): Update
|
22814 |
|
|
* function.h
|
22815 |
|
|
* emit-rtl.c (rtl): Declare.
|
22816 |
|
|
(regno_reg_rtx): Declare.
|
22817 |
|
|
(first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
|
22818 |
|
|
Update.
|
22819 |
|
|
(gen_reg_rtx): Update.
|
22820 |
|
|
* varasm.c (n_deferred_constatns): Update accestor.
|
22821 |
|
|
(init_varasm_status): Do not allocate varasm_status.
|
22822 |
|
|
(force_const_mem, get_pool_size, output_constant_pool): Update.
|
22823 |
|
|
* stmt.c (force_label_rtx): Do not use x_ prefixes.
|
22824 |
|
|
(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
|
22825 |
|
|
* m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Update.
|
22826 |
|
|
* sparc/sparc.h (INIT_EXPANDERS): Update.
|
22827 |
|
|
* ia64/ia64.h (INIT_EXPANDERS): Update.
|
22828 |
|
|
|
22829 |
|
|
2008-04-07 James E. Wilson
|
22830 |
|
|
|
22831 |
|
|
* reload.c (push_secondary_reload): Add missing break to for loop.
|
22832 |
|
|
|
22833 |
|
|
2008-04-07 Peter Bergner
|
22834 |
|
|
|
22835 |
|
|
PR middle-end/PR28690
|
22836 |
|
|
* rtlanal.c: Update copyright years.
|
22837 |
|
|
(commutative_operand_precedence): Give SYMBOL_REF's the same precedence
|
22838 |
|
|
as REG_POINTER and MEM_POINTER operands.
|
22839 |
|
|
* emit-rtl.c (gen_reg_rtx_and_attrs): New function.
|
22840 |
|
|
(set_reg_attrs_from_value): Call mark_reg_pointer as appropriate.
|
22841 |
|
|
* rtl.h (gen_reg_rtx_and_attrs): Add prototype for new function.
|
22842 |
|
|
* gcse.c: Update copyright years.
|
22843 |
|
|
(pre_delete): Call gen_reg_rtx_and_attrs.
|
22844 |
|
|
(hoist_code): Likewise.
|
22845 |
|
|
(build_store_vectors): Likewise.
|
22846 |
|
|
(delete_store): Likewise.
|
22847 |
|
|
* loop-invariant.c (move_invariant_reg): Likewise.
|
22848 |
|
|
Update copyright years.
|
22849 |
|
|
|
22850 |
|
|
2008-04-07 Uros Bizjak
|
22851 |
|
|
|
22852 |
|
|
* config/i386/i386.md ("*sse_prologue_save_insn"): Use braced output
|
22853 |
|
|
control string instead of quoted.
|
22854 |
|
|
|
22855 |
|
|
2008-04-07 Kenneth Zadeck
|
22856 |
|
|
|
22857 |
|
|
* doc/rtl.texi: Rewrite of subreg section.
|
22858 |
|
|
|
22859 |
|
|
2008-04-07 Kai Tietz
|
22860 |
|
|
|
22861 |
|
|
PR/35842
|
22862 |
|
|
* config/i386/i386.c (legitimize_pic_address): Add treating
|
22863 |
|
|
of dllimport SYM_REF's.
|
22864 |
|
|
(legitimize_dllimport_symbol): Add prototype.
|
22865 |
|
|
|
22866 |
|
|
2008-04-07 Eric Botcazou
|
22867 |
|
|
|
22868 |
|
|
* fold-const.c (fold) : New case. Try to fold constant
|
22869 |
|
|
reference in constructor with non self-referential type.
|
22870 |
|
|
|
22871 |
|
|
2008-04-07 Eric Botcazou
|
22872 |
|
|
|
22873 |
|
|
Removal of Return with Depressed Stack Pointer support
|
22874 |
|
|
* tree.h (TYPE_RETURNS_STACK_DEPRESSED): Delete.
|
22875 |
|
|
(ECF_SP_DEPRESSED): Likewise.
|
22876 |
|
|
(ECF_LIBCALL_BLOCK, ECF_NOVOPS): Adjust.
|
22877 |
|
|
* calls.c (emit_call_1): Do not test ECF_SP_DEPRESSED.
|
22878 |
|
|
(flags_from_decl_or_type): Do not test TYPE_RETURNS_STACK_DEPRESSED.
|
22879 |
|
|
(expand_call): Do not test ECF_SP_DEPRESSED.
|
22880 |
|
|
* dse.c (dse_step0): Do not test TYPE_RETURNS_STACK_DEPRESSED.
|
22881 |
|
|
* function.c (keep_stack_depressed): Delete.
|
22882 |
|
|
(handle_epilogue_set): Likewise.
|
22883 |
|
|
(update_epilogue_consts): Likewise.
|
22884 |
|
|
(emit_equiv_load): Likewise.
|
22885 |
|
|
(thread_prologue_and_epilogue_insns): Remove support for Return with
|
22886 |
|
|
Depressed Stack Pointer.
|
22887 |
|
|
* print-tree.c (print_node): Do not test TYPE_RETURNS_STACK_DEPRESSED.
|
22888 |
|
|
|
22889 |
|
|
2008-04-06 Richard Guenther
|
22890 |
|
|
|
22891 |
|
|
PR tree-optimization/35400
|
22892 |
|
|
* tree-vrp.c (vrp_evaluate_conditional): Only query value-range
|
22893 |
|
|
information from SSA_NAMEs.
|
22894 |
|
|
|
22895 |
|
|
2008-04-06 Anatoly Sokolov
|
22896 |
|
|
|
22897 |
|
|
* config/avr/avr.h (avr_mega_p): Remove declaration.
|
22898 |
|
|
(AVR_MEGA): Remove macro.
|
22899 |
|
|
* config/avr/avr.c (avr_mega_p): Remove variable.
|
22900 |
|
|
(avr_override_options): Remove inicializion of avr_mega_p.
|
22901 |
|
|
Use AVR_HAVE_JMP_CALL instead of AVR_MEGA.
|
22902 |
|
|
(print_operand): Use AVR_HAVE_JMP_CALL instead of AVR_MEGA.
|
22903 |
|
|
(avr_jump_mode): (Ditto.).
|
22904 |
|
|
(avr_output_progmem_section_asm_op): (Ditto.).
|
22905 |
|
|
(avr_asm_init_sections): (Ditto.).
|
22906 |
|
|
(avr_asm_init_sections): (Ditto.).
|
22907 |
|
|
(avr_rtx_costs): (Ditto.).
|
22908 |
|
|
* config/avr/avr.md: (Ditto.).
|
22909 |
|
|
* config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of
|
22910 |
|
|
'__AVR_MEGA__'.
|
22911 |
|
|
|
22912 |
|
|
2008-04-06 Richard Guenther
|
22913 |
|
|
|
22914 |
|
|
PR tree-optimization/35842
|
22915 |
|
|
* tree-ssa-address.c (fixed_address_object_p): Adjust to match
|
22916 |
|
|
is_gimple_invariant_address.
|
22917 |
|
|
|
22918 |
|
|
2008-04-06 Francois-Xavier Coudert
|
22919 |
|
|
|
22920 |
|
|
* gcc.c (default_compilers): Sync Fortran extensions list with
|
22921 |
|
|
that in fortran/lang-specs.h.
|
22922 |
|
|
* doc/invoke.texi: Likewise.
|
22923 |
|
|
* dbxout.c (get_lang_number): Use "GNU Fortran" in "GNU F95".
|
22924 |
|
|
* dwarf2out.c (gen_compile_unit_die): Likewise.
|
22925 |
|
|
|
22926 |
|
|
2008-04-06 Tom G. Christensen
|
22927 |
|
|
|
22928 |
|
|
* gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.
|
22929 |
|
|
|
22930 |
|
|
2008-04-05 Uros Bizjak
|
22931 |
|
|
|
22932 |
|
|
PR target/12329
|
22933 |
|
|
* config/i386/i386.c (ix86_function_regparm): Error if regparm(3)
|
22934 |
|
|
attribute is used for nested functions.
|
22935 |
|
|
|
22936 |
|
|
2008-04-05 Jan Hubicka
|
22937 |
|
|
|
22938 |
|
|
* emit-rtl.c (init_emit): xcalloc regno_pointer_align.
|
22939 |
|
|
|
22940 |
|
|
* tree-dump.c (dump_enable_all): Remove prototype; do not accept
|
22941 |
|
|
letter argument.
|
22942 |
|
|
(dump_files): Update.
|
22943 |
|
|
(enable_rtl_dump_file): Do not accept letter argument.
|
22944 |
|
|
* tree-pass.h (dump_file_info): Remove letter argument.
|
22945 |
|
|
* toplev.c (decode_d_option): Update -da handling.
|
22946 |
|
|
* toplev.h (enable_rtl_dump_file): Update prototype.
|
22947 |
|
|
* passes.c (register_one_dump_file): Do not accept IPA argument; work
|
22948 |
|
|
it out based on pass type.
|
22949 |
|
|
(register_dump_files_1): Likewise.
|
22950 |
|
|
(init_optimization_passes): Update register_one_dump_file calls.
|
22951 |
|
|
(execute_one_pass): Sanity check that IPA passes are called at IPA
|
22952 |
|
|
level and RTL passes at RTL level.
|
22953 |
|
|
(execute_pass_list): IPA pass can not be after or subpass of
|
22954 |
|
|
GIMPLE/RTL pass.
|
22955 |
|
|
(execute_ipa_pass_list): Handle IPA subpasses of IPA subpasses and
|
22956 |
|
|
disallov RTL subpasses of IPA subpasses.
|
22957 |
|
|
|
22958 |
|
|
2008-04-05 Ben Elliston
|
22959 |
|
|
|
22960 |
|
|
* tree-cfg.c (need_fake_edge_p): Return false for calls to
|
22961 |
|
|
builtins that return exactly once and do not throw. Cache call to
|
22962 |
|
|
call_expr_flags.
|
22963 |
|
|
|
22964 |
|
|
2008-04-04 Andy Hutchinson
|
22965 |
|
|
|
22966 |
|
|
PR rtl-optimization/34916
|
22967 |
|
|
PR middle-end/35519
|
22968 |
|
|
* combine.c (create_log_links): Do not create duplicate LOG_LINKS
|
22969 |
|
|
between instruction pairs.
|
22970 |
|
|
|
22971 |
|
|
2008-04-04 Naveen.H.S
|
22972 |
|
|
|
22973 |
|
|
* doc/invoke.texi: Document -mbitops for SH.
|
22974 |
|
|
* config/sh/constraints.md (K03, K12, Sbv, Sbw): New constraints.
|
22975 |
|
|
* config/sh/predicates.md (bitwise_memory_operand): New predicate.
|
22976 |
|
|
* config/sh/sh.c (print_operand): Add %t operand code.
|
22977 |
|
|
* config/sh/sh.h (GO_IF_LEGITIMATE_INDEX): Add condition for SH2A.
|
22978 |
|
|
* config/sh/sh.md (*iorsi3_compact): Fix condition for SH2A.
|
22979 |
|
|
(extendqisi2_compact): Add the alternative for SH2A 4-byte mov.b.
|
22980 |
|
|
(extendqihi2): Likewise.
|
22981 |
|
|
(movqi_i): Likewise.
|
22982 |
|
|
(insv): Use bset, bclr and bst instructions for SH2A if possible.
|
22983 |
|
|
(extv): Use bld instruction for SH2A if possible.
|
22984 |
|
|
(extzv): Likewise.
|
22985 |
|
|
(bclr_m2a, bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a,
|
22986 |
|
|
bldsign_m2a, bld_reg, *bld_regqi, band_m2a, bandreg_m2a,
|
22987 |
|
|
bor_m2a, borreg_m2a, bxor_m2a, bxorreg_m2a): New insns.
|
22988 |
|
|
(bset.b, bclr.b): Define peepholes.
|
22989 |
|
|
* config/sh/sh.opt (mbitops): New option.
|
22990 |
|
|
|
22991 |
|
|
2008-04-04 Janis Johnson
|
22992 |
|
|
|
22993 |
|
|
PR target/35620
|
22994 |
|
|
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref
|
22995 |
|
|
and view convert expression.
|
22996 |
|
|
|
22997 |
|
|
2008-04-04 Jakub Jelinek
|
22998 |
|
|
|
22999 |
|
|
PR target/35364
|
23000 |
|
|
* tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
|
23001 |
|
|
|
23002 |
|
|
2008-04-04 H.J. Lu
|
23003 |
|
|
|
23004 |
|
|
* config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
|
23005 |
|
|
|
23006 |
|
|
* config/i386/cpuid.h (bit_AES): New.
|
23007 |
|
|
(bit_PCLMUL): Likewise.
|
23008 |
|
|
|
23009 |
|
|
* config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL.
|
23010 |
|
|
(override_options): Handle PTA_AES and PTA_PCLMUL. Enable
|
23011 |
|
|
SSE2 if AES or PCLMUL is enabled.
|
23012 |
|
|
(ix86_builtins): Add IX86_BUILTIN_AESENC128,
|
23013 |
|
|
IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
|
23014 |
|
|
IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128,
|
23015 |
|
|
IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128.
|
23016 |
|
|
(bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128.
|
23017 |
|
|
(bdesc_2arg): Add IX86_BUILTIN_AESENC128,
|
23018 |
|
|
IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
|
23019 |
|
|
IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128.
|
23020 |
|
|
(bdesc_1arg): Add IX86_BUILTIN_AESIMC128.
|
23021 |
|
|
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128,
|
23022 |
|
|
__builtin_ia32_aesenclast128, __builtin_ia32_aesdec128,
|
23023 |
|
|
__builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128,
|
23024 |
|
|
__builtin_ia32_aeskeygenassist128 and
|
23025 |
|
|
__builtin_ia32_pclmulqdq128.
|
23026 |
|
|
* config/i386/i386.c (ix86_expand_binop_imm_builtin): New.
|
23027 |
|
|
(ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and
|
23028 |
|
|
IX86_BUILTIN_PSRLDQI128. Handle IX86_BUILTIN_AESKEYGENASSIST128.
|
23029 |
|
|
|
23030 |
|
|
* config/i386/i386.h (TARGET_AES): New.
|
23031 |
|
|
(TARGET_PCLMUL): Likewise.
|
23032 |
|
|
(TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL.
|
23033 |
|
|
|
23034 |
|
|
* config/i386/i386.md (UNSPEC_AESENC): New.
|
23035 |
|
|
(UNSPEC_AESENCLAST): Likewise.
|
23036 |
|
|
(UNSPEC_AESDEC): Likewise.
|
23037 |
|
|
(UNSPEC_AESDECLAST): Likewise.
|
23038 |
|
|
(UNSPEC_AESIMC): Likewise.
|
23039 |
|
|
(UNSPEC_AESKEYGENASSIST): Likewise.
|
23040 |
|
|
(UNSPEC_PCLMUL): Likewise.
|
23041 |
|
|
|
23042 |
|
|
* config/i386/i386.opt (maes): New.
|
23043 |
|
|
(mpclmul): Likewise.
|
23044 |
|
|
|
23045 |
|
|
* config/i386/sse.md (aesenc): New pattern.
|
23046 |
|
|
(aesenclast): Likewise.
|
23047 |
|
|
(aesdec): Likewise.
|
23048 |
|
|
(aesdeclast): Likewise.
|
23049 |
|
|
(aesimc): Likewise.
|
23050 |
|
|
(aeskeygenassist): Likewise.
|
23051 |
|
|
(pclmulqdq): Likewise.
|
23052 |
|
|
|
23053 |
|
|
* config/i386/wmmintrin.h: New.
|
23054 |
|
|
|
23055 |
|
|
* doc/extend.texi: Document AES and PCLMUL built-in function.
|
23056 |
|
|
|
23057 |
|
|
* doc/invoke.texi: Document -maes and -mpclmul.
|
23058 |
|
|
|
23059 |
|
|
2008-04-04 Paolo Bonzini
|
23060 |
|
|
|
23061 |
|
|
* function.c (free_after_parsing): Replace with
|
23062 |
|
|
cxx_push_function_context from C++ front-end.
|
23063 |
|
|
(allocate_struct_function): Don't call langhook.
|
23064 |
|
|
* langhooks.h (struct lang_hooks_for_functions): Delete.
|
23065 |
|
|
(struct lang_hooks): Add back missing_noreturn_ok_p here, delete
|
23066 |
|
|
member "function".
|
23067 |
|
|
* langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add.
|
23068 |
|
|
(LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
|
23069 |
|
|
LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
|
23070 |
|
|
LANG_HOOKS_FUNCTION_INITIALIZER): Delete.
|
23071 |
|
|
(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P,
|
23072 |
|
|
remove LANG_HOOKS_FUNCTION_INITIALIZER.
|
23073 |
|
|
* tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook.
|
23074 |
|
|
|
23075 |
|
|
* c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
|
23076 |
|
|
Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
|
23077 |
|
|
|
23078 |
|
|
2008-04-04 Jakub Jelinek
|
23079 |
|
|
|
23080 |
|
|
PR c/35440
|
23081 |
|
|
* c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
|
23082 |
|
|
for all types.
|
23083 |
|
|
|
23084 |
|
|
2008-04-04 Richard Guenther
|
23085 |
|
|
|
23086 |
|
|
PR middle-end/35823
|
23087 |
|
|
* fold-const.c (optimize_minmax_comparison): Use the correct
|
23088 |
|
|
type for the constant in the simplified comparison.
|
23089 |
|
|
|
23090 |
|
|
2008-04-04 Zuxy Meng
|
23091 |
|
|
|
23092 |
|
|
* config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument.
|
23093 |
|
|
Pass L2 size as "--param l2-cache-size" to the compiler.
|
23094 |
|
|
(decode_l2_cache): New function to decode L2 cache parameters using
|
23095 |
|
|
0x8000006 extended cpuid function.
|
23096 |
|
|
(detect_caches_amd): Determine parameters of L2 cache using
|
23097 |
|
|
decode_l2_caches function.
|
23098 |
|
|
(decode_caches_intel): Decode L2 cache parameters.
|
23099 |
|
|
(detect_caches_intel): Determine L2 cache parameters using
|
23100 |
|
|
decode_caches_intel and decode_l2_caches functions.
|
23101 |
|
|
|
23102 |
|
|
2008-04-03 Bob Wilson
|
23103 |
|
|
|
23104 |
|
|
* config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a
|
23105 |
|
|
secondary input reload for subword loads from the constant pool.
|
23106 |
|
|
|
23107 |
|
|
2008-04-03 Janis Johnson
|
23108 |
|
|
|
23109 |
|
|
PR target/35713
|
23110 |
|
|
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
|
23111 |
|
|
constants of the appropriate size for runtime calculations.
|
23112 |
|
|
|
23113 |
|
|
PR c/35712
|
23114 |
|
|
* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
|
23115 |
|
|
decimal-float literal constant zero.
|
23116 |
|
|
|
23117 |
|
|
2008-04-03 Jakub Jelinek
|
23118 |
|
|
|
23119 |
|
|
PR c/35738
|
23120 |
|
|
* c-parser.c (c_parser_omp_atomic): Call
|
23121 |
|
|
default_function_array_conversion on the RHS.
|
23122 |
|
|
|
23123 |
|
|
PR middle-end/35818
|
23124 |
|
|
* omp-low.c (scan_sharing_clauses) : Don't
|
23125 |
|
|
call is_variable_sized if decl has incomplete type.
|
23126 |
|
|
|
23127 |
|
|
2008-04-03 H.J. Lu
|
23128 |
|
|
|
23129 |
|
|
* config/i386/i386-protos.h (ix86_aligned_p): Removed.
|
23130 |
|
|
|
23131 |
|
|
2008-04-03 Adam Nemet
|
23132 |
|
|
|
23133 |
|
|
* config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
|
23134 |
|
|
iterators.
|
23135 |
|
|
(u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and leu.
|
23136 |
|
|
(sgt): Merge sgt and sgtu into new expander.
|
23137 |
|
|
(sgt, sgtu): Remove expanders.
|
23138 |
|
|
(*sgt_): Merge *sgt_ and *sgtu_ into new pattern.
|
23139 |
|
|
(*sgt_, *sgtu_): Remove patterns.
|
23140 |
|
|
(*sgt__mips16): Merge *sgt__mips16 and
|
23141 |
|
|
*sgtu__mips16 into new pattern.
|
23142 |
|
|
(*sgt__mips16, *sgtu__mips16): Remove patterns.
|
23143 |
|
|
(sge): Merge sge and sgeu into new expander.
|
23144 |
|
|
(sge, sgeu): Remove expanders.
|
23145 |
|
|
(*sge_): Merge *sge_ and second *sge_ into
|
23146 |
|
|
new pattern.
|
23147 |
|
|
(*sge_, second *sge_): Remove patterns.
|
23148 |
|
|
(slt): Merge slt and sltu into new expander.
|
23149 |
|
|
(slt, sltu): Remove expanders.
|
23150 |
|
|
(*slt_): Merge *slt_ and *sltu_ into new pattern.
|
23151 |
|
|
(*slt_, *sltu_): Remove patterns.
|
23152 |
|
|
(*slt__mips16): Merge *slt__mips16 and
|
23153 |
|
|
*sltu__mips16 into new pattern.
|
23154 |
|
|
(*slt__mips16, *sltu__mips16): Remove patterns.
|
23155 |
|
|
(sle): Merge sle and sleu into new expander.
|
23156 |
|
|
(sle, sleu): Remove expanders.
|
23157 |
|
|
(*sle_): Merge *sle_ and *sleu_ into new pattern.
|
23158 |
|
|
(*sle_, *sleu_): Remove patterns.
|
23159 |
|
|
(*sle__mips16): Merge *sle__mips16 and
|
23160 |
|
|
*sleu__mips16 into new pattern.
|
23161 |
|
|
(*sle__mips16, *sleu__mips16): Remove patterns.
|
23162 |
|
|
|
23163 |
|
|
2008-04-03 Jan Hubicka
|
23164 |
|
|
|
23165 |
|
|
PR tree-optimization/35795
|
23166 |
|
|
* alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
|
23167 |
|
|
* sparc/sparc.c (sparc_output_mi_thunk): Likewise.
|
23168 |
|
|
* ia64/ia64.c (ia64_output_mi_thunk): Likewise.
|
23169 |
|
|
* m68k/m68k.c (m68k_output_mi_thunk): Likewise.
|
23170 |
|
|
* score/score3.c (score3_output_mi_thunk): Likewise.
|
23171 |
|
|
* score/score7.c (score7_output_mi_thunk): Likewise.
|
23172 |
|
|
* mips/mips.c (mips_output_mi_thunk): Likewise.
|
23173 |
|
|
|
23174 |
|
|
2008-04-03 Richard Guenther
|
23175 |
|
|
|
23176 |
|
|
* tree-vrp.c (extract_range_from_unary_expr): Handle all
|
23177 |
|
|
conversions. Simplify code.
|
23178 |
|
|
|
23179 |
|
|
2008-04-03 Kaz Kojima
|
23180 |
|
|
|
23181 |
|
|
* config/sh/sh.c (sh_output_mi_thunk): Free cfun.
|
23182 |
|
|
|
23183 |
|
|
2008-04-03 Tom Tromey
|
23184 |
|
|
Ralf Wildenhues
|
23185 |
|
|
|
23186 |
|
|
* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
|
23187 |
|
|
* config/bfin/t-bfin-linux (generated_files): Add
|
23188 |
|
|
linux-sysroot-suffix.h.
|
23189 |
|
|
* doc/install.texi (Prerequisites): Require make 3.80.
|
23190 |
|
|
* doc/sourcebuild.texi (Front End Directory): Document new
|
23191 |
|
|
variable.
|
23192 |
|
|
* Makefile.in (generated_files): New variable.
|
23193 |
|
|
(ALL_HOST_OBJS): New variable.
|
23194 |
|
|
($(ALL_HOST_OBJS)): New target.
|
23195 |
|
|
|
23196 |
|
|
2008-04-03 Paolo Bonzini
|
23197 |
|
|
|
23198 |
|
|
* tree-inline.c (copy_generic_body, copy_decl_no_change): Export.
|
23199 |
|
|
(remap_block): Call id->transform_lang_insert_block instead
|
23200 |
|
|
of langhook.
|
23201 |
|
|
(optimize_inline_calls, unsave_expr_now, tree_function_versioning):
|
23202 |
|
|
Set id.transform_lang_insert_block to NULL.
|
23203 |
|
|
(clone_body): Move to cp/optimize.c
|
23204 |
|
|
* tree-inline.h (struct copy_body_data): Change
|
23205 |
|
|
transform_lang_insert_block to function pointer.
|
23206 |
|
|
(copy_generic_body, copy_decl_no_change): Export.
|
23207 |
|
|
* langhooks.h (struct lang_hooks_for_decls): Kill insert_block.
|
23208 |
|
|
* langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill.
|
23209 |
|
|
(LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK.
|
23210 |
|
|
|
23211 |
|
|
* c-tree.h (insert_block): Kill.
|
23212 |
|
|
* c-decl.c (insert_block): Kill.
|
23213 |
|
|
|
23214 |
|
|
2008-04-03 Paolo Bonzini
|
23215 |
|
|
|
23216 |
|
|
* c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
|
23217 |
|
|
LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
|
23218 |
|
|
* c-tree.h (c_push_function_context, c_pop_function_context): Remove
|
23219 |
|
|
argument.
|
23220 |
|
|
* c-decl.c (c_push_function_context, c_pop_function_context): Remove
|
23221 |
|
|
argument, call {push,pop}_function_context from here.
|
23222 |
|
|
* c-parser.c: Use c_{push,pop}_function_context.
|
23223 |
|
|
|
23224 |
|
|
* function.c (push_function_context_to): Move meat ...
|
23225 |
|
|
(push_function_context): ... here. Simplify.
|
23226 |
|
|
* function.c (pop_function_context_from): Move meat ...
|
23227 |
|
|
(pop_function_context): ... here. Simplify.
|
23228 |
|
|
* langhooks.h (struct lang_hooks_for_functions): Remove enter_nested,
|
23229 |
|
|
leave_nested).
|
23230 |
|
|
* langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
|
23231 |
|
|
LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
|
23232 |
|
|
(LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here.
|
23233 |
|
|
* tree.h (push_function_context_to, pop_function_context_from): Remove.
|
23234 |
|
|
|
23235 |
|
|
2008-04-03 Ben Elliston
|
23236 |
|
|
|
23237 |
|
|
* expmed.c (extract_force_align_mem_bit_field): Remove.
|
23238 |
|
|
|
23239 |
|
|
2008-04-03 Richard Guenther
|
23240 |
|
|
|
23241 |
|
|
PR middle-end/35800
|
23242 |
|
|
* expr.h (try_casesi): Adjust prototype.
|
23243 |
|
|
* expr.c (try_casesi): Take fallback label as extra parameter.
|
23244 |
|
|
Use that for gen_casesi if default_label is NULL.
|
23245 |
|
|
* stmt.c (expand_case): Pass fallback label to try_casesi,
|
23246 |
|
|
make sure to fill gaps with a fallback label if default_label
|
23247 |
|
|
is not present.
|
23248 |
|
|
|
23249 |
|
|
2008-04-03 Dominique d'Humières
|
23250 |
|
|
|
23251 |
|
|
PR target/35801
|
23252 |
|
|
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
|
23253 |
|
|
|
23254 |
|
|
2008-04-03 Ben Elliston
|
23255 |
|
|
|
23256 |
|
|
* expmed.c (extract_split_bit_field): Remove if (0) code.
|
23257 |
|
|
* tree-ssa-structalias.c (do_sd_constraint): Likewise.
|
23258 |
|
|
(do_ds_constraint): Likewise.
|
23259 |
|
|
|
23260 |
|
|
2008-04-02 Joseph Myers
|
23261 |
|
|
|
23262 |
|
|
* doc/cppopts.texi (-dU): Document.
|
23263 |
|
|
* c-common.h (flag_dump_macros): Update comment.
|
23264 |
|
|
* c-opts.c (handle_OPT_d): Handle -dU.
|
23265 |
|
|
* c-ppoutput.c (macro_queue, define_queue, undef_queue,
|
23266 |
|
|
dump_queued_macros, cb_used_define, cb_used_undef): New.
|
23267 |
|
|
(init_pp_output): Handle -dU.
|
23268 |
|
|
(cb_line_change): Call dump_queued_macros.
|
23269 |
|
|
* toplev.c (decode_d_option): Accept -dU as preprocessor option.
|
23270 |
|
|
|
23271 |
|
|
2008-04-02 Anatoly Sokolov
|
23272 |
|
|
|
23273 |
|
|
* config/avr/predicates.md (io_address_operand): New predicate.
|
23274 |
|
|
* config/avr/avr-protos.h (avr_io_address_p): Remove declaration.
|
23275 |
|
|
* config/avr/avr.c (avr_io_address_p): Remove function.
|
23276 |
|
|
(out_movqi_r_mr): Use 'io_address_operand' predicate instead of
|
23277 |
|
|
'avr_io_address_p' function.
|
23278 |
|
|
(out_movhi_r_mr): (Ditto.).
|
23279 |
|
|
(out_movqi_mr_r): (Ditto.).
|
23280 |
|
|
(out_movhi_mr_r): (Ditto.).
|
23281 |
|
|
(avr_address_cost): (Ditto.).
|
23282 |
|
|
|
23283 |
|
|
2008-04-02 Uros Bizjak
|
23284 |
|
|
|
23285 |
|
|
* config/i386/i386.md (*float2_1):
|
23286 |
|
|
Emit gen_floatdi2_i387_with_xmm for DImode values
|
23287 |
|
|
in 32bit mode when XMM registers are available to avoid store
|
23288 |
|
|
forwarding stalls.
|
23289 |
|
|
(floatdi2_i387_with_xmm): New insn pattern and
|
23290 |
|
|
corresponding post-reload splitters.
|
23291 |
|
|
|
23292 |
|
|
2008-04-02 H.J. Lu
|
23293 |
|
|
|
23294 |
|
|
* config/i386/i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps
|
23295 |
|
|
and __builtin_ia32_shufpd. Provide __builtin_ia32_roundsd and
|
23296 |
|
|
__builtin_ia32_roundss.
|
23297 |
|
|
(ix86_init_mmx_sse_builtins): Remove __builtin_ia32_shufps,
|
23298 |
|
|
__builtin_ia32_shufpd, __builtin_ia32_roundsd and
|
23299 |
|
|
__builtin_ia32_roundss.
|
23300 |
|
|
(ix86_expand_builtin): Don't handle IX86_BUILTIN_SHUFPS and
|
23301 |
|
|
IX86_BUILTIN_SHUFPD here.
|
23302 |
|
|
|
23303 |
|
|
2008-04-02 H.J. Lu
|
23304 |
|
|
|
23305 |
|
|
* config/i386/i386.md (plogic): New.
|
23306 |
|
|
(plogicprefix): Likewise.
|
23307 |
|
|
|
23308 |
|
|
* config/i386/mmx.md (mmx_3): New.
|
23309 |
|
|
(mmx_and3): Removed.
|
23310 |
|
|
(mmx_ior3): Likewise.
|
23311 |
|
|
(mmx_xor3): Likewise.
|
23312 |
|
|
|
23313 |
|
|
* config/i386/sse.md (3): New.
|
23314 |
|
|
(*3): Likewise.
|
23315 |
|
|
(*3): Likewise.
|
23316 |
|
|
(3): Likewise.
|
23317 |
|
|
(*sse_3): Likewise.
|
23318 |
|
|
(*sse2_3): Likewise.
|
23319 |
|
|
(tf3): Likewise.
|
23320 |
|
|
(*tf3): Likewise.
|
23321 |
|
|
(and3): Likewise.
|
23322 |
|
|
(*and3): Likewise.
|
23323 |
|
|
(ior3): Removed.
|
23324 |
|
|
(*ior3): Likewise.
|
23325 |
|
|
(xor3): Likewise.
|
23326 |
|
|
(*xor3): Likewise.
|
23327 |
|
|
(*and3): Likewise.
|
23328 |
|
|
(*ior3): Likewise.
|
23329 |
|
|
(*xor3): Likewise.
|
23330 |
|
|
(and3): Likewise.
|
23331 |
|
|
(*sse_and3): Likewise.
|
23332 |
|
|
(*sse2_and3): Likewise.
|
23333 |
|
|
(andtf3): Likewise.
|
23334 |
|
|
(*andtf3): Likewise.
|
23335 |
|
|
(ior3): Likewise.
|
23336 |
|
|
(*sse_ior3): Likewise.
|
23337 |
|
|
(*sse2_ior3): Likewise.
|
23338 |
|
|
(iortf3): Likewise.
|
23339 |
|
|
(*iortf3): Likewise.
|
23340 |
|
|
(xor3): Likewise.
|
23341 |
|
|
(*sse_xor3): Likewise.
|
23342 |
|
|
(*sse2_xor3): Likewise.
|
23343 |
|
|
(xortf3): Likewise.
|
23344 |
|
|
(*xortf3): Likewise.
|
23345 |
|
|
|
23346 |
|
|
2008-04-02 Richard Guenther
|
23347 |
|
|
|
23348 |
|
|
PR tree-optimization/14495
|
23349 |
|
|
PR tree-optimization/34793
|
23350 |
|
|
* tree-vrp.c (struct switch_update): New structure.
|
23351 |
|
|
(to_remove_edges, to_update_switch_stmts): New VECs.
|
23352 |
|
|
(simplify_switch_using_ranges): New function. Remove not taken
|
23353 |
|
|
case labels and edges.
|
23354 |
|
|
(simplify_stmt_using_ranges): Call it.
|
23355 |
|
|
(identify_jump_threads): Mark edges we have queued for removal
|
23356 |
|
|
so we don't thread them.
|
23357 |
|
|
(execute_vrp): Remove edges queued for removal, update SWITCH_STMT
|
23358 |
|
|
case label vector.
|
23359 |
|
|
* tree-cfg.c (group_case_labels): Deal with missing default label.
|
23360 |
|
|
(tree_verify_flow_info): Allow missing default label.
|
23361 |
|
|
* stmt.c (emit_case_bit_tests): Deal with NULL default_label.
|
23362 |
|
|
(emit_case_nodes): Likewise.
|
23363 |
|
|
(expand_case): Do not rely on the default label to be present.
|
23364 |
|
|
* expr.c (try_casesi): Deal with NULL default_label.
|
23365 |
|
|
(do_tablejump): Likewise.
|
23366 |
|
|
|
23367 |
|
|
2008-04-02 Richard Guenther
|
23368 |
|
|
|
23369 |
|
|
PR tree-optimization/14495
|
23370 |
|
|
* tree-vrp.c (vrp_visit_cond_stmt): Do not handle
|
23371 |
|
|
SWITCH_EXPR here ...
|
23372 |
|
|
(vrp_visit_switch_stmt): ... but here (new function).
|
23373 |
|
|
(find_case_label_index): New helper function.
|
23374 |
|
|
(vrp_visit_stmt): Dispatch to vrp_visit_switch_stmt.
|
23375 |
|
|
|
23376 |
|
|
2008-04-02 Paolo Bonzini
|
23377 |
|
|
|
23378 |
|
|
* fwprop.c: Fix ISO-C99ism.
|
23379 |
|
|
|
23380 |
|
|
2008-04-02 Paolo Bonzini
|
23381 |
|
|
|
23382 |
|
|
PR bootstrap/35752
|
23383 |
|
|
* Makefile.in (objdir): Set it here.
|
23384 |
|
|
* configure.ac: Not here. Find dynamic linker characteristics.
|
23385 |
|
|
* exec-tool.in: Use them.
|
23386 |
|
|
* aclocal.m4: Regenerate.
|
23387 |
|
|
* configure: Regenerate.
|
23388 |
|
|
|
23389 |
|
|
2008-04-02 Paolo Bonzini
|
23390 |
|
|
|
23391 |
|
|
* expr.c (expand_var): Delete it.
|
23392 |
|
|
* expr.h (expand_var): Delete prototype.
|
23393 |
|
|
* function.c (expand_function_start): Use expand_decl instead.
|
23394 |
|
|
* cfgexpand.c (expand_one_static_var, expand_one_var): Don't call
|
23395 |
|
|
langhook.
|
23396 |
|
|
|
23397 |
|
|
2008-04-02 Andy Hutchinson
|
23398 |
|
|
|
23399 |
|
|
PR rtl-optimization/35542
|
23400 |
|
|
* fwprop.c (forward_propagate_and_simplify): Replace
|
23401 |
|
|
loc_reg_mentioned_in_p with reg_mentioned_p.
|
23402 |
|
|
|
23403 |
|
|
2008-04-02 Paolo Bonzini
|
23404 |
|
|
|
23405 |
|
|
PR rtl-optimization/35281
|
23406 |
|
|
* fwprop.c (PR_CAN_APPEAR, PR_HANDLE_MEM): New.
|
23407 |
|
|
(propagate_rtx_1): Handle PR_HANDLE_MEM.
|
23408 |
|
|
(propagate_rtx): Pass PR_HANDLE_MEM if appropriate.
|
23409 |
|
|
(varying_mem_p): Move above propagate_rtx.
|
23410 |
|
|
(all_uses_available_at): Do not check MEMs.
|
23411 |
|
|
|
23412 |
|
|
2008-04-02 Rafael Espíndola
|
23413 |
|
|
|
23414 |
|
|
* tree-vrp.c (extract_code_and_val_from_cond): Remove.
|
23415 |
|
|
(register_edge_assert_for_2): Split the cond argument.
|
23416 |
|
|
(register_edge_assert_for_1): Adjust for the change in
|
23417 |
|
|
register_edge_assert_for_2.
|
23418 |
|
|
(register_edge_assert_for): Split the cond argument.
|
23419 |
|
|
(find_switch_asserts): Adjust for the change in
|
23420 |
|
|
register_edge_assert_for.
|
23421 |
|
|
|
23422 |
|
|
2008-04-02 Kai Tietz
|
23423 |
|
|
|
23424 |
|
|
* config.gcc: Add for x86_64-*-mingw* the t-crtfm to tbuild.
|
23425 |
|
|
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add 8 byte
|
23426 |
|
|
offsets for 64-bit mingw.
|
23427 |
|
|
* config/i386/i386.c (ix86_pass_by_reference): Correct calling
|
23428 |
|
|
abi for x86_64-pc-mingw.
|
23429 |
|
|
|
23430 |
|
|
2008-04-02 Richard Guenther
|
23431 |
|
|
|
23432 |
|
|
* tree-vrp.c (extract_range_from_assert): Make sure to not
|
23433 |
|
|
produce range min/max with TREE_OVERFOW set.
|
23434 |
|
|
If merging a anti-range and a range keep the anti-range if
|
23435 |
|
|
the range covers all values of the type.
|
23436 |
|
|
(register_edge_assert_for_2): Only allow sign-changing
|
23437 |
|
|
conversions in detecting canonical range checks. Also
|
23438 |
|
|
register an assert for the unsigned name if useful.
|
23439 |
|
|
|
23440 |
|
|
PR tree-optimization/35787
|
23441 |
|
|
* tree-vrp.c (vrp_val_max): New function.
|
23442 |
|
|
(vrp_val_min): Likewise.
|
23443 |
|
|
(vrp_val_is_max): Move earlier, use vrp_val_{min,max}.
|
23444 |
|
|
(vrp_val_is_min): Likewise.
|
23445 |
|
|
(supports_overflow_infinity): Use vrp_val_{min,max}.
|
23446 |
|
|
(negative_overflow_infinity): Likewise.
|
23447 |
|
|
(positive_overflow_infinity): Likewise.
|
23448 |
|
|
(is_negative_overflow_infinity): Use vrp_val_is_{min,max}.
|
23449 |
|
|
(is_positive_overflow_infinity): Likewise.
|
23450 |
|
|
(is_overflow_infinity): Likewise.
|
23451 |
|
|
(avoid_overflow_infinity): Use vrp_val_{min,max} and
|
23452 |
|
|
vrp_val_is_{min,max}.
|
23453 |
|
|
(set_and_canonicalize_value_range): Canonicalize anti-ranges
|
23454 |
|
|
to ranges if possible. Avoid empty ranges.
|
23455 |
|
|
|
23456 |
|
|
2008-04-01 John David Anglin
|
23457 |
|
|
|
23458 |
|
|
PR middle-end/35705
|
23459 |
|
|
* fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
|
23460 |
|
|
the expression is a function address.
|
23461 |
|
|
|
23462 |
|
|
2008-04-01 George Helffrich
|
23463 |
|
|
|
23464 |
|
|
PR fortran/35154, fortran/23057
|
23465 |
|
|
* dbxout.c: Emit .stabs debug info for Fortran COMMON block
|
23466 |
|
|
variables as base symbol name + offset using N_BCOMM/N_ECOMM.
|
23467 |
|
|
(is_fortran, dbxout_common_name, dbxout_common_check): New functions.
|
23468 |
|
|
(dbxout_symbol_location): Transform N_LCSYM to N_GSYM for storage
|
23469 |
|
|
in common.
|
23470 |
|
|
(dbxout_syms): Check for COMMON-based symbol and wrap in
|
23471 |
|
|
N_BCOMM/N_ECOMM stab bracket, including as many symbols as possible
|
23472 |
|
|
in bracket for efficiency.
|
23473 |
|
|
|
23474 |
|
|
* dwarf2out.c: Emit DWARF debug info for Fortran COMMON block
|
23475 |
|
|
using DW_TAG_common_block + member offset.
|
23476 |
|
|
(add_pubname_string): New function.
|
23477 |
|
|
(dw_expand_expr): New function to find block name and offset for
|
23478 |
|
|
COMMON var.
|
23479 |
|
|
(common_check): New function to check whether symbol in Fortran COMMON.
|
23480 |
|
|
(gen_variable_die): If COMMON, use DW_TAG_common_block.
|
23481 |
|
|
|
23482 |
|
|
2008-04-01 Volker Reichelt
|
23483 |
|
|
|
23484 |
|
|
PR c/35436
|
23485 |
|
|
* c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.
|
23486 |
|
|
|
23487 |
|
|
2008-04-02 Ben Elliston
|
23488 |
|
|
|
23489 |
|
|
* config/v850/v850.md (casesi): Remove if (0) code.
|
23490 |
|
|
* config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
|
23491 |
|
|
* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
|
23492 |
|
|
|
23493 |
|
|
2008-04-01 Uros Bizjak
|
23494 |
|
|
|
23495 |
|
|
* config/i386/i386.md (rex64suffix): New mode attribute.
|
23496 |
|
|
(floathi2): Disable expander for SSE math.
|
23497 |
|
|
(*floathi2_1): New insn insn_and_split pattern.
|
23498 |
|
|
(*floathi2_i387_with_temp): New macroized instruction pattern and
|
23499 |
|
|
corresponding post-reload splitters.
|
23500 |
|
|
(*floathi2_i387): New macroized insn pattern.
|
23501 |
|
|
(float2): New macroized expander.
|
23502 |
|
|
(*float2_1): New macroized
|
23503 |
|
|
insn_and_split pattern.
|
23504 |
|
|
(*floatsi2_vector_mixed_with_temp, *floatsi2_vector_mixed):
|
23505 |
|
|
New macroized instruction patterns and corresponding post-reload
|
23506 |
|
|
splitters.
|
23507 |
|
|
(*floatsi2_mixed_with_temp): New macroized instruction pattern
|
23508 |
|
|
and corresponding post-reload splitters.
|
23509 |
|
|
(*floatsi2_mixed_interunit, *floatsi2_mixed_nointerunit):
|
23510 |
|
|
New macroized instruction patterns.
|
23511 |
|
|
(*floatsi2_vector_sse_with_temp, *floatsi2_vector_sse): New
|
23512 |
|
|
macroized instruction patterns and corresponding post-reload splitters.
|
23513 |
|
|
(*floatsi2_sse_with_temp): New macroized instruction pattern and
|
23514 |
|
|
corresponding post-reload splitters.
|
23515 |
|
|
(*floatsi2_sse_interunit, *floatsi2_mixed_nointerunit):
|
23516 |
|
|
New macroized instruction patterns.
|
23517 |
|
|
(*floatsi2_i387_with_temp): New macroized instruction pattern and
|
23518 |
|
|
corresponding post-reload splitters.
|
23519 |
|
|
(*floatsi2_i387): New macroized instruction patterns.
|
23520 |
|
|
|
23521 |
|
|
2008-04-01 H.J. Lu
|
23522 |
|
|
|
23523 |
|
|
* config/i386/i386.md (smaxmin): New.
|
23524 |
|
|
(umaxmin): Likewise.
|
23525 |
|
|
(maxminiprefix): Likewise.
|
23526 |
|
|
(maxminfprefix): Likewise.
|
23527 |
|
|
(3): Likewise.
|
23528 |
|
|
(smin3): Removed.
|
23529 |
|
|
(smax3): Likewise.
|
23530 |
|
|
|
23531 |
|
|
* config/i386/mmx.md (mmx_v2sf3): New.
|
23532 |
|
|
(mmx_v4hi3): Likewise.
|
23533 |
|
|
(mmx_v8qi3): Likewise.
|
23534 |
|
|
(mmx_smaxv2sf3): Removed.
|
23535 |
|
|
(mmx_sminv2sf3): Likewise.
|
23536 |
|
|
(mmx_umaxv8qi3): Likewise.
|
23537 |
|
|
(mmx_smaxv4hi3): Likewise.
|
23538 |
|
|
(mmx_uminv8qi3): Likewise.
|
23539 |
|
|
(mmx_sminv4hi3): Likewise.
|
23540 |
|
|
|
23541 |
|
|
* config/i386/sse.md (3): New.
|
23542 |
|
|
(*3): Likewise.
|
23543 |
|
|
(_vm3): Likewise.
|
23544 |
|
|
(3): Likewise.
|
23545 |
|
|
(*3_finite): Likewise.
|
23546 |
|
|
(*3): Likewise.
|
23547 |
|
|
(_vm3): Likewise.
|
23548 |
|
|
(sse3_hv4sf3): Likewise.
|
23549 |
|
|
(sse3_hv2df3): Likewise.
|
23550 |
|
|
(v16qi3): Likewise.
|
23551 |
|
|
(*v16qi3): Likewise.
|
23552 |
|
|
(v8hi3): Likewise.
|
23553 |
|
|
(*v8hi3): Likewise.
|
23554 |
|
|
(*sse4_1_3): Likewise.
|
23555 |
|
|
(*sse4_1_3): Likewise.
|
23556 |
|
|
(add3): Removed.
|
23557 |
|
|
(*add3): Likewise.
|
23558 |
|
|
(_vmadd3): Likewise.
|
23559 |
|
|
(sub3): Likewise.
|
23560 |
|
|
(*sub3): Likewise.
|
23561 |
|
|
(_vmsub3): Likewise.
|
23562 |
|
|
(smin3): Likewise.
|
23563 |
|
|
(*smin3_finite): Likewise.
|
23564 |
|
|
(*smin3): Likewise.
|
23565 |
|
|
(_vmsmin3): Likewise.
|
23566 |
|
|
(smax3): Likewise.
|
23567 |
|
|
(*smax3_finite): Likewise.
|
23568 |
|
|
(*smax3): Likewise.
|
23569 |
|
|
(_vmsmax3): Likewise.
|
23570 |
|
|
(sse3_haddv4sf3): Likewise.
|
23571 |
|
|
(sse3_haddv2df3): Likewise.
|
23572 |
|
|
(sse3_hsubv4sf3): Likewise.
|
23573 |
|
|
(sse3_hsubv2df3): Likewise.
|
23574 |
|
|
(umaxv16qi3): Likewise.
|
23575 |
|
|
(*umaxv16qi3): Likewise.
|
23576 |
|
|
(smaxv8hi3): Likewise.
|
23577 |
|
|
(*smaxv8hi3): Likewise.
|
23578 |
|
|
(*sse4_1_smax3): Likewise.
|
23579 |
|
|
(*sse4_1_umax3): Likewise.
|
23580 |
|
|
(uminv16qi3): Likewise.
|
23581 |
|
|
(*uminv16qi3): Likewise.
|
23582 |
|
|
(sminv8hi3): Likewise.
|
23583 |
|
|
(*sminv8hi3): Likewise.
|
23584 |
|
|
(*sse4_1_smin3): Likewise.
|
23585 |
|
|
(*sse4_1_umin3): Likewise.
|
23586 |
|
|
|
23587 |
|
|
2008-04-01 Rafael Espíndola
|
23588 |
|
|
|
23589 |
|
|
* tree-cfg.c (verify_expr): remove in_phi.
|
23590 |
|
|
(verify_stmt): Don't call walk_tree with verify_expr. Use
|
23591 |
|
|
is_gimple_min_invariant instead of is_gimple_val.
|
23592 |
|
|
|
23593 |
|
|
2008-04-01 Joseph Myers
|
23594 |
|
|
|
23595 |
|
|
* doc/include/gpl_v3.texi: Update for manpage generation.
|
23596 |
|
|
* doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
|
23597 |
|
|
gpl.texi.
|
23598 |
|
|
* doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
|
23599 |
|
|
* Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
|
23600 |
|
|
gpl_v3.texi instead of gpl.texi.
|
23601 |
|
|
(gpl.pod): New.
|
23602 |
|
|
|
23603 |
|
|
2008-04-01 Jakub Jelinek
|
23604 |
|
|
|
23605 |
|
|
PR pch/13675
|
23606 |
|
|
* c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
|
23607 |
|
|
|
23608 |
|
|
2008-04-01 Rafael Espíndola
|
23609 |
|
|
|
23610 |
|
|
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
|
23611 |
|
|
(extract_code_and_val_from_cond): Use
|
23612 |
|
|
extract_code_and_val_from_cond_with_ops.
|
23613 |
|
|
|
23614 |
|
|
2008-04-01 Jan Hubicka
|
23615 |
|
|
|
23616 |
|
|
* function.c (free_after_compilation): Free epilogue_delay_list.
|
23617 |
|
|
(prepare_function_start): Assert that previous compilation was freed.
|
23618 |
|
|
|
23619 |
|
|
2008-04-01 Jan Hubicka
|
23620 |
|
|
Jim Wilson
|
23621 |
|
|
Andreas Tobler
|
23622 |
|
|
|
23623 |
|
|
PR middle-end/35781
|
23624 |
|
|
* m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use
|
23625 |
|
|
rtl.emit instead cfun->emit.
|
23626 |
|
|
* sparc/sparc.h (INIT_EXPANDERS): Likewise.
|
23627 |
|
|
* ia64/ia64.h (INIT_EXPANDERS): Likewise.
|
23628 |
|
|
|
23629 |
|
|
2008-04-01 Ben Elliston
|
23630 |
|
|
|
23631 |
|
|
* doc/c-tree.texi (Function Basics): Fix grammatical error.
|
23632 |
|
|
|
23633 |
|
|
2008-03-31 Seongbae Park
|
23634 |
|
|
|
23635 |
|
|
* common.opt (fprofile-dir=, fprofile-use=, fprofile-generate=):
|
23636 |
|
|
New options
|
23637 |
|
|
(fprofile-use): Add var flag_profile_use
|
23638 |
|
|
* coverage.c (coverage_begin_output): Do not open a gcno file for
|
23639 |
|
|
output only if -ftest-coverage is set.
|
23640 |
|
|
Do not add getpwd() to gcda file path.
|
23641 |
|
|
(build_gcov_info): Check the new flag
|
23642 |
|
|
flag_profile_datafile_relative_path.
|
23643 |
|
|
(coverage_init): Use profile_data_prefix.
|
23644 |
|
|
Read profile counter only if flag_profile_use is set.
|
23645 |
|
|
* opts.c (common_handle_option): New option fprofile-use=,
|
23646 |
|
|
fprofile-dir=, fprofile-generate=.
|
23647 |
|
|
* toplev.c (profile_data_prefix): New variable definition.
|
23648 |
|
|
* toplev.h (profile_data_prefix): New declaration.
|
23649 |
|
|
* doc/invoke.tex (Option Summary, Optimization Options):
|
23650 |
|
|
Add new options.
|
23651 |
|
|
|
23652 |
|
|
2008-03-31 James E. Wilson
|
23653 |
|
|
|
23654 |
|
|
* varasm.c (output_constant_pool_1): In LABEL_REF check,
|
23655 |
|
|
use tmp consistently.
|
23656 |
|
|
|
23657 |
|
|
PR target/35695
|
23658 |
|
|
* config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
|
23659 |
|
|
* config/ia64/ia64.c (rtx_needs_barrier): Handle
|
23660 |
|
|
UNSPEC_FR_RECIP_APPROX_RES.
|
23661 |
|
|
* config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define.
|
23662 |
|
|
|
23663 |
|
|
2008-03-31 Volker Reichelt
|
23664 |
|
|
|
23665 |
|
|
PR c/35750
|
23666 |
|
|
* c-decl.c (store_parm_decls_oldstyle): Skip invalid parameters.
|
23667 |
|
|
|
23668 |
|
|
2008-03-31 Andrew Pinski
|
23669 |
|
|
|
23670 |
|
|
PR middle-end/30186
|
23671 |
|
|
* fold-const.c (fold_indirect_ref_1): Support accessing non first
|
23672 |
|
|
element of the vector via a pointer.
|
23673 |
|
|
|
23674 |
|
|
2008-03-31 Ian Lance Taylor
|
23675 |
|
|
|
23676 |
|
|
* tlink.c (scan_linker_output): Look for symbol name in single quotes.
|
23677 |
|
|
|
23678 |
|
|
2008-03-31 Jan Hubicka
|
23679 |
|
|
|
23680 |
|
|
* builtins.c (expand_builtin_setjmp_receiver): Update call of
|
23681 |
|
|
get_arg_pointer_save_area.
|
23682 |
|
|
* expr.c (init_expr): Just clear out rtl.expr.
|
23683 |
|
|
* function.c (free_after_compilation): Clear out whole RTL structure.
|
23684 |
|
|
(get_func_frame_size): Merge into ...
|
23685 |
|
|
(get_frame_size): ... this one.
|
23686 |
|
|
(assign_stack_local_1): Merge into ...
|
23687 |
|
|
(assign_stack_local): ... this one.
|
23688 |
|
|
(expand_function_end): Update call of get_arg_pointer_save_area.
|
23689 |
|
|
(get_art_pointer_save_area): Remove cfun argument.
|
23690 |
|
|
* function.h (emit_status): regno_pointer_align does not need length
|
23691 |
|
|
attribute. Move x_regno_reg_rtx to ...
|
23692 |
|
|
(regno_reg_rtx): ... new global array.
|
23693 |
|
|
(reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
|
23694 |
|
|
(pending_stack_adjust, inhibit_defer_pop, saveregs_value,
|
23695 |
|
|
apply_args_value, forced_labels, stack_pointer_delta):
|
23696 |
|
|
Update accestors.
|
23697 |
|
|
(struct varasm_status): Move here from varasm.c
|
23698 |
|
|
(struct rtl_data): New. Move here some fields from struct function.
|
23699 |
|
|
(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
|
23700 |
|
|
frame_offset, stack_check_probe_note, arg_pointer_save_area,
|
23701 |
|
|
used_temp_slots avail_temp_slots, temp_slot_level,
|
23702 |
|
|
nonlocal_goto_handler_labels): Update accesstors.
|
23703 |
|
|
(rtl): New global variable.
|
23704 |
|
|
(struct function): Move some fileds to rtl_data.
|
23705 |
|
|
(get_arg_pointer_save_area): Update prototype.
|
23706 |
|
|
* emit-rtl.c (rtl): Declare.
|
23707 |
|
|
(regno_reg_rtx): Declare.
|
23708 |
|
|
(first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
|
23709 |
|
|
Update.
|
23710 |
|
|
(gen_reg_rtx): Update.
|
23711 |
|
|
(init_virtual_regs): Do not tate emit_status argument.
|
23712 |
|
|
(init_emit): Do not allocate emit.
|
23713 |
|
|
* varasm.c (varasm_statuc): Move to function.h.
|
23714 |
|
|
(n_deferred_constatns): Update accestor.
|
23715 |
|
|
(init_varasm_status): Do not allocate varasm_status.
|
23716 |
|
|
(force_const_mem, get_pool_size, output_constant_pool): Update.
|
23717 |
|
|
* stmt.c (force_label_rtx): Do not use x_ prefixes.
|
23718 |
|
|
(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
|
23719 |
|
|
|
23720 |
|
|
2008-03-31 Zdenek Dvorak
|
23721 |
|
|
|
23722 |
|
|
PR rtl-optimization/35729
|
23723 |
|
|
* loop-invariant.c (check_maybe_invariant): Disallow volatile memory
|
23724 |
|
|
references.
|
23725 |
|
|
|
23726 |
|
|
2008-03-31 H.J. Lu
|
23727 |
|
|
|
23728 |
|
|
PR target/32000
|
23729 |
|
|
* config/i386/i386.md (*movti_internal): Emit unaligned SSE
|
23730 |
|
|
load/store if memory is unaligned.
|
23731 |
|
|
(*movti_rex64): Likewise.
|
23732 |
|
|
|
23733 |
|
|
* config/i386/predicates.md (misaligned_operand): New.
|
23734 |
|
|
|
23735 |
|
|
2008-03-31 Andrew Pinski
|
23736 |
|
|
|
23737 |
|
|
PR tree-opt/35431
|
23738 |
|
|
* tree-ssa-phiopt.c (conditional_replacement): Return early for
|
23739 |
|
|
complex types.
|
23740 |
|
|
|
23741 |
|
|
2008-03-31 Jan Beulich
|
23742 |
|
|
|
23743 |
|
|
* config/ia64/constraints.md: Add 'j' constraint.
|
23744 |
|
|
* config/ia64/ia64.md (movsi_internal): Add addp4 case.
|
23745 |
|
|
(movdi_internal): Likewise.
|
23746 |
|
|
|
23747 |
|
|
2008-03-30 Volker Reichelt
|
23748 |
|
|
|
23749 |
|
|
PR c/35748
|
23750 |
|
|
* c-typeck.c (build_c_cast): Skip invalid fields in unions.
|
23751 |
|
|
|
23752 |
|
|
2008-03-30 H.J. Lu
|
23753 |
|
|
|
23754 |
|
|
PR target/35757
|
23755 |
|
|
* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Issue
|
23756 |
|
|
proper error message for the third argument on blendpd and
|
23757 |
|
|
blendps.
|
23758 |
|
|
|
23759 |
|
|
* config/i386/sse.md (blendbits): New.
|
23760 |
|
|
(sse4_1_blendp): Use it.
|
23761 |
|
|
|
23762 |
|
|
2008-03-30 Eric Botcazou
|
23763 |
|
|
|
23764 |
|
|
* fold-const.c (fold_binary) : Add missing conversions.
|
23765 |
|
|
|
23766 |
|
|
2008-03-30 Richard Guenther
|
23767 |
|
|
|
23768 |
|
|
PR middle-end/31023
|
23769 |
|
|
* fold-const.c (fold_sign_changed_comparison): Do leave
|
23770 |
|
|
conversions to base-types alone.
|
23771 |
|
|
|
23772 |
|
|
2008-03-29 Andrew Pinski
|
23773 |
|
|
|
23774 |
|
|
* config/rs6000/rs6000.c (rs6000_stack_info): Don't force saving of
|
23775 |
|
|
the link register if one altivec register is be saved.
|
23776 |
|
|
|
23777 |
|
|
2008-03-30 Ben Elliston
|
23778 |
|
|
|
23779 |
|
|
* final.c (final_scan_insn): Remove if (0) code.
|
23780 |
|
|
|
23781 |
|
|
2008-03-28 Volker Reichelt
|
23782 |
|
|
|
23783 |
|
|
* c-parser.c (c_parser_next_token_is_keyword): Simplify.
|
23784 |
|
|
|
23785 |
|
|
2008-03-28 H.J. Lu
|
23786 |
|
|
|
23787 |
|
|
* config/i386/sse.md (*and3): Pass mode instead
|
23788 |
|
|
of V4SFmode to ix86_binary_operator_ok.
|
23789 |
|
|
|
23790 |
|
|
2008-03-28 Uros Bizjak
|
23791 |
|
|
|
23792 |
|
|
* config/i386/i386.c (override_options): Initialize
|
23793 |
|
|
ix86_veclib_handler to ix86_veclibabi_svml when
|
23794 |
|
|
-mveclibabi=svml is used.
|
23795 |
|
|
(ix86_veclibabi_svml): New function for SVML ABI style
|
23796 |
|
|
vectorization support.
|
23797 |
|
|
* doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
|
23798 |
|
|
|
23799 |
|
|
2008-03-28 Rafael Espíndola
|
23800 |
|
|
|
23801 |
|
|
* fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
|
23802 |
|
|
(tree_binary_nonnegative_warnv_p): Make it public.
|
23803 |
|
|
(tree_single_nonnegative_warnv_p): Make it public.
|
23804 |
|
|
(tree_invalid_nonnegative_warnv_p): Make it public.
|
23805 |
|
|
(tree_unary_nonzero_warnv_p): Make it public.
|
23806 |
|
|
(tree_binary_nonzero_warnv_p): Make it public
|
23807 |
|
|
(tree_single_nonzero_warnv_p): Make it public.
|
23808 |
|
|
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops): New function.
|
23809 |
|
|
(extract_range_from_binary_expr): Split the expr argument.
|
23810 |
|
|
(extract_range_from_unary_expr): Split the expr argument.
|
23811 |
|
|
(extract_range_from_comparison): Split the expr argument.
|
23812 |
|
|
(extract_range_from_expr): Use the new aux functions.
|
23813 |
|
|
(vrp_evaluate_conditional_warnv): Use
|
23814 |
|
|
vrp_evaluate_conditional_warnv_with_ops.
|
23815 |
|
|
* tree.h (tree_unary_nonzero_warnv_p): Declare.
|
23816 |
|
|
(tree_binary_nonzero_warnv_p): Declare.
|
23817 |
|
|
(tree_single_nonzero_warnv_p): Declare.
|
23818 |
|
|
(tree_expr_nonzero_warnv_p): Declare.
|
23819 |
|
|
(tree_unary_nonnegative_warnv_p): Declare.
|
23820 |
|
|
(tree_binary_nonnegative_warnv_p): Declare.
|
23821 |
|
|
(tree_single_nonnegative_warnv_p): Declare.
|
23822 |
|
|
(tree_invalid_nonnegative_warnv_p): Declare.
|
23823 |
|
|
|
23824 |
|
|
2008-03-28 Richard Guenther
|
23825 |
|
|
|
23826 |
|
|
PR tree-optimization/30317
|
23827 |
|
|
PR tree-optimization/30911
|
23828 |
|
|
PR tree-optimization/34793
|
23829 |
|
|
* tree-vrp.c (set_and_canonicalize_value_range): New function.
|
23830 |
|
|
(struct assert_locus_d): New member EXPR.
|
23831 |
|
|
(register_new_assert_for): Add EXPR parameter to support
|
23832 |
|
|
ASSERT_EXPR .
|
23833 |
|
|
(register_edge_assert_for_1): Adjust callers.
|
23834 |
|
|
(find_assert_locations): Likewise.
|
23835 |
|
|
(process_assert_insertions_for): Build condition from expression.
|
23836 |
|
|
(extract_range_from_assert): Handle ASSERT_EXPRs
|
23837 |
|
|
of the form ASSERT_EXPR .
|
23838 |
|
|
(register_edge_assert_for_2): New helper registering
|
23839 |
|
|
asserts for comparisons. Recognize range tests of the form
|
23840 |
|
|
(unsigned)i - CST1 OP CST2.
|
23841 |
|
|
(register_edge_assert_for_1): Use it.
|
23842 |
|
|
(register_edge_assert_for): Likewise.
|
23843 |
|
|
(needs_overflow_infinity): Integer sub-types
|
23844 |
|
|
do not need overflow infinities.
|
23845 |
|
|
(vrp_val_is_max): The extreme values of integer sub-types
|
23846 |
|
|
are those of the base type.
|
23847 |
|
|
(vrp_val_is_min): Likewise.
|
23848 |
|
|
* tree.def (ASSERT_EXPR): Document extra allowed conditional
|
23849 |
|
|
expressions.
|
23850 |
|
|
|
23851 |
|
|
2008-03-28 Nick Clifton
|
23852 |
|
|
|
23853 |
|
|
PR target/31110
|
23854 |
|
|
* config/mn10300/mn10300.c (mn10300_secondary_reload_class):
|
23855 |
|
|
Return GENERAL_REGS for stack adjustment reloads.
|
23856 |
|
|
|
23857 |
|
|
2008-03-28 Andrew Pinski
|
23858 |
|
|
|
23859 |
|
|
PR target/31334
|
23860 |
|
|
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Create a
|
23861 |
|
|
const_vector when all the vectors are constant.
|
23862 |
|
|
|
23863 |
|
|
2008-03-27 Bob Wilson
|
23864 |
|
|
|
23865 |
|
|
* config/xtensa/xtensa.c (gen_float_relational): Handle unordered
|
23866 |
|
|
comparisons.
|
23867 |
|
|
* config/xtensa/xtensa.md (any_cond): Add unordered comparisons.
|
23868 |
|
|
(any_scc_sf): Add uneq, unlt, unle and unordered operators.
|
23869 |
|
|
(scc_sf): New.
|
23870 |
|
|
(s_sf): Use new scc_sf attribute for opcode names.
|
23871 |
|
|
|
23872 |
|
|
2008-03-27 Tom Tromey
|
23873 |
|
|
|
23874 |
|
|
* doc/sourcebuild.texi, doc/install.texi, configure, aclocal.m4,
|
23875 |
|
|
configure.ac, Makefile.in, config/t-darwin, config/m32c/t-m32c,
|
23876 |
|
|
config/spu/t-spu-elf, config/i386/t-interix,
|
23877 |
|
|
config/i386/t-cygming, config/i386/x-i386, config/i386/t-cygwin,
|
23878 |
|
|
config/i386/x-darwin, config/i386/x-mingw32,
|
23879 |
|
|
config/i386/t-netware, config/i386/x-cygwin, config/i386/t-nwld,
|
23880 |
|
|
config/sh/t-sh, config/sh/t-symbian, config/x-linux,
|
23881 |
|
|
config/t-sol2, config/x-hpux, config/x-darwin, config/ia64/t-ia64,
|
23882 |
|
|
config/x-solaris, config/t-vxworks, config/m68k/t-uclinux,
|
23883 |
|
|
config/rs6000/x-rs6000, config/rs6000/x-darwin64,
|
23884 |
|
|
config/rs6000/x-darwin, config/rs6000/t-rs6000,
|
23885 |
|
|
config/score/t-score-elf, config/arm/t-strongarm-pe,
|
23886 |
|
|
config/arm/t-pe, config/arm/t-arm, config/arm/t-wince-pe,
|
23887 |
|
|
config/v850/t-v850, config/v850/t-v850e, config/bfin/t-bfin-linux:
|
23888 |
|
|
Revert automatic dependency patch.
|
23889 |
|
|
|
23890 |
|
|
2008-03-27 H.J. Lu
|
23891 |
|
|
|
23892 |
|
|
PR target/35657
|
23893 |
|
|
* config/i386/i386.c (ix86_function_arg_boundary): Align
|
23894 |
|
|
decimal floating point to its natural boundary.
|
23895 |
|
|
|
23896 |
|
|
2008-03-27 Richard Guenther
|
23897 |
|
|
|
23898 |
|
|
PR middle-end/35716
|
23899 |
|
|
* fold-const.c (fold_comparison): Restrict distinct decl
|
23900 |
|
|
comparison folding to VAR_DECLs and PARM_DECLs. Do not
|
23901 |
|
|
solely rely on operand_equal_p.
|
23902 |
|
|
|
23903 |
|
|
2008-03-27 Richard Guenther
|
23904 |
|
|
|
23905 |
|
|
PR c/32511
|
23906 |
|
|
* c-common.c (handle_weak_attribute): Reject combination of
|
23907 |
|
|
weak and inline.
|
23908 |
|
|
|
23909 |
|
|
2008-03-27 Richard Guenther
|
23910 |
|
|
|
23911 |
|
|
PR tree-optimization/32810
|
23912 |
|
|
* tree-ssa-ccp.c (get_symbol_constant_value): Strip useless
|
23913 |
|
|
conversions from DECL_INITIAL.
|
23914 |
|
|
(fold_const_aggregate_ref): Likewise from constructor elements.
|
23915 |
|
|
|
23916 |
|
|
2008-03-27 Zdenek Dvorak
|
23917 |
|
|
|
23918 |
|
|
* tree-affine.h (aff_combination_expand): Declare.
|
23919 |
|
|
(get_inner_reference_aff): Likewise.
|
23920 |
|
|
* tree-affine.c (aff_combination_expand): Split out from
|
23921 |
|
|
tree_to_aff_combination_expand.
|
23922 |
|
|
(get_inner_reference_aff): New function.
|
23923 |
|
|
* tree-parloops.c (loop_parallel_p): Free vectorizer info.
|
23924 |
|
|
* tree-ssa-loop-im.c: Include tree-affine.h and pointer-set.h.
|
23925 |
|
|
(struct lim_aux_data): sm_done field removed.
|
23926 |
|
|
(mem_ref_loc_p, mem_ref_locs_p): New types.
|
23927 |
|
|
(struct mem_ref): Added id, stored, accesses_in_loop,
|
23928 |
|
|
indep_loop, dep_loop, indep_ref, dep_ref fields.
|
23929 |
|
|
Removed is_stored, locs and next fields.
|
23930 |
|
|
(memory_accesses): New variable.
|
23931 |
|
|
(movement_possibility): Do not allow moving statements
|
23932 |
|
|
that store to memory.
|
23933 |
|
|
(outermost_indep_loop, simple_mem_ref_in_stmt, mem_ref_in_stmt):
|
23934 |
|
|
New functions.
|
23935 |
|
|
(determine_max_movement): For statements with memory references,
|
23936 |
|
|
find the outermost loop in that the reference is independent.
|
23937 |
|
|
(move_computations_stmt): Mark the virtual operands for renaming.
|
23938 |
|
|
(memref_free, mem_ref_alloc, mem_ref_locs_alloc, mark_ref_stored,
|
23939 |
|
|
gather_mem_refs_stmt, gather_mem_refs_in_loops, vtoe_hash, vtoe_eq,
|
23940 |
|
|
vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores,
|
23941 |
|
|
add_vop_ref_mapping, create_vop_ref_mapping_loop,
|
23942 |
|
|
create_vop_ref_mapping, analyze_memory_references,
|
23943 |
|
|
cannot_overlap_p, mem_refs_may_alias_p, rewrite_mem_ref_loc,
|
23944 |
|
|
get_all_locs_in_loop, ref_always_accessed_p,
|
23945 |
|
|
refs_independent_p, record_indep_loop, ref_indep_loop_p_1,
|
23946 |
|
|
ref_indep_loop_p, can_sm_ref_p, find_refs_for_sm,
|
23947 |
|
|
store_motion_loop, store_motion): New functions.
|
23948 |
|
|
(struct vop_to_refs_elt): New type.
|
23949 |
|
|
(record_mem_ref_loc, free_mem_ref_locs, rewrite_mem_refs,
|
23950 |
|
|
memref_hash, memref_eq, hoist_memory_references): Rewritten.
|
23951 |
|
|
(schedule_sm): Replaced by...
|
23952 |
|
|
(execute_sm): ... this.
|
23953 |
|
|
(determine_lsm_ref, hoist_memory_references,
|
23954 |
|
|
loop_suitable_for_sm, gather_mem_refs_stmt, gather_mem_refs,
|
23955 |
|
|
find_more_ref_vops, free_mem_ref, free_mem_refs,
|
23956 |
|
|
determine_lsm_loop, determine_lsm): Removed.
|
23957 |
|
|
(tree_ssa_lim_finalize): Free data structures used by store motion.
|
23958 |
|
|
(tree_ssa_lim): Call analyze_memory_references. Use
|
23959 |
|
|
store_motion instead of determine_lsm.
|
23960 |
|
|
|
23961 |
|
|
2008-03-27 Paolo Bonzini
|
23962 |
|
|
|
23963 |
|
|
* config.cc (m68hc11, m6811, m68hc12, m6812): Add usegas.h,
|
23964 |
|
|
rename tmake_file to m68hc11/t-m68hc11.
|
23965 |
|
|
(mcore): Set inhibit_libc to true.
|
23966 |
|
|
* config.host (alpha*-dec-*vms*): Set extra_programs.
|
23967 |
|
|
(interix3*): Don't use host_xmake_file.
|
23968 |
|
|
* configure.ac: Let config.gcc override inhibit_libc.
|
23969 |
|
|
* configure: Regenerate.
|
23970 |
|
|
|
23971 |
|
|
* config/alpha/x-vms (EXTRA_PROGRAMS): Remove.
|
23972 |
|
|
* config/t-openbsd-thread: Remove commented out lines.
|
23973 |
|
|
|
23974 |
|
|
* config/x-interix: Remove.
|
23975 |
|
|
|
23976 |
|
|
* config/m68hc11/t-m68hc11-gas: Rename to...
|
23977 |
|
|
* config/m68hc11/t-m68hc11: ... this. Remove T_CPPFLAGS.
|
23978 |
|
|
|
23979 |
|
|
* config/mcore/t-mcore: Remove T_CFLAGS.
|
23980 |
|
|
* config/mcore/t-mcore-pe: Likewise.
|
23981 |
|
|
|
23982 |
|
|
2008-03-27 Paolo Bonzini
|
23983 |
|
|
|
23984 |
|
|
* configure.ac: Replace custom __GNU_SOURCE test with
|
23985 |
|
|
AC_USE_SYSTEM_EXTENSIONS. Move it earlier.
|
23986 |
|
|
* aclocal.m4: Regenerate.
|
23987 |
|
|
* configure: Regenerate.
|
23988 |
|
|
* config.in: Regenerate.
|
23989 |
|
|
|
23990 |
|
|
2008-03-27 Richard Guenther
|
23991 |
|
|
|
23992 |
|
|
* fold-const.c (target.h): Include.
|
23993 |
|
|
(fold_comparison): Fold comparison of addresses of decls
|
23994 |
|
|
that bind locally or of constants. Consolidate address folding code.
|
23995 |
|
|
* tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
|
23996 |
|
|
results from fold_binary_to_constant.
|
23997 |
|
|
(compare_values_warnv): Likewise.
|
23998 |
|
|
|
23999 |
|
|
2008-03-27 Andrew Pinski
|
24000 |
|
|
|
24001 |
|
|
PR middle-end/35429
|
24002 |
|
|
* fold-const.c (fold_truthop): Check for integeral types when folding
|
24003 |
|
|
a == 0 && b == 0 and a != 0 || b != 0 .
|
24004 |
|
|
|
24005 |
|
|
2008-03-26 Eric Botcazou
|
24006 |
|
|
|
24007 |
|
|
* tree.c (get_unwidened): Remove code fiddling with COMPONENT_REF.
|
24008 |
|
|
|
24009 |
|
|
2008-03-26 Andreas Schwab
|
24010 |
|
|
|
24011 |
|
|
* doc/invoke.texi: Fix use of @item vs. @itemx.
|
24012 |
|
|
|
24013 |
|
|
2008-03-26 Tom Tromey
|
24014 |
|
|
|
24015 |
|
|
* Makefile.in (build/gensupport.o, build/print-rtl.o,
|
24016 |
|
|
build/read-rtl.o, build/rtl.o, build/gencondmd.o, build/genattr.o,
|
24017 |
|
|
build/genattrtab.o, build/genautomata.o, build/gencheck.o,
|
24018 |
|
|
build/gencodes.o, build/genconditions.o, build/genconfig.o,
|
24019 |
|
|
build/genconstants.o, build/genemit.o, build/genextract.o,
|
24020 |
|
|
build/genflags.o, build/genmddeps.o, build/genopinit.o,
|
24021 |
|
|
build/genoutput.o, build/genpeep.o, build/genrecog.o): Depend on
|
24022 |
|
|
options.h.
|
24023 |
|
|
|
24024 |
|
|
2008-03-26 Richard Guenther
|
24025 |
|
|
|
24026 |
|
|
Revert
|
24027 |
|
|
2008-03-26 Richard Guenther
|
24028 |
|
|
|
24029 |
|
|
* fold-const.c (target.h): Include.
|
24030 |
|
|
(fold_comparison): Fold comparison of addresses of two decls
|
24031 |
|
|
that bind locally. Consolidate address folding code.
|
24032 |
|
|
|
24033 |
|
|
2008-03-26 Kaveh R. Ghazi
|
24034 |
|
|
|
24035 |
|
|
* builtins.c (expand_builtin_pow, fold_builtin_cabs,
|
24036 |
|
|
fold_builtin_sqrt, fold_builtin_cbrt, fold_builtin_logarithm,
|
24037 |
|
|
fold_builtin_hypot, fold_builtin_pow): Remove uses of dconst3,
|
24038 |
|
|
dconstsqrt2, dconstthird, dconste and/or dconst10.
|
24039 |
|
|
* config/i386/i386.c (ix86_emit_swsqrtsf): Likewise.
|
24040 |
|
|
* emit-rtl.c (dconst3, dconst10, dconstm2, dconstthird,
|
24041 |
|
|
dconstsqrt2, dconste): Delete.
|
24042 |
|
|
(init_emit_once): Likewise. Simplify initializing dconstm1.
|
24043 |
|
|
Constify variable.
|
24044 |
|
|
* real.c (get_real_const): New.
|
24045 |
|
|
* real.h (dconst3, dconst10, dconstm2, dconstthird,
|
24046 |
|
|
dconstsqrt2, dconste): Delete.
|
24047 |
|
|
(real_value_const, get_real_const): New.
|
24048 |
|
|
|
24049 |
|
|
2008-03-26 H.J. Lu
|
24050 |
|
|
|
24051 |
|
|
* config/i386/cygming.h (BIGGEST_ALIGNMENT): Removed.
|
24052 |
|
|
|
24053 |
|
|
* config/i386/i386.c (ix86_function_arg_boundary): Check
|
24054 |
|
|
BIGGEST_ALIGNMENT instead of 128.
|
24055 |
|
|
(setup_incoming_varargs_64): Likewise.
|
24056 |
|
|
|
24057 |
|
|
2008-03-26 Tom Tromey
|
24058 |
|
|
|
24059 |
|
|
* Makefile.in (DEPFILES): Add missing '/'.
|
24060 |
|
|
|
24061 |
|
|
2008-03-26 Richard Guenther
|
24062 |
|
|
|
24063 |
|
|
* fold-const.c (target.h): Include.
|
24064 |
|
|
(fold_comparison): Fold comparison of addresses of two decls
|
24065 |
|
|
that bind locally. Consolidate address folding code.
|
24066 |
|
|
|
24067 |
|
|
2008-03-26 Nick Clifton
|
24068 |
|
|
|
24069 |
|
|
PR target/31232
|
24070 |
|
|
* config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
|
24071 |
|
|
not allow INT+INT as a legitimate addressing mode.
|
24072 |
|
|
|
24073 |
|
|
2008-03-26 Richard Guenther
|
24074 |
|
|
|
24075 |
|
|
* tree-flow.h (widen_bitfield): Remove declaration.
|
24076 |
|
|
* tree-ssa-ccp.c (visit_assignment): Remove unneeded code.
|
24077 |
|
|
(widen_bitfield): Remove function.
|
24078 |
|
|
* tree-ssa-dom.c (record_equivalences_from_stmt): Remove unneeded
|
24079 |
|
|
code.
|
24080 |
|
|
|
24081 |
|
|
2008-03-25 Andrew Pinski
|
24082 |
|
|
|
24083 |
|
|
PR target/31558
|
24084 |
|
|
* config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
|
24085 |
|
|
error_mark_node's.
|
24086 |
|
|
|
24087 |
|
|
2008-03-25 Richard Sandiford
|
24088 |
|
|
|
24089 |
|
|
PR rtl-optimization/35232
|
24090 |
|
|
* reload1.c (reg_reloaded_call_part_clobbered): Clarify comment.
|
24091 |
|
|
(forget_old_reloads_1, forget_marked_reloads): Don't clear
|
24092 |
|
|
reg_reloaded_call_part_clobbered here.
|
24093 |
|
|
(reload_regs_reach_end_p): New function.
|
24094 |
|
|
(reload_reg_rtx_for_input): New variable.
|
24095 |
|
|
(reload_reg_rtx_for_output): Likewise.
|
24096 |
|
|
(emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx
|
24097 |
|
|
when reassigning a pseudo register. Load reloadreg from
|
24098 |
|
|
reload_reg_rtx_for_input, moving the mode and register
|
24099 |
|
|
calculation to...
|
24100 |
|
|
(do_input_reload): ...here. Use the mode-adjusted reg_rtx
|
24101 |
|
|
instead of the original when deciding whether an input reload
|
24102 |
|
|
would be a no-op or whether an output reload can be deleted.
|
24103 |
|
|
(emit_output_reload_insns): Use the mode-adjusted reg_rtx
|
24104 |
|
|
when setting up new_spill_reg_store. Load it from
|
24105 |
|
|
reload_reg_rtx_for_output, moving the mode and register
|
24106 |
|
|
calculation to...
|
24107 |
|
|
(do_output_reload): ...here. Use the mode-adjusted reg_rtx
|
24108 |
|
|
instead of the original when deciding whether an output reload
|
24109 |
|
|
would be a no-op. Do the same when modifying insn notes.
|
24110 |
|
|
Use rtx_equal_p instead of == to compare the registers.
|
24111 |
|
|
(inherit_piecemeal_p): Take a mode and two register numbers
|
24112 |
|
|
as argument.
|
24113 |
|
|
(emit_reload_insns): Clear new_spill_reg_store for every hard
|
24114 |
|
|
register in the reload register. Remove spill registers
|
24115 |
|
|
from reg_reloaded_valid before considering whether to record
|
24116 |
|
|
inheritance information for them. Use reload_reg_rtx_for_output
|
24117 |
|
|
instead of reg_rtx when recording output reloads. Use
|
24118 |
|
|
reload_reg_rtx_for_input instead of reg_rtx when recording
|
24119 |
|
|
input reloads. Set or clear reg_reloaded_call_part_clobbered
|
24120 |
|
|
at the same time as setting reg_reloaded_valid.
|
24121 |
|
|
(delete_output_reload): Add a new_reload_reg parameter and use it
|
24122 |
|
|
instead of rld[j].reg_rtx.
|
24123 |
|
|
(emit_input_reload_insns, do_input_reload, do_output_reload): Adjust
|
24124 |
|
|
calls accordingly.
|
24125 |
|
|
|
24126 |
|
|
2008-03-25 Tom Tromey
|
24127 |
|
|
|
24128 |
|
|
* Makefile.in (build/gensupport.o): Depend on insn-modes.h.
|
24129 |
|
|
(build/genattr.o): Likewise.
|
24130 |
|
|
(build/genattrtab.o): Likewise.
|
24131 |
|
|
(build/gencodes.o): Likewise.
|
24132 |
|
|
(build/genconfig.o): Likewise.
|
24133 |
|
|
(build/genconstants.o): Likewise.
|
24134 |
|
|
(build/genemit.o): Likewise.
|
24135 |
|
|
(build/genextract.o): Likewise.
|
24136 |
|
|
(build/genflags.o): Likewise.
|
24137 |
|
|
|
24138 |
|
|
2008-03-25 Bob Wilson
|
24139 |
|
|
|
24140 |
|
|
* config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
|
24141 |
|
|
instead of size_int for integer types.
|
24142 |
|
|
(xtensa_gimplify_va_arg_expr): Likewise. Convert index to sizetype
|
24143 |
|
|
to match type of MINUS_EXPR.
|
24144 |
|
|
|
24145 |
|
|
2008-03-25 Tom Tromey
|
24146 |
|
|
|
24147 |
|
|
* configure: Rebuilt.
|
24148 |
|
|
* configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
|
24149 |
|
|
Makefile.
|
24150 |
|
|
|
24151 |
|
|
2008-03-25 Tom Tromey
|
24152 |
|
|
|
24153 |
|
|
* config/x-solaris (host-solaris.o): Update.
|
24154 |
|
|
* config/x-linux (host-linux.o): Update.
|
24155 |
|
|
* config/x-hpux (host-hpux.o): Update.
|
24156 |
|
|
* config/x-darwin (host-darwin.o): Update.
|
24157 |
|
|
* config/v850/t-v850e (v850-c.o): Update.
|
24158 |
|
|
* config/v850/t-v850 (v850-c.o): Update.
|
24159 |
|
|
* config/t-vxworks (vxworks.o): Update.
|
24160 |
|
|
* config/t-sol2 (sol2-c.o, sol2.o): Update.
|
24161 |
|
|
* config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o): Update.
|
24162 |
|
|
* config/spu/t-spu-elf (spu-c.o): Update.
|
24163 |
|
|
(spu.o): Remove.
|
24164 |
|
|
* config/sh/t-symbian (sh-c.o): Update.
|
24165 |
|
|
(symbian.o): Update.
|
24166 |
|
|
* config/sh/t-sh (sh-c.o): Update.
|
24167 |
|
|
* config/score/t-score-elf (score7.o, score3.o): Update.
|
24168 |
|
|
* config/rs6000/x-rs6000 (driver-rs6000.o): Update.
|
24169 |
|
|
* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update.
|
24170 |
|
|
* config/rs6000/x-darwin (host-ppc-darwin.o): Update.
|
24171 |
|
|
* config/rs6000/t-rs6000 (rs6000-c.o): Update.
|
24172 |
|
|
(rs6000.o): Remove.
|
24173 |
|
|
* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
|
24174 |
|
|
* config/m32c/t-m32c (m32c-pragma.o): Update.
|
24175 |
|
|
* config/ia64/t-ia64 (ia64-c.o): Update.
|
24176 |
|
|
* config/i386/x-mingw32 (host-mingw32.o): Update.
|
24177 |
|
|
* config/i386/x-i386 (driver-i386.o): Update.
|
24178 |
|
|
* config/i386/x-darwin (host-i386-darwin.o): Update.
|
24179 |
|
|
* config/i386/x-cygwin (host-cygwin.o): Update.
|
24180 |
|
|
* config/i386/t-nwld (nwld.o): Update.
|
24181 |
|
|
* config/i386/t-netware (netware.o): Update.
|
24182 |
|
|
* config/i386/t-interix (winnt.o): Update.
|
24183 |
|
|
* config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update.
|
24184 |
|
|
* config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o,
|
24185 |
|
|
msformat-c.o): Update.
|
24186 |
|
|
* config/bfin/t-bfin-linux (generated_files): Add
|
24187 |
|
|
linux-sysroot-suffix.h.
|
24188 |
|
|
* config/arm/t-wince-pe (pe.o): Update.
|
24189 |
|
|
* config/arm/t-strongarm-pe (pe.o): Update.
|
24190 |
|
|
* config/arm/t-pe (pe.o): Update.
|
24191 |
|
|
* config/arm/t-arm (arm-c.o): Update.
|
24192 |
|
|
* doc/install.texi (Prerequisites): Require make 3.80.
|
24193 |
|
|
* Makefile.in: Remove .o targets.
|
24194 |
|
|
(CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables.
|
24195 |
|
|
(OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove.
|
24196 |
|
|
(simple_generated_h, simple_generated_c): Move earlier.
|
24197 |
|
|
(generated_files): New variable.
|
24198 |
|
|
(TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H,
|
24199 |
|
|
TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H,
|
24200 |
|
|
BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H,
|
24201 |
|
|
ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H,
|
24202 |
|
|
REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H,
|
24203 |
|
|
CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H,
|
24204 |
|
|
CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H,
|
24205 |
|
|
INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H,
|
24206 |
|
|
PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H,
|
24207 |
|
|
TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H,
|
24208 |
|
|
DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H,
|
24209 |
|
|
VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove.
|
24210 |
|
|
(.c.o): Remove.
|
24211 |
|
|
(COMPILE.base, COMPILE): New variables.
|
24212 |
|
|
(%.o): New pattern rule.
|
24213 |
|
|
(ALL_HOST_OBJS): New variable.
|
24214 |
|
|
(xgcc$(exeext), cpp$(exeext)): Remove extra version.o.
|
24215 |
|
|
(dummy-checksum.o, cc1-checksum.o): Remove.
|
24216 |
|
|
(DRIVER_SHLIB): New variable.
|
24217 |
|
|
(DRIVER_DEFINES): Use it.
|
24218 |
|
|
(gencondmd.c): Move out of build/.
|
24219 |
|
|
(s-conditions): Update.
|
24220 |
|
|
(BUILDCOMPILE.base, BUILDCOMPILE): New variables.
|
24221 |
|
|
(ALL_BUILD_OBJS): Likewise.
|
24222 |
|
|
(build/%.o): Use BUILDCOMPILE.
|
24223 |
|
|
(build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o,
|
24224 |
|
|
build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o,
|
24225 |
|
|
build/gencondmd.o, build/genattrtab.o, build/genautomata.o,
|
24226 |
|
|
build/gencheck.o, build/gencodes.o, build/genconditions.o,
|
24227 |
|
|
build/genconfig.o, build/genconstants.o, build/genemit.o,
|
24228 |
|
|
build/genextract.o, build/genflags.o, build/genmddeps.o,
|
24229 |
|
|
build/genopinit.o, build/genoutput.o, build/genpeep.o,
|
24230 |
|
|
build/genpreds.o, build/genrecog.o, build/gcov-iov.o,
|
24231 |
|
|
build/gen-protos.o, build/scan.o, build/fix-header.o,
|
24232 |
|
|
build/scan-decls.o): Simplify.
|
24233 |
|
|
(collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o,
|
24234 |
|
|
cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o,
|
24235 |
|
|
prefix.o, toplev.o): Reduce to variable setting.
|
24236 |
|
|
(libbackend.o): Use COMPILE. Remove most dependencies. Move later.
|
24237 |
|
|
($(out_object_file), gcc-options.o): New targets.
|
24238 |
|
|
($(ALL_HOST_OBJS)): New target. Include dependency files.
|
24239 |
|
|
* configure: Rebuilt.
|
24240 |
|
|
* configure.ac: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES.
|
24241 |
|
|
* doc/sourcebuild.texi (Front End Directory): Document new variable.
|
24242 |
|
|
|
24243 |
|
|
2008-03-25 Douglas Gregor
|
24244 |
|
|
|
24245 |
|
|
* c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
|
24246 |
|
|
complain when we hit an error, return ERROR_MARK_NODE.
|
24247 |
|
|
|
24248 |
|
|
2008-03-25 Naveen.H.S
|
24249 |
|
|
|
24250 |
|
|
* config/sh/constraints.md (Pso, Psz): New constraints.
|
24251 |
|
|
* config/sh/sh.c (print_operand): Add %V and %W operand codes.
|
24252 |
|
|
* config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.
|
24253 |
|
|
|
24254 |
|
|
2008-03-25 Naveen.H.S
|
24255 |
|
|
|
24256 |
|
|
* config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
|
24257 |
|
|
* config/sh/sh.md (xorsi3_movrt, movrt): New insns.
|
24258 |
|
|
|
24259 |
|
|
2008-03-25 Naveen.H.S
|
24260 |
|
|
|
24261 |
|
|
* config/sh/sh.md (prefetch): Add condition for SH2A target.
|
24262 |
|
|
(prefetch_sh2a): New.
|
24263 |
|
|
|
24264 |
|
|
2008-03-25 Jayant Sonar
|
24265 |
|
|
Naveen.H.S
|
24266 |
|
|
|
24267 |
|
|
* config/sh/constraints.md (I28): New constraint.
|
24268 |
|
|
* config/sh/sh.c (broken_move): Add support for movi20s.
|
24269 |
|
|
* config/sh/sh.md (movsi_ie): Add the alternative for movi20s.
|
24270 |
|
|
|
24271 |
|
|
2008-03-25 Anil Paranjape
|
24272 |
|
|
Jayant Sonar
|
24273 |
|
|
Naveen.H.S
|
24274 |
|
|
|
24275 |
|
|
* config/sh/sh.c (SH_ATTRIBUTES): Define.
|
24276 |
|
|
(SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
|
24277 |
|
|
(print_operand): Handle resbank in %@ operand code.
|
24278 |
|
|
(sh_encode_section_info): New.
|
24279 |
|
|
(push_regs): Add conditions for resbank.
|
24280 |
|
|
(sh_expand_epilogue): Likewise.
|
24281 |
|
|
(sh_insert_attributes): Likewise.
|
24282 |
|
|
(sh_attribute_table): Likewise.
|
24283 |
|
|
(sh_handle_resbank_handler_attribute): New.
|
24284 |
|
|
(sh2a_handle_function_vector_handler_attribute): New.
|
24285 |
|
|
(sh2a_is_function_vector_call): New.
|
24286 |
|
|
(sh2a_get_function_vector_number): New.
|
24287 |
|
|
(sh2a_function_vector_p): New.
|
24288 |
|
|
(sh_cfun_resbank_handler_p): New.
|
24289 |
|
|
* config/sh/sh.md (calli): Emit jsr/n if possible.
|
24290 |
|
|
(calli_tbr_rel): New.
|
24291 |
|
|
(calli_pcrel): Emit jsr/n if possible.
|
24292 |
|
|
(return_i): Emit rts/n if possible.
|
24293 |
|
|
(call_valuei_tbr_rel): New.
|
24294 |
|
|
(call_valuei_pcrel): Add condition for SH2A target.
|
24295 |
|
|
(call_value): Likewise.
|
24296 |
|
|
* config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare.
|
24297 |
|
|
(sh2a_get_function_vector_number): Likewise.
|
24298 |
|
|
(sh2a_is_function_vector_call): Likewise.
|
24299 |
|
|
* doc/extend.texi: Document TBR relative addressing of SH2A.
|
24300 |
|
|
(resbank): Add description for SH2A.
|
24301 |
|
|
|
24302 |
|
|
2008-03-24 Richard Guenther
|
24303 |
|
|
|
24304 |
|
|
PR c/22371
|
24305 |
|
|
* gimplify.c (gimplify_modify_expr): For frontend type-correct
|
24306 |
|
|
pointer assignments change conversions according to middle-end rules.
|
24307 |
|
|
(gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL.
|
24308 |
|
|
* configure.ac: Include type checking in yes.
|
24309 |
|
|
* configure: Regenerate.
|
24310 |
|
|
|
24311 |
|
|
2008-03-24 Manuel Lopez-Ibanez
|
24312 |
|
|
|
24313 |
|
|
* diagnostic.c (diagnostic_count_diagnostic): Delete.
|
24314 |
|
|
(diagnostic_report_diagnostic): Update. Handle ICEs here.
|
24315 |
|
|
|
24316 |
|
|
2008-03-24 Nathan Sidwell
|
24317 |
|
|
|
24318 |
|
|
* gthr-vxworks.h (UNUSED): Define.
|
24319 |
|
|
|
24320 |
|
|
2008-03-23 H.J. Lu
|
24321 |
|
|
|
24322 |
|
|
* config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and CX_REG.
|
24323 |
|
|
|
24324 |
|
|
2008-03-23 Zuxy Meng
|
24325 |
|
|
|
24326 |
|
|
* doc/extend.texi (Function Attributes): Add missing comma in the
|
24327 |
|
|
example of the "alloc_size" attribute.
|
24328 |
|
|
|
24329 |
|
|
2008-03-23 Uros Bizjak
|
24330 |
|
|
|
24331 |
|
|
Revert:
|
24332 |
|
|
2008-03-05 H.J. Lu
|
24333 |
|
|
|
24334 |
|
|
* config/i386/i386-modes.def: Use 4 byte alignment on DI for
|
24335 |
|
|
32bit host.
|
24336 |
|
|
|
24337 |
|
|
2008-03-19 Uros Bizjak
|
24338 |
|
|
|
24339 |
|
|
PR target/35496
|
24340 |
|
|
* stor-layout.c (update_alignment_for_field): Set minimum alignment
|
24341 |
|
|
of the underlying type of a MS bitfield layout to the natural
|
24342 |
|
|
alignment of the type.
|
24343 |
|
|
|
24344 |
|
|
2008-03-22 Uros Bizjak
|
24345 |
|
|
|
24346 |
|
|
* config/i386/i386.c (assign_386_stack_local): Align DImode slots
|
24347 |
|
|
to their natural alignment to avoid store forwarding stalls.
|
24348 |
|
|
|
24349 |
|
|
2008-03-22 Richard Guenther
|
24350 |
|
|
|
24351 |
|
|
* tree-cfg.c (verify_expr): Recurse again for invariant addresses.
|
24352 |
|
|
For PHI nodes verify the address is invariant.
|
24353 |
|
|
* tree-ssa-ccp.c (ccp_decl_initial_min_invariant): Remove.
|
24354 |
|
|
(get_symbol_constant_value): Use is_gimple_min_invariant.
|
24355 |
|
|
(maybe_fold_stmt_indirect): Likewise.
|
24356 |
|
|
|
24357 |
|
|
2008-03-22 Richard Sandiford
|
24358 |
|
|
|
24359 |
|
|
PR rtl-optimization/33927
|
24360 |
|
|
* Makefile.in (dse.o): Depend on $(TM_P_H).
|
24361 |
|
|
* expr.h (extract_low_bits): Declare.
|
24362 |
|
|
* expmed.c (extract_low_bits): New function.
|
24363 |
|
|
* rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
|
24364 |
|
|
* dse.c: Include tm_p.h.
|
24365 |
|
|
(find_shift_sequence): Remove the read_reg argument and return the
|
24366 |
|
|
read value. Emit the instructions instead of returning them.
|
24367 |
|
|
Iterate on new_mode rather than calculating it each time.
|
24368 |
|
|
Check MODES_TIEABLE_P. Use simplify_gen_subreg to convert the
|
24369 |
|
|
source to NEW_MODE and extract_low_bits to convert the shifted
|
24370 |
|
|
value to READ_MODE.
|
24371 |
|
|
(replace_read): Allow the load and store to have different mode
|
24372 |
|
|
classes. Use extract_low_bits when SHIFT == 0. Create the shift
|
24373 |
|
|
or extraction instructions before trying the replacement. Update
|
24374 |
|
|
dump-file code accordingly, avoiding use of REGNO (store_info->rhs).
|
24375 |
|
|
|
24376 |
|
|
2008-03-22 Uros Bizjak
|
24377 |
|
|
|
24378 |
|
|
* config/i386/i386.c (assign_386_stack_local): Align DImode slots
|
24379 |
|
|
to their natural alignment to avoid store forwarding stalls.
|
24380 |
|
|
|
24381 |
|
|
2008-03-21 Andrew Pinski
|
24382 |
|
|
|
24383 |
|
|
PR target/27946
|
24384 |
|
|
* config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
|
24385 |
|
|
encouraging but not allowing gprs for input;
|
24386 |
|
|
change the input constraint to !f#r.
|
24387 |
|
|
(fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
|
24388 |
|
|
gprs for output;
|
24389 |
|
|
change the output constraint to !f#r.
|
24390 |
|
|
|
24391 |
|
|
2008-03-21 Uros Bizjak
|
24392 |
|
|
|
24393 |
|
|
PR target/13958
|
24394 |
|
|
* config/i386/i386.md ("*floatunssi_1"): New pattern with
|
24395 |
|
|
corresponding post-reload splitters.
|
24396 |
|
|
("floatunssi2"): Expand to unsigned_float x87 insn pattern
|
24397 |
|
|
when x87 FP math is selected.
|
24398 |
|
|
* config/i386/i386-protos.h (ix86_expand_convert_uns_sixf_sse):
|
24399 |
|
|
New function prototype.
|
24400 |
|
|
* config/i386/i386.c (ix86_expand_convert_uns_sixf_sse): New
|
24401 |
|
|
unreachable function to ease macroization of insn patterns.
|
24402 |
|
|
|
24403 |
|
|
2008-03-21 Martin Jambor
|
24404 |
|
|
|
24405 |
|
|
* tree-data-ref.c (dump_data_dependence_relation): Avoid data
|
24406 |
|
|
reference dumps if ddr is NULL or dependence is unknown.
|
24407 |
|
|
|
24408 |
|
|
2008-03-20 Kaz Kojima
|
24409 |
|
|
|
24410 |
|
|
* config/sh/linux-atomic.asm (ATOMIC_TEST_AND_SET): Take
|
24411 |
|
|
unsigned extension into account.
|
24412 |
|
|
(ATOMIC_COMPARE_AND_SWAP): Likewise.
|
24413 |
|
|
(ATOMIC_FETCH_AND_OP, ATOMIC_FETCH_AND_COMBOP): Likewise.
|
24414 |
|
|
Do computations on a scratch register.
|
24415 |
|
|
|
24416 |
|
|
2008-03-21 Richard Guenther
|
24417 |
|
|
|
24418 |
|
|
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
|
24419 |
|
|
Use is_gimple_min_invariant instead of TREE_INVARIANT.
|
24420 |
|
|
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
|
24421 |
|
|
* tree-ssa-dom.c (record_equality): Likewise.
|
24422 |
|
|
* tree-inline.c (copy_body_r): Likewise.
|
24423 |
|
|
* tree-ssa-pre.c (make_values_for_stmt): Remove test for
|
24424 |
|
|
TREE_INVARIANT.
|
24425 |
|
|
|
24426 |
|
|
2008-03-20 Kaz Kojima
|
24427 |
|
|
|
24428 |
|
|
* config/sh/sh.c (split_branches): Pass zero to redirect_jump
|
24429 |
|
|
as 'delete_unused' argument.
|
24430 |
|
|
|
24431 |
|
|
2008-03-20 Richard Guenther
|
24432 |
|
|
|
24433 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
|
24434 |
|
|
special casing of constant qualifiers.
|
24435 |
|
|
* tree-ssa.c (useless_type_conversion_p_1): Instead do not
|
24436 |
|
|
care about them in general.
|
24437 |
|
|
* tree-ssa-ccp.c (ccp_fold): Addresses are constant or not
|
24438 |
|
|
regardless of their type.
|
24439 |
|
|
(fold_stmt_r): Forcefully fold *& if we end up with that.
|
24440 |
|
|
|
24441 |
|
|
2008-03-20 Paul Brook
|
24442 |
|
|
|
24443 |
|
|
* config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h.
|
24444 |
|
|
* config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra
|
24445 |
|
|
linker flags.
|
24446 |
|
|
* config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default
|
24447 |
|
|
definition.
|
24448 |
|
|
(LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC.
|
24449 |
|
|
* config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux.
|
24450 |
|
|
|
24451 |
|
|
2008-03-20 Volker Reichelt
|
24452 |
|
|
|
24453 |
|
|
* common.opt (Wmudflap): New option.
|
24454 |
|
|
* tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
|
24455 |
|
|
(mx_register_decls): Likewise.
|
24456 |
|
|
(mudflap_finish_file): Likewise.
|
24457 |
|
|
* doc/invoke.texi: Document -Wno-mudflap.
|
24458 |
|
|
|
24459 |
|
|
2008-03-20 Kai Tietz
|
24460 |
|
|
|
24461 |
|
|
* c-format.c (replace_format_name_to_system_name): New.
|
24462 |
|
|
(cmp_attribs): New.
|
24463 |
|
|
(convert_format_name_to_system_name): New.
|
24464 |
|
|
(decode_format_attr): Add use of convert_format_name_to_system_name.
|
24465 |
|
|
(format_types_orig): Add gnu_ prefix to names.
|
24466 |
|
|
(check_format_info_main): Special treating of \0 escaped names for
|
24467 |
|
|
supporting multi-character format specifiers as I32, I64.
|
24468 |
|
|
(TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes.
|
24469 |
|
|
(gnu_target_overrides_format_attributes): New.
|
24470 |
|
|
* c-format.h: Add structure target_ovr_attr to hold
|
24471 |
|
|
system specific formatter names.
|
24472 |
|
|
* config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the
|
24473 |
|
|
msformat-c.o file to c_target_objs and cxx_target_objs.
|
24474 |
|
|
* config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
|
24475 |
|
|
(TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
|
24476 |
|
|
(TARGET_N_FORMAT_TYPES): New.
|
24477 |
|
|
* config/i386/msformat-c.c: New.
|
24478 |
|
|
* config/i386/t-cygming: Add build rule for msformat-c.o.
|
24479 |
|
|
* doc/extend.texi: Add new format names gnu_* and ms_* and
|
24480 |
|
|
further details.
|
24481 |
|
|
* doc/tm.texi (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
|
24482 |
|
|
|
24483 |
|
|
2008-03-20 Ira Rosen
|
24484 |
|
|
|
24485 |
|
|
* doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
|
24486 |
|
|
optimizations turned on under -O3.
|
24487 |
|
|
(ftree-vectorize): Add that the flag is turned on with -O3.
|
24488 |
|
|
|
24489 |
|
|
2008-03-20 Ben Elliston
|
24490 |
|
|
|
24491 |
|
|
* regmove.c (try_auto_increment): Fix spelling error in comment.
|
24492 |
|
|
* final.c (final_scan_insn): Likewise.
|
24493 |
|
|
|
24494 |
|
|
2008-03-20 Uros Bizjak
|
24495 |
|
|
|
24496 |
|
|
PR target/14552
|
24497 |
|
|
* config/i386/mmx.md (*mov_internal_rex64"): Adjust register
|
24498 |
|
|
allocator preferences for "y" and "r" class registers.
|
24499 |
|
|
("*mov_internal"): Ditto.
|
24500 |
|
|
("*movv2sf_internal_rex64"): Ditto.
|
24501 |
|
|
("*movv2sf_internal"): Ditto.
|
24502 |
|
|
|
24503 |
|
|
2008-03-19 Michael Matz
|
24504 |
|
|
|
24505 |
|
|
PR middle-end/35616
|
24506 |
|
|
* calls.c (expand_call): Check overlap of arguments with call
|
24507 |
|
|
address for sibcalls.
|
24508 |
|
|
|
24509 |
|
|
2008-03-19 Uros Bizjak
|
24510 |
|
|
|
24511 |
|
|
PR target/35496
|
24512 |
|
|
* stor-layout.c (update_alignment_for_field): Set minimum alignment
|
24513 |
|
|
of the underlying type of a MS bitfield layout to the natural
|
24514 |
|
|
alignment of the type.
|
24515 |
|
|
|
24516 |
|
|
2008-03-19 Jan Hubicka
|
24517 |
|
|
|
24518 |
|
|
PR other/35094
|
24519 |
|
|
* toplev.c (decode_d_option): Handle all CPP flags.
|
24520 |
|
|
* tree-vrp.c: Update tree_pass descriptors.
|
24521 |
|
|
* regrename.c: Update tree_pass descriptors.
|
24522 |
|
|
* fwprop.c: Update tree_pass descriptors.
|
24523 |
|
|
* doc/invoke.texi: Remove documentation of dropped -d? flags.
|
24524 |
|
|
* tree-into-ssa.c: Update tree_pass descriptors.
|
24525 |
|
|
* tree-dump.c: Update tree_pass descriptors.
|
24526 |
|
|
* tree-complex.c: Update tree_pass descriptors.
|
24527 |
|
|
* tree-dump.h: Update tree_pass descriptors.
|
24528 |
|
|
* see.c: Update tree_pass descriptors.
|
24529 |
|
|
* cgraphbuild.c: Update tree_pass descriptors.
|
24530 |
|
|
* tracer.c: Update tree_pass descriptors.
|
24531 |
|
|
* tree-loop-distribution.c: Update tree_pass descriptors.
|
24532 |
|
|
* cgraph.c: Update tree_pass descriptors.
|
24533 |
|
|
* postreload-gcse.c: Update tree_pass descriptors.
|
24534 |
|
|
* postreload.c: Update tree_pass descriptors.
|
24535 |
|
|
* tree-ssa-loop-ch.c: Update tree_pass descriptors.
|
24536 |
|
|
* tree-tailcall.c: Update tree_pass descriptors.
|
24537 |
|
|
* tree-pass.h (tree_opt_pass): Rename to ...
|
24538 |
|
|
(opt_pass) ... this one; add "type" field and remove letter field.
|
24539 |
|
|
(gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
|
24540 |
|
|
(execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
|
24541 |
|
|
all_lowering_passes): Update declaration.
|
24542 |
|
|
* ipa-cp.c: Update tree_pass descriptors.
|
24543 |
|
|
* final.c: Update tree_pass descriptors.
|
24544 |
|
|
* omp-low.c: Update tree_pass descriptors.
|
24545 |
|
|
* tree-ssa-dse.c: Update tree_pass descriptors.
|
24546 |
|
|
* ipa-reference.c: Update tree_pass descriptors.
|
24547 |
|
|
* tree-ssa-uncprop.c: Update tree_pass descriptors.
|
24548 |
|
|
* auto-inc-dec.c: Update tree_pass descriptors.
|
24549 |
|
|
* reorg.c: Update tree_pass descriptors.
|
24550 |
|
|
* cgraphunit.c: Update tree_pass descriptors.
|
24551 |
|
|
* tree-ssa-copyrename.c: Update tree_pass descriptors.
|
24552 |
|
|
* tree-ssa-ccp.c: Update tree_pass descriptors.
|
24553 |
|
|
* df-core.c: Update tree_pass descriptors.
|
24554 |
|
|
* mode-switching.c: Update tree_pass descriptors.
|
24555 |
|
|
* tree-nomudflap.c: Update tree_pass descriptors.
|
24556 |
|
|
* modulo-sched.c: Update tree_pass descriptors.
|
24557 |
|
|
* ipa-pure-const.c: Update tree_pass descriptors.
|
24558 |
|
|
* cse.c: Update tree_pass descriptors.
|
24559 |
|
|
* web.c: Update tree_pass descriptors.
|
24560 |
|
|
* tree-stdarg.c: Update tree_pass descriptors.
|
24561 |
|
|
* tree-ssa-math-opts.c: Update tree_pass descriptors.
|
24562 |
|
|
* tree-ssa-dom.c: Update tree_pass descriptors.
|
24563 |
|
|
* tree-nrv.c: Update tree_pass descriptors.
|
24564 |
|
|
* tree-ssa-alias.c: Update tree_pass descriptors.
|
24565 |
|
|
* loop-init.c: Update tree_pass descriptors.
|
24566 |
|
|
* gimple-low.c: Update tree_pass descriptors.
|
24567 |
|
|
* ipa-inline.c: Update tree_pass descriptors.
|
24568 |
|
|
* tree-ssa-sink.c: Update tree_pass descriptors.
|
24569 |
|
|
* global.c: Update tree_pass descriptors.
|
24570 |
|
|
* ifcvt.c: Update tree_pass descriptors.
|
24571 |
|
|
* jump.c: Update tree_pass descriptors.
|
24572 |
|
|
* predict.c: Update tree_pass descriptors.
|
24573 |
|
|
* tree-ssa-loop.c: Update tree_pass descriptors.
|
24574 |
|
|
* recog.c: Update tree_pass descriptors.
|
24575 |
|
|
* dse.c: Update tree_pass descriptors.
|
24576 |
|
|
* tree-ssa-ifcombine.c: Update tree_pass descriptors.
|
24577 |
|
|
* tree-eh.c: Update tree_pass descriptors.
|
24578 |
|
|
* regmove.c: Update tree_pass descriptors.
|
24579 |
|
|
* local-alloc.c
|
24580 |
|
|
* function.c: Update tree_pass descriptors.
|
24581 |
|
|
* tree-vectorizer.c: Update tree_pass descriptors.
|
24582 |
|
|
* gcse.c: Update tree_pass descriptors.
|
24583 |
|
|
* ipa-type-escape.c: Update tree_pass descriptors.
|
24584 |
|
|
* tree-if-conv.c: Update tree_pass descriptors.
|
24585 |
|
|
* init-regs.c: Update tree_pass descriptors.
|
24586 |
|
|
* ipa.c: Update tree_pass descriptors.
|
24587 |
|
|
* tree-ssa-phiopt.c: Update tree_pass descriptors.
|
24588 |
|
|
* rtl-factoring.c: Update tree_pass descriptors.
|
24589 |
|
|
* lower-subreg.c: Update tree_pass descriptors.
|
24590 |
|
|
* bt-load.c: Update tree_pass descriptors.
|
24591 |
|
|
* tree-dfa.c: Update tree_pass descriptors.
|
24592 |
|
|
* except.c: Update tree_pass descriptors.
|
24593 |
|
|
* emit-rtl.c: Update tree_pass descriptors.
|
24594 |
|
|
* cfgexpand.c: Update tree_pass descriptors.
|
24595 |
|
|
* tree-cfgcleanup.c: Update tree_pass descriptors.
|
24596 |
|
|
* cfgcleanup.c: Update tree_pass descriptors.
|
24597 |
|
|
* tree-ssa-pre.c: Update tree_pass descriptors.
|
24598 |
|
|
* tree-sra.c: Update tree_pass descriptors.
|
24599 |
|
|
* tree-mudflap.c: Update tree_pass descriptors.
|
24600 |
|
|
* tree-ssa-copy.c: Update tree_pass descriptors.
|
24601 |
|
|
* cfglayout.c: Update tree_pass descriptors.
|
24602 |
|
|
* tree-ssa-forwprop.c: Update tree_pass descriptors.
|
24603 |
|
|
* tree-ssa-dce.c: Update tree_pass descriptors.
|
24604 |
|
|
* tree-ssa.c: Update tree_pass descriptors.
|
24605 |
|
|
* regclass.c: Update tree_pass descriptors.
|
24606 |
|
|
* integrate.c: Update tree_pass descriptors.
|
24607 |
|
|
* tree-optimize.c: Update tree_pass descriptors.
|
24608 |
|
|
* tree-ssa-phiprop.c: Update tree_pass descriptors.
|
24609 |
|
|
* tree-object-size.c: Update tree_pass descriptors.
|
24610 |
|
|
* combine.c: Update tree_pass descriptors.
|
24611 |
|
|
* tree-outof-ssa.c: Update tree_pass descriptors.
|
24612 |
|
|
* bb-reorder.c: Update tree_pass descriptors.
|
24613 |
|
|
* stack-ptr-mod.c: Update tree_pass descriptors.
|
24614 |
|
|
* var-tracking.c: Update tree_pass descriptors.
|
24615 |
|
|
* tree-profile.c: Update tree_pass descriptors.
|
24616 |
|
|
* tree-vect-generic.c: Update tree_pass descriptors.
|
24617 |
|
|
* reg-stack.c: Update tree_pass descriptors.
|
24618 |
|
|
* sched-rgn.c: Update tree_pass descriptors.
|
24619 |
|
|
* tree-ssa-structalias.c: Update tree_pass descriptors.
|
24620 |
|
|
* tree-cfg.c: Update tree_pass descriptors.
|
24621 |
|
|
* passes.c (current_pass): Update declaration.
|
24622 |
|
|
(finish_optimization_passes): Update.
|
24623 |
|
|
(all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
|
24624 |
|
|
(register_one_dump_file, register_dump_files_1, next_pass_1):
|
24625 |
|
|
Update arguments.
|
24626 |
|
|
(init_optimization_passes): Update handling of new types.
|
24627 |
|
|
(execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
|
24628 |
|
|
* ipa-struct-reorg.c: Update tree_pass descriptors.
|
24629 |
|
|
* tree-ssa-reassoc.c: Update tree_pass descriptors.
|
24630 |
|
|
* combine-stack-adj.c: Update tree_pass descriptors.
|
24631 |
|
|
* cfgrtl.c: Update tree_pass descriptors.
|
24632 |
|
|
* dce.c: Update tree_pass descriptors.
|
24633 |
|
|
* tree-ssanames.c: Update tree_pass descriptors.
|
24634 |
|
|
|
24635 |
|
|
2008-03-19 Richard Guenther
|
24636 |
|
|
|
24637 |
|
|
PR middle-end/35609
|
24638 |
|
|
* tree-ssa.c (walk_data): New structure.
|
24639 |
|
|
(warn_uninitialized_var): If not always_executed warn with "maybe"
|
24640 |
|
|
instead of "is".
|
24641 |
|
|
(execute_early_warn_uninitialized): Compute post-dominators.
|
24642 |
|
|
Initialize always_executed before processing each basic block.
|
24643 |
|
|
|
24644 |
|
|
2008-03-18 Mikulas Patocka
|
24645 |
|
|
|
24646 |
|
|
PR target/35504
|
24647 |
|
|
* config/i386/i386.c (x86_this_parameter): Calculate correct location
|
24648 |
|
|
of "this" pointer when "regparm = N" or "fastcall" is in effect.
|
24649 |
|
|
|
24650 |
|
|
2008-03-18 Ralf Wildenhues
|
24651 |
|
|
|
24652 |
|
|
* doc/include/texinfo.tex: Update to version 2008-03-17.10.
|
24653 |
|
|
|
24654 |
|
|
2008-03-18 Paolo Bonzini
|
24655 |
|
|
|
24656 |
|
|
* expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
|
24657 |
|
|
is true.
|
24658 |
|
|
(expand_expr_real_1) : Don't look at ignore.
|
24659 |
|
|
(expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
|
24660 |
|
|
is true. Add "&& !ignore" condition to reduce_bit_field. Modify
|
24661 |
|
|
target after ignore has been set, and move there also the commputation
|
24662 |
|
|
of subtarget and original_target.
|
24663 |
|
|
* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
|
24664 |
|
|
(LANG_HOOKS_INITIALIZER): Remove it.
|
24665 |
|
|
* langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
|
24666 |
|
|
|
24667 |
|
|
2008-03-18 Richard Guenther
|
24668 |
|
|
|
24669 |
|
|
* tree-ssa-sccvn.c (visit_reference_op_load): If the lookup
|
24670 |
|
|
found an expression with constants, note that in the VN for the lhs.
|
24671 |
|
|
* tree-ssa-pre.c (eliminate): Visit COND_EXPR statements and
|
24672 |
|
|
fold them to constants if possible. Run cleanup_cfg if done so.
|
24673 |
|
|
(execute_pre): Return todo.
|
24674 |
|
|
(do_pre): Likewise.
|
24675 |
|
|
(execute_fre): Likewise.
|
24676 |
|
|
* tree-ssa-forwprop.c (can_propagate_from): Allow propagation
|
24677 |
|
|
of constants.
|
24678 |
|
|
(get_prop_source_stmt): Look through pointer conversions.
|
24679 |
|
|
|
24680 |
|
|
2008-03-18 Jan Hubicka
|
24681 |
|
|
|
24682 |
|
|
* tree-pretty-print.c: Include predict.h.
|
24683 |
|
|
(dump_generic_node): Dump predictor.
|
24684 |
|
|
* tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
|
24685 |
|
|
* tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
|
24686 |
|
|
* gimple-low.c (lower_stmt): Likewise.
|
24687 |
|
|
* expr.c (expand_expr_real): Likewise.
|
24688 |
|
|
* predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
|
24689 |
|
|
them.
|
24690 |
|
|
(build_predict_expr, build_predict_expr): New.
|
24691 |
|
|
* predict.h (predictor_name, build_predict_expr): Update.
|
24692 |
|
|
* c-typeck.c (c_finish_bc_stmt): Add prediction.
|
24693 |
|
|
* gimplify.c (gimplify_expr): Add PREDICT_EXPR.
|
24694 |
|
|
* predict.def (PRED_CONTINUE): Update hitrate.
|
24695 |
|
|
* tree.def (PREDICT_EXPR): Define.
|
24696 |
|
|
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
|
24697 |
|
|
do not handle BIND_EXPR.
|
24698 |
|
|
* tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
|
24699 |
|
|
* tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
|
24700 |
|
|
* tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
|
24701 |
|
|
operands.
|
24702 |
|
|
|
24703 |
|
|
2008-03-18 Michael Matz
|
24704 |
|
|
|
24705 |
|
|
* gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
|
24706 |
|
|
|
24707 |
|
|
2008-03-18 Richard Guenther
|
24708 |
|
|
|
24709 |
|
|
* tree-gimple.h (is_gimple_invariant_address): Declare.
|
24710 |
|
|
(is_gimple_constant): Likewise.
|
24711 |
|
|
* tree-gimple.c (is_gimple_constant): New function.
|
24712 |
|
|
(is_gimple_invariant_address): Likewise.
|
24713 |
|
|
(is_gimple_min_invariant): Implement in terms of is_gimple_constant
|
24714 |
|
|
and is_gimple_invariant_address.
|
24715 |
|
|
* tree-ssa-loop-niter.c (expand_simple_operations): Revert
|
24716 |
|
|
previous change.
|
24717 |
|
|
* tree-data-ref.c (get_references_in_stmt): A SSA_NAME is not
|
24718 |
|
|
an addressable base.
|
24719 |
|
|
|
24720 |
|
|
2008-03-18 Jakub Jelinek
|
24721 |
|
|
|
24722 |
|
|
PR middle-end/35611
|
24723 |
|
|
* gimplify.c (gimplify_expr): Gimplify second operand of
|
24724 |
|
|
OMP_ATOMIC_LOAD.
|
24725 |
|
|
|
24726 |
|
|
2008-03-17 Richard Guenther
|
24727 |
|
|
|
24728 |
|
|
PR tree-optimization/19637
|
24729 |
|
|
* fold-const.c (fold_unary): Remove restrictions of removing
|
24730 |
|
|
intermediate pointer-conversions (P2)(P1)P0.
|
24731 |
|
|
* tree-ssa-ccp.c (maybe_fold_stmt_addition): Recover from
|
24732 |
|
|
conversion to void pointer.
|
24733 |
|
|
(get_maxval_strlen): Handle addresses of the form &(*p)[0].
|
24734 |
|
|
|
24735 |
|
|
2008-03-16 James E. Wilson
|
24736 |
|
|
|
24737 |
|
|
PR debug/31510
|
24738 |
|
|
* dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
|
24739 |
|
|
emulated thread local variables.
|
24740 |
|
|
|
24741 |
|
|
2008-03-16 Richard Guenther
|
24742 |
|
|
|
24743 |
|
|
PR middle-end/35607
|
24744 |
|
|
* tree-ssa-loop-niter.c (expand_simple_operations): Do not
|
24745 |
|
|
expand TREE_INVARIANT operations that are not gimple invariant.
|
24746 |
|
|
|
24747 |
|
|
2008-03-16 Hans-Peter Nilsson
|
24748 |
|
|
|
24749 |
|
|
* doc/extend.texi (Alignment): Say that the ABI controls
|
24750 |
|
|
the __alignof__ for non-strict-alignment targets rather
|
24751 |
|
|
than being a recommendation.
|
24752 |
|
|
|
24753 |
|
|
2008-03-15 Paul Brook
|
24754 |
|
|
|
24755 |
|
|
* config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
|
24756 |
|
|
annotations.
|
24757 |
|
|
(arm_output_fn_unwind): Mark functions that can not be unwound.
|
24758 |
|
|
|
24759 |
|
|
2008-03-15 Paul Brook
|
24760 |
|
|
|
24761 |
|
|
* config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
|
24762 |
|
|
extension instructions.
|
24763 |
|
|
|
24764 |
|
|
2008-03-15 Richard Guenther
|
24765 |
|
|
|
24766 |
|
|
* tree-ssa-ccp.c (ccp_fold): Also read from constant values
|
24767 |
|
|
and fold constant aggregate refs.
|
24768 |
|
|
(fold_const_aggregate_ref): Handle string constants
|
24769 |
|
|
and constructors in ARRAY_REFs. Handle INDIRECT_REF.
|
24770 |
|
|
(evaluate_stmt): Simplify now that ccp_fold folds constant
|
24771 |
|
|
aggregate refs.
|
24772 |
|
|
|
24773 |
|
|
2008-03-15 Paul Brook
|
24774 |
|
|
|
24775 |
|
|
* config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
|
24776 |
|
|
(extzv): Use gen_extzv_t2.
|
24777 |
|
|
(insv_t2, insv_zero, extv, extzv_t2): New patterns.
|
24778 |
|
|
|
24779 |
|
|
2008-03-15 Richard Guenther
|
24780 |
|
|
|
24781 |
|
|
* tree-ssa-ccp.c (get_symbol_constant_value): Export.
|
24782 |
|
|
(fold_const_aggregate_ref): Likewise.
|
24783 |
|
|
(get_value): Return NULL if we don't have any values.
|
24784 |
|
|
(ccp_finalize): Set const_val to NULL after freeing it.
|
24785 |
|
|
* tree-flow.h (get_symbol_constant_value): Declare.
|
24786 |
|
|
(fold_const_aggregate_ref): Likewise.
|
24787 |
|
|
* tree-ssa-sccvn.c (try_to_simplify): Use them.
|
24788 |
|
|
|
24789 |
|
|
2008-03-15 Richard Guenther
|
24790 |
|
|
|
24791 |
|
|
PR middle-end/35593
|
24792 |
|
|
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
|
24793 |
|
|
to not produce negative array indices if not allowed. Add
|
24794 |
|
|
parameter to indicate that.
|
24795 |
|
|
(maybe_fold_offset_to_component_ref): Allow negative array
|
24796 |
|
|
indices only for the first member of a structure.
|
24797 |
|
|
(maybe_fold_offset_to_reference): Allow negative array indices.
|
24798 |
|
|
(maybe_fold_stmt_addition): Likewise.
|
24799 |
|
|
|
24800 |
|
|
2008-03-15 Bjoern Haase
|
24801 |
|
|
Anatoly Sokolov
|
24802 |
|
|
|
24803 |
|
|
* config/avr/avr.c (avr_arch_types): Add avr6 entry.
|
24804 |
|
|
(avr_arch): Add ARCH_AVR6.
|
24805 |
|
|
(avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
|
24806 |
|
|
(initial_elimination_offset): Initialize and use 'avr_pc_size'
|
24807 |
|
|
instead of fixed value 2.
|
24808 |
|
|
(print_operand_address): Use gs() asm specifier instead of pm().
|
24809 |
|
|
(avr_assemble_integer): (Ditto.).
|
24810 |
|
|
(avr_output_addr_vec_elt): (Ditto.).
|
24811 |
|
|
(print_operand): Handle "!" code.
|
24812 |
|
|
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add
|
24813 |
|
|
__AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
|
24814 |
|
|
(AVR_HAVE_EIJMP_EICALL): Define.
|
24815 |
|
|
(AVR_3_BYTE_PC): Redefine.
|
24816 |
|
|
(AVR_2_BYTE_PC): (Ditto.).
|
24817 |
|
|
(PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
|
24818 |
|
|
(LINK_SPEC): Add atmega2560 and atmega2561.
|
24819 |
|
|
(CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561
|
24820 |
|
|
(crtm2561.o).
|
24821 |
|
|
* config/avr/avr.md (call_insn): Use eicall instead of icall
|
24822 |
|
|
for 3 byte PC devices.
|
24823 |
|
|
(call_value_insn): (Ditto.).
|
24824 |
|
|
(*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
|
24825 |
|
|
(indirect_jump): Use only for for 2 byte PC devices.
|
24826 |
|
|
(*tablejump): (Ditto.).
|
24827 |
|
|
(*indirect_jump_avr6): Add insn.
|
24828 |
|
|
(*tablejump_rjmp): Don't use for 3 byte PC devices.
|
24829 |
|
|
* config/avr/libgcc.S (__prologue_saves__): Use eijmp
|
24830 |
|
|
instead of ijmp for 3 byte PC devices.
|
24831 |
|
|
(__tablejump2__): (Ditto.).
|
24832 |
|
|
* config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
|
24833 |
|
|
(MULITLIB_DIRNAMES): (Ditto.).
|
24834 |
|
|
(MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
|
24835 |
|
|
|
24836 |
|
|
2008-03-15 Uros Bizjak
|
24837 |
|
|
|
24838 |
|
|
* config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
|
24839 |
|
|
"sse2_umulsidi3". Use V1DI mode for operand 0.
|
24840 |
|
|
("mmx_psadbw"): Use V1DI mode for operand 0.
|
24841 |
|
|
* config/i386/i386-modes.def (V1SI): New vector mode.
|
24842 |
|
|
* config/i386/i386.c (struct builtin_description)
|
24843 |
|
|
[IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
|
24844 |
|
|
(v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
|
24845 |
|
|
(v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
|
24846 |
|
|
(ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
|
24847 |
|
|
v1di_ftype_v8qi_v8qi type.
|
24848 |
|
|
[__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
|
24849 |
|
|
|
24850 |
|
|
* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psadbw,
|
24851 |
|
|
__builtin_ia32_pmuludq]: Fix the mode of return value.
|
24852 |
|
|
|
24853 |
|
|
2008-03-15 Richard Guenther
|
24854 |
|
|
|
24855 |
|
|
PR middle-end/35595
|
24856 |
|
|
* tree-ssa-pre.c (bitmap_find_leader): Handle expression
|
24857 |
|
|
being a PHI_NODE.
|
24858 |
|
|
|
24859 |
|
|
2008-03-14 Bob Wilson
|
24860 |
|
|
|
24861 |
|
|
* doc/invoke.texi (Option Summary, Xtensa Options): Document
|
24862 |
|
|
-mserialize-volatile and -mno-serialize-volatile Xtensa options.
|
24863 |
|
|
* config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
|
24864 |
|
|
unless TARGET_SERIALIZE_VOLATILE is enabled.
|
24865 |
|
|
* config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
|
24866 |
|
|
* config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
|
24867 |
|
|
* config/xtensa/xtensa.opt (mserialize_volatile): New option.
|
24868 |
|
|
|
24869 |
|
|
2008-03-14 Richard Guenther
|
24870 |
|
|
|
24871 |
|
|
PR tree-optimization/34172
|
24872 |
|
|
* tree-flow.h (refs_may_alias_p): Declare.
|
24873 |
|
|
(get_single_def_stmt): Likewise.
|
24874 |
|
|
(get_single_def_stmt_from_phi): Likewise.
|
24875 |
|
|
(get_single_def_stmt_with_phi): Likewise.
|
24876 |
|
|
* tree-dfa.c (refs_may_alias_p): New function.
|
24877 |
|
|
(get_single_def_stmt): Likewise.
|
24878 |
|
|
(get_single_def_stmt_from_phi): Likewise.
|
24879 |
|
|
(get_single_def_stmt_with_phi): Likewise.
|
24880 |
|
|
* tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
|
24881 |
|
|
(vn_reference_lookup_1): New helper function.
|
24882 |
|
|
(vn_reference_lookup): Walk the virtual use-def chain to
|
24883 |
|
|
continue searching for a match if the def does not alias the
|
24884 |
|
|
reference we are looking for.
|
24885 |
|
|
|
24886 |
|
|
2008-03-14 David Edelsohn
|
24887 |
|
|
|
24888 |
|
|
* doc/install.texi (Binaries): Remove UCLA archive. Add HVCC
|
24889 |
|
|
archive and Perzl. Update The Written Word listing.
|
24890 |
|
|
|
24891 |
|
|
2008-03-14 Richard Guenther
|
24892 |
|
|
|
24893 |
|
|
PR tree-optimization/34043
|
24894 |
|
|
PR tree-optimization/33989
|
24895 |
|
|
* tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
|
24896 |
|
|
when doing FRE.
|
24897 |
|
|
(bitmap_find_leader): Use extra argument to verify dominance
|
24898 |
|
|
relationship inside a basic-block.
|
24899 |
|
|
(can_PRE_operation): Add VIEW_CONVERT_EXPR.
|
24900 |
|
|
(find_leader_in_sets): Adjust.
|
24901 |
|
|
(create_component_ref_by_pieces): Take extra argument for
|
24902 |
|
|
dominance check, handle lookup failures.
|
24903 |
|
|
(find_or_generate_expression): Likewise.
|
24904 |
|
|
(create_expression_by_pieces): Likewise.
|
24905 |
|
|
(insert_into_preds_of_block): Adjust.
|
24906 |
|
|
(create_value_expr_from): If asked for, verify all operands
|
24907 |
|
|
are in the blocks AVAIL_OUT set.
|
24908 |
|
|
(make_values_for_stmt): Check for SSA_NAMEs that are life
|
24909 |
|
|
over an abnormal edge.
|
24910 |
|
|
(compute_avail): Remove such check.
|
24911 |
|
|
(do_SCCVN_insertion): New function.
|
24912 |
|
|
(eliminate): If we do not find a leader suitable for replacement
|
24913 |
|
|
insert a replacement expression from SCCVN if available.
|
24914 |
|
|
* tree-ssa-sccvn.h (run_scc_vn): Update prototype.
|
24915 |
|
|
(struct vn_ssa_aux): Add needs_insertion flag.
|
24916 |
|
|
* tree-ssa-sccvn.c (may_insert): New global flag.
|
24917 |
|
|
(copy_reference_ops_from_ref): Value-number union member access
|
24918 |
|
|
based on its size, not type and member if insertion is allowed.
|
24919 |
|
|
(visit_reference_op_load): For a weak match from union type
|
24920 |
|
|
punning lookup a view-converted value and insert a SSA_NAME
|
24921 |
|
|
for that value if that is not found.
|
24922 |
|
|
(visit_use): Make dumps shorter. Do not disallow value numbering
|
24923 |
|
|
SSA_NAMEs that are life over an abnormal edge to constants.
|
24924 |
|
|
(free_scc_vn): Release inserted SSA_NAMEs.
|
24925 |
|
|
(run_scc_vn): New flag to specify whether insertion is allowed.
|
24926 |
|
|
Process SSA_NAMEs in forward order.
|
24927 |
|
|
* tree-ssa-loop-im.c (for_each_index): Handle invariant
|
24928 |
|
|
ADDR_EXPRs inside VIEW_CONVERT_EXPR.
|
24929 |
|
|
* fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
|
24930 |
|
|
pointer type to/from integral types that do not change the
|
24931 |
|
|
precision to regular conversions.
|
24932 |
|
|
|
24933 |
|
|
2008-03-13 Uros Bizjak
|
24934 |
|
|
|
24935 |
|
|
* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
|
24936 |
|
|
__builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
|
24937 |
|
|
__builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
|
24938 |
|
|
__builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
|
24939 |
|
|
input arguments and the mode of return value. Built-in functions
|
24940 |
|
|
that operate on whole 64-bit MMX register now use V1DI mode.
|
24941 |
|
|
|
24942 |
|
|
2008-03-13 Alon Dayan
|
24943 |
|
|
Olga Golovanevsky
|
24944 |
|
|
|
24945 |
|
|
PR tree-optimization/35041
|
24946 |
|
|
* ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
|
24947 |
|
|
to locate the right position in a statement.
|
24948 |
|
|
|
24949 |
|
|
2008-03-13 Uros Bizjak
|
24950 |
|
|
|
24951 |
|
|
PR target/34000
|
24952 |
|
|
PR target/35553
|
24953 |
|
|
* config/i386/xmmintrin.h: Change all static inline functions to
|
24954 |
|
|
extern inline and add __gnu_inline__ attribute.
|
24955 |
|
|
* config/i386/bmintrin.h: Ditto.
|
24956 |
|
|
* config/i386/smmintrin.h: Ditto.
|
24957 |
|
|
* config/i386/tmmintrin.h: Ditto.
|
24958 |
|
|
* config/i386/mmintrin-common.h: Ditto.
|
24959 |
|
|
* config/i386/ammintrin.h: Ditto.
|
24960 |
|
|
* config/i386/emmintrin.h: Ditto.
|
24961 |
|
|
* config/i386/pmmintrin.h: Ditto.
|
24962 |
|
|
* config/i386/mmintrin.h: Ditto.
|
24963 |
|
|
* config/i386/mm3dnow.h: Ditto.
|
24964 |
|
|
|
24965 |
|
|
2008-03-13 Jakub Jelinek
|
24966 |
|
|
|
24967 |
|
|
PR middle-end/35185
|
24968 |
|
|
* omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
|
24969 |
|
|
(lower_omp_2): New function.
|
24970 |
|
|
(lower_omp_1, lower_omp): Rewritten.
|
24971 |
|
|
|
24972 |
|
|
2008-03-13 Danny Smith
|
24973 |
|
|
|
24974 |
|
|
PR 35054
|
24975 |
|
|
* doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
|
24976 |
|
|
with the phrase "Microsoft Windows compilers".
|
24977 |
|
|
(Push/Pop Macro Pragmas): New subsection. Document
|
24978 |
|
|
#pragma push_macro and pragma pop_macro.
|
24979 |
|
|
|
24980 |
|
|
2008-03-12 Paul Brook
|
24981 |
|
|
|
24982 |
|
|
* config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
|
24983 |
|
|
|
24984 |
|
|
2008-03-12 Paul Brook
|
24985 |
|
|
|
24986 |
|
|
* config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
|
24987 |
|
|
(thumb2_alusi3_short): Exclude PLUS and MINUS.
|
24988 |
|
|
(thumb2_addsi_shortim): Rename ...
|
24989 |
|
|
(thumb2_addsi_short): ... to this. Allow register operands.
|
24990 |
|
|
(thumb2_subsi_short): New pattern.
|
24991 |
|
|
(thumb2_one_cmplsi2_short,
|
24992 |
|
|
thumb2_negsi2_short): New patterns and peepholes.
|
24993 |
|
|
|
24994 |
|
|
2008-03-12 Paul Brook
|
24995 |
|
|
|
24996 |
|
|
* config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
|
24997 |
|
|
|
24998 |
|
|
2008-03-12 Uros Bizjak
|
24999 |
|
|
|
25000 |
|
|
* config/i386/i386.md (int_cond): New code iterator.
|
25001 |
|
|
(fp_cond): Ditto.
|
25002 |
|
|
("s"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
|
25003 |
|
|
sge, sgeu, sle and sleu expanders usign int_cond code iterator.
|
25004 |
|
|
("s"): Macroize expander from sunordered, sordered, suneq, sunge,
|
25005 |
|
|
sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
|
25006 |
|
|
("b"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
|
25007 |
|
|
bge, bgeu, ble and bleu expanders usign int_cond code iterator.
|
25008 |
|
|
("b"): Macroize expander from bunordered, bordered, buneq, bunge,
|
25009 |
|
|
bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
|
25010 |
|
|
|
25011 |
|
|
2008-03-12 Paul Brook
|
25012 |
|
|
|
25013 |
|
|
* config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
|
25014 |
|
|
instead of {arm,thumb}_compute_save_reg_mask.
|
25015 |
|
|
(output_return_instruction): Ditto.
|
25016 |
|
|
(thumb_unexpanded_epilogue): Ditto.
|
25017 |
|
|
(thumb1_expand_prologue): Ditto.
|
25018 |
|
|
(thumb1_output_function_prologue): Ditto.
|
25019 |
|
|
(arm_set_return_address): Ditto.
|
25020 |
|
|
(thumb_set_return_address): Ditto.
|
25021 |
|
|
(arm_get_frame_offsets): Set offsets->saved_regs_mask. Push extra
|
25022 |
|
|
regs to achieve stack alignment.
|
25023 |
|
|
(thumb1_compute_save_reg_mask): Fix compiler warning.
|
25024 |
|
|
(arm_output_epilogue): Use offsets->saved_regs_mask.
|
25025 |
|
|
Adjust stack pointer by poping call clobered registers.
|
25026 |
|
|
(arm_expand_prologue): Use offsets->saved_regs_mask.
|
25027 |
|
|
Adjust stack pointer by pushing extra registers.
|
25028 |
|
|
* config/arm.h (arm_stack_offsets): Add saved_regs_mask.
|
25029 |
|
|
|
25030 |
|
|
2008-03-12 Paolo Bonzini
|
25031 |
|
|
|
25032 |
|
|
PR tree-opt/35422
|
25033 |
|
|
* fold-const.c (fold_unary) : Distribute a narrowing
|
25034 |
|
|
conversion to the operands of a multiplication.
|
25035 |
|
|
|
25036 |
|
|
2008-03-12 Richard Guenther
|
25037 |
|
|
|
25038 |
|
|
* Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
|
25039 |
|
|
(tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
|
25040 |
|
|
* timevar.def (TV_TREE_PHIPROP): Add.
|
25041 |
|
|
* tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
|
25042 |
|
|
pass description. Use TV_TREE_PHIPROP.
|
25043 |
|
|
* tree-ssa-forwprop.c: Remove phiprop code.
|
25044 |
|
|
|
25045 |
|
|
2008-03-12 Jakub Jelinek
|
25046 |
|
|
|
25047 |
|
|
PR middle-end/35549
|
25048 |
|
|
* omp-low.c (maybe_lookup_decl): Constify first argument.
|
25049 |
|
|
(use_pointer_for_field): Change last argument from bool to
|
25050 |
|
|
omp_context *. Disallow shared copy-in/out in nested
|
25051 |
|
|
parallel if decl is shared in outer parallel too.
|
25052 |
|
|
(build_outer_var_ref, scan_sharing_clauses,
|
25053 |
|
|
lower_rec_input_clauses, lower_copyprivate_clauses,
|
25054 |
|
|
lower_send_clauses, lower_send_shared_vars): Adjust callers.
|
25055 |
|
|
|
25056 |
|
|
2008-03-12 Victor Kaplansky
|
25057 |
|
|
Ira Rosen
|
25058 |
|
|
|
25059 |
|
|
* tree-vectorizer.c (free_stmt_vec_info): New function.
|
25060 |
|
|
(destroy_loop_vec_info): Move code to free_stmt_vec_info().
|
25061 |
|
|
Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
|
25062 |
|
|
* tree-vectorizer.h (free_stmt_vec_info): Declare.
|
25063 |
|
|
* tree-vect-transform.c (vectorizable_conversion): Free
|
25064 |
|
|
vec_oprnds0 if it was allocated.
|
25065 |
|
|
(vect_permute_store_chain): Remove unused VECs.
|
25066 |
|
|
(vectorizable_store): Free VECs that are allocated in the..
|
25067 |
|
|
function.
|
25068 |
|
|
(vect_transform_strided_load, vectorizable_load): Likewise.
|
25069 |
|
|
(vect_remove_stores): Simplify the code.
|
25070 |
|
|
(vect_transform_loop): Move code to vect_remove_stores().
|
25071 |
|
|
Call vect_remove_stores() and free_stmt_vec_info().
|
25072 |
|
|
|
25073 |
|
|
2008-03-11 John David Anglin
|
25074 |
|
|
|
25075 |
|
|
* pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
|
25076 |
|
|
TARGET_HPUX. Revise comment.
|
25077 |
|
|
(TARGET_LONG_PIC_PCREL_CALL): Revise comment.
|
25078 |
|
|
* pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
|
25079 |
|
|
Use sr4 variant of `be' instruction when not generating PIC code.
|
25080 |
|
|
(attr_length_call): Adjust for above change.
|
25081 |
|
|
|
25082 |
|
|
2008-03-11 Andrew Pinski
|
25083 |
|
|
|
25084 |
|
|
* ipa-reference.c (static_execute): Remove module_statics_const and
|
25085 |
|
|
associated setting code.
|
25086 |
|
|
|
25087 |
|
|
2008-03-11 Uros Bizjak
|
25088 |
|
|
|
25089 |
|
|
PR target/35540
|
25090 |
|
|
* config/i386/i386.md (paritysi2, paritydi2): Use register_operand
|
25091 |
|
|
predicate for operand 1.
|
25092 |
|
|
(paritysi2_cmp): Use register_operand predicate for operand 2.
|
25093 |
|
|
Use earlyclobber modifier for operand 1. Remove support for
|
25094 |
|
|
memory operands.
|
25095 |
|
|
(paritydi2_cmp): Use register_operand predicate for operand 3.
|
25096 |
|
|
Use earlyclobber modifier for operand 1. Remove support for
|
25097 |
|
|
memory operands.
|
25098 |
|
|
|
25099 |
|
|
2008-03-11 Paul Brook
|
25100 |
|
|
Vladimir Prus
|
25101 |
|
|
|
25102 |
|
|
* config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
|
25103 |
|
|
(arm_compute_save_reg0_reg12_mask): Always
|
25104 |
|
|
check if register 11 must be saved. Always safe hard frame pointer
|
25105 |
|
|
when frame_pointer_needeed.
|
25106 |
|
|
(arm_compute_save_reg_mask): Save IP and PC
|
25107 |
|
|
only with apcs frames.
|
25108 |
|
|
(arm_output_epilogue): Adjust Thumb2 codepath to
|
25109 |
|
|
be also invoked and work for ARM non-apcs frames.
|
25110 |
|
|
(arm_expand_prologue): Don't bother saving IP
|
25111 |
|
|
for non-apcs frame, since it's not clobbered by
|
25112 |
|
|
prologue code. Implement non-apcs frame
|
25113 |
|
|
layout.
|
25114 |
|
|
|
25115 |
|
|
2008-03-11 Paolo Bonzini
|
25116 |
|
|
|
25117 |
|
|
PR rtl-optimization/35281
|
25118 |
|
|
* expr.c (convert_move): Use a new pseudo for the intermediate
|
25119 |
|
|
from_mode->word_mode result.
|
25120 |
|
|
|
25121 |
|
|
2008-03-11 Paolo Bonzini
|
25122 |
|
|
|
25123 |
|
|
* langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
|
25124 |
|
|
* langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
|
25125 |
|
|
* toplev.c (compile_file): Don't call it.
|
25126 |
|
|
|
25127 |
|
|
2008-03-11 Uros Bizjak
|
25128 |
|
|
|
25129 |
|
|
PR middle-end/35526
|
25130 |
|
|
* expr.c (store_expr): Call emit_block_move if the mode
|
25131 |
|
|
of "temp" RTX is BLKmode.
|
25132 |
|
|
|
25133 |
|
|
2008-03-11 Andrew Pinski
|
25134 |
|
|
Richard Guenther
|
25135 |
|
|
|
25136 |
|
|
PR tree-optimization/31358
|
25137 |
|
|
* tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for
|
25138 |
|
|
the step with a NULL_TREE.
|
25139 |
|
|
* tree-ssa-loop-ivopts.c (find_bivs): Convert the step
|
25140 |
|
|
to sizetype if type is a pointer type.
|
25141 |
|
|
(add_candidate_1): Don't convert the base and step to
|
25142 |
|
|
the generic type if the orginal type is a pointer type.
|
25143 |
|
|
(add_iv_value_candidates): Use sizetype for the step
|
25144 |
|
|
if type is a pointer type.
|
25145 |
|
|
(cand_value_at): Likewise.
|
25146 |
|
|
* tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
|
25147 |
|
|
for pointer types.
|
25148 |
|
|
* tree-affine.c (tree_to_aff_combination ):
|
25149 |
|
|
Don't convert the tem affine to the type.
|
25150 |
|
|
(add_elt_to_tree): Use sizetype for the step if a pointer.
|
25151 |
|
|
Use POINTER_PLUS_EXPR for pointers.
|
25152 |
|
|
(aff_combination_to_tree): Use sizetype for the step if a
|
25153 |
|
|
pointer.
|
25154 |
|
|
|
25155 |
|
|
2008-03-10 Vladimir Makarov
|
25156 |
|
|
|
25157 |
|
|
* config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
|
25158 |
|
|
Remove commutativity hint.
|
25159 |
|
|
|
25160 |
|
|
2008-03-10 Jakub Jelinek
|
25161 |
|
|
|
25162 |
|
|
PR c/35438
|
25163 |
|
|
PR c/35439
|
25164 |
|
|
* c-parser.c (c_parser_omp_threadprivate): Don't add vars with
|
25165 |
|
|
errorneous type. Check that v is a VAR_DECL.
|
25166 |
|
|
|
25167 |
|
|
PR middle-end/35099
|
25168 |
|
|
* tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
|
25169 |
|
|
|
25170 |
|
|
2008-03-10 H.J. Lu
|
25171 |
|
|
|
25172 |
|
|
PR tree-optimization/35494
|
25173 |
|
|
* tree-ssa-ccp.c (get_symbol_constant_value): Check if value
|
25174 |
|
|
may be overriden at link and run time.
|
25175 |
|
|
|
25176 |
|
|
2008-03-10 Richard Guenther
|
25177 |
|
|
|
25178 |
|
|
PR tree-optimization/34677
|
25179 |
|
|
* tree-ssa-pre.c (modify_expr_node_pool): Remove.
|
25180 |
|
|
(poolify_tree): Likewise.
|
25181 |
|
|
(modify_expr_template): Likewise.
|
25182 |
|
|
(poolify_modify_stmt): Likewise.
|
25183 |
|
|
(insert_fake_stores): Handle all component-ref style stores
|
25184 |
|
|
in addition to INDIRECT_REF. Also handle complex types.
|
25185 |
|
|
Do not poolify the inserted load.
|
25186 |
|
|
(realify_fake_stores): Do not rebuild the tree but only
|
25187 |
|
|
make it a SSA_NAME copy.
|
25188 |
|
|
(init_pre): Remove initialzation of modify_expr_template.
|
25189 |
|
|
Do not allocate modify_expr_node_pool.
|
25190 |
|
|
(fini_pre): Do not free modify_expr_node_pool.
|
25191 |
|
|
|
25192 |
|
|
2008-03-10 Paul Brook
|
25193 |
|
|
|
25194 |
|
|
* config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
|
25195 |
|
|
to avoid conflicts.
|
25196 |
|
|
|
25197 |
|
|
2008-03-10 Paul Brook
|
25198 |
|
|
Mark Shinwell
|
25199 |
|
|
|
25200 |
|
|
* config/arm/cortex-r4.md: New.
|
25201 |
|
|
* config/arm/thumb2.md (divsi3, udivsi3): Annotate with
|
25202 |
|
|
insn attributes.
|
25203 |
|
|
* config/arm/arm.md: Include cortex-r4.md.
|
25204 |
|
|
(insn): Add smmls, sdiv and udiv values.
|
25205 |
|
|
(generic_sched): Don't use generic scheduling for Cortex-R4.
|
25206 |
|
|
(arm_issue_rate): New function.
|
25207 |
|
|
(TARGET_SCHED_ISSUE_RATE): Define.
|
25208 |
|
|
|
25209 |
|
|
2008-03-10 Sebastian Pop
|
25210 |
|
|
|
25211 |
|
|
* doc/invoke.texi (-ftree-loop-distribution): Add an example.
|
25212 |
|
|
|
25213 |
|
|
2008-03-10 Richard Guenther
|
25214 |
|
|
|
25215 |
|
|
* tree-ssa-pre.c (get_sccvn_value): Simplify.
|
25216 |
|
|
(compute_avail): Do not add stmt uses to AVAIL_OUT.
|
25217 |
|
|
|
25218 |
|
|
2008-03-10 Paolo Bonzini
|
25219 |
|
|
|
25220 |
|
|
* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
|
25221 |
|
|
Set default to true.
|
25222 |
|
|
|
25223 |
|
|
2008-03-09 Ralf Wildenhues
|
25224 |
|
|
|
25225 |
|
|
* c.opt (Wsynth): Deprecate.
|
25226 |
|
|
* doc/invoke.texi (Option Summary, Warning Options): Document
|
25227 |
|
|
-Wno-format-contains-nul.
|
25228 |
|
|
|
25229 |
|
|
2008-03-09 Uros Bizjak
|
25230 |
|
|
|
25231 |
|
|
PR target/35496
|
25232 |
|
|
* config/i386/i386.c (ix86_constant_alignment): Compute alignment using
|
25233 |
|
|
ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
|
25234 |
|
|
|
25235 |
|
|
2008-03-09 Ira Rosen
|
25236 |
|
|
|
25237 |
|
|
* config/rs6000/rs6000.c (builtin_description): Rename vector
|
25238 |
|
|
left shift operations.
|
25239 |
|
|
* config/rs6000/altivec.md (UNSPEC_VSL): Remove.
|
25240 |
|
|
(altivec_vsl): Rename to ...
|
25241 |
|
|
(ashl3): ... new name.
|
25242 |
|
|
(mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
|
25243 |
|
|
gen_ashlv4si3.
|
25244 |
|
|
(absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.
|
25245 |
|
|
|
25246 |
|
|
2008-03-08 Richard Guenther
|
25247 |
|
|
|
25248 |
|
|
* coverage.h (tree_coverage_counter_addr): Declare.
|
25249 |
|
|
* coverage.c (tree_coverage_counter_addr): New function.
|
25250 |
|
|
* tree-profile.c (tree_gen_edge_profiler): Unshare counter
|
25251 |
|
|
before using again.
|
25252 |
|
|
(tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
|
25253 |
|
|
(tree_gen_one_value_profiler): Likewise.
|
25254 |
|
|
(tree_gen_ic_profiler): Likewise.
|
25255 |
|
|
(tree_gen_average_profiler): Likewise.
|
25256 |
|
|
(tree_gen_ior_profiler): Likewise.
|
25257 |
|
|
|
25258 |
|
|
2008-03-08 Richard Guenther
|
25259 |
|
|
|
25260 |
|
|
* tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
|
25261 |
|
|
(vn_binary_op_insert): Likewise.
|
25262 |
|
|
(vn_unary_op_lookup): Likewise.
|
25263 |
|
|
(vn_unary_op_insert): Likewise.
|
25264 |
|
|
(vn_nary_op_lookup): Declare.
|
25265 |
|
|
(vn_nary_op_insert): Likewise.
|
25266 |
|
|
* tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
|
25267 |
|
|
and binary hashes, use a single obstack for unary_op_pool
|
25268 |
|
|
and binary_op_pool.
|
25269 |
|
|
(struct vn_binary_op_s, struct vn_unary_op_s): Replace with
|
25270 |
|
|
a single struct vn_nary_op_s. Store tree code length and
|
25271 |
|
|
a variable number of operands.
|
25272 |
|
|
(struct vn_reference_op_struct): Remove unused op2.
|
25273 |
|
|
(vn_reference_op_eq): Do not compare op2.
|
25274 |
|
|
(vn_reference_op_compute_hash): Do not compute hash of op2.
|
25275 |
|
|
(vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
|
25276 |
|
|
(vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
|
25277 |
|
|
with vn_nary_op_compute_hash.
|
25278 |
|
|
(vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
|
25279 |
|
|
(vn_unary_op_lookup, vn_binary_op_lookup): Replace with
|
25280 |
|
|
vn_nary_op_lookup.
|
25281 |
|
|
(vn_unary_op_insert, vn_binary_op_insert): Replace with
|
25282 |
|
|
vn_nary_op_insert.
|
25283 |
|
|
(visit_unary_op): Call nary functions.
|
25284 |
|
|
(visit_binary_op): Likewise.
|
25285 |
|
|
(process_scc): Adjust for struct vn_tables_s changes.
|
25286 |
|
|
(allocate_vn_table): Likewise.
|
25287 |
|
|
(free_vn_table): Likewise.
|
25288 |
|
|
* tree-vn.c (vn_add): Call nary functions.
|
25289 |
|
|
(vn_lookup): Likewise.
|
25290 |
|
|
|
25291 |
|
|
2008-03-08 Jakub Jelinek
|
25292 |
|
|
|
25293 |
|
|
PR target/35498
|
25294 |
|
|
* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
|
25295 |
|
|
wdst back after sync_compare_and_swapqhi_internal.
|
25296 |
|
|
|
25297 |
|
|
2008-03-08 Uros Bizjak
|
25298 |
|
|
|
25299 |
|
|
PR target/22152
|
25300 |
|
|
* config/i386/i386-modes.def (V1DI): New vector mode.
|
25301 |
|
|
* config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
|
25302 |
|
|
* config/i386/mmx.md (MMXMODEI8): New mode iterator.
|
25303 |
|
|
(MMXMODE248): Ditto.
|
25304 |
|
|
(MMXMODE): Add V1DI mode.
|
25305 |
|
|
(mmxvecsize): Change DI mode to V1DI mode.
|
25306 |
|
|
("mov): Use MMXMODEI8 mode iterator.
|
25307 |
|
|
("*mov_internal_rex64"): Ditto.
|
25308 |
|
|
("*mov_internal"): Ditto.
|
25309 |
|
|
("mmx_add3"): Ditto. Handle V1DImode for TARGET_SSE2.
|
25310 |
|
|
("mmx_sub3"): Ditto.
|
25311 |
|
|
("mmx_adddi3"): Remove insn pattern.
|
25312 |
|
|
("mmx_subdi3"): Ditto.
|
25313 |
|
|
("mmx_ashr3"): Use SImode and "yN" constraint for operand 2.
|
25314 |
|
|
("mmx_lshr3"): Ditto. Use MMXMODE248 mode iterator.
|
25315 |
|
|
("mmx_ashl3"): Ditto.
|
25316 |
|
|
("mmx_lshrdi3"): Remove insn pattern.
|
25317 |
|
|
("mmx_ashldi3"): Ditto.
|
25318 |
|
|
* config/i386/i386.c (classify_argument): Handle V1DImode.
|
25319 |
|
|
(function_arg_advance_32): Ditto.
|
25320 |
|
|
(function_arg_32): Ditto.
|
25321 |
|
|
(struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
|
25322 |
|
|
mmx_addv1di3 insn pattern.
|
25323 |
|
|
[IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
|
25324 |
|
|
[IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
|
25325 |
|
|
IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
|
25326 |
|
|
IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
|
25327 |
|
|
Remove definitions of built-in functions.
|
25328 |
|
|
(V1DI_type_node): New node.
|
25329 |
|
|
(v1di_ftype_v1di_int): Ditto.
|
25330 |
|
|
(v1di_ftype_v1di_v1di): Ditto.
|
25331 |
|
|
(v2si_ftype_v2si_si): Ditto.
|
25332 |
|
|
(v4hi_ftype_v4hi_di): Remove node.
|
25333 |
|
|
(v2si_ftype_v2si_di): Ditto.
|
25334 |
|
|
(ix86_init_mmx_sse_builtins): Handle V1DImode.
|
25335 |
|
|
(__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
|
25336 |
|
|
Redefine builtins using def_builtin_const with *_ftype_*_int node.
|
25337 |
|
|
(__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
|
25338 |
|
|
Add new builtins using def_builtin_const.
|
25339 |
|
|
(ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
|
25340 |
|
|
IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
|
25341 |
|
|
IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
|
25342 |
|
|
* config/i386/mmintrin.h (__v1di): New typedef.
|
25343 |
|
|
(_mm_add_si64): Cast arguments to __v1di type.
|
25344 |
|
|
(_mm_sub_si64): Ditto.
|
25345 |
|
|
(_mm_sll_pi16): Cast __count to __v4hi type.
|
25346 |
|
|
(_mm_sll_pi32): Cast __count to __v2si type.
|
25347 |
|
|
(_mm_sll_si64): Cast arguments to __v1di type.
|
25348 |
|
|
(_mm_srl_pi16): Cast __count to __v4hi type.
|
25349 |
|
|
(_mm_srl_pi32): Cast __count to __v2si type.
|
25350 |
|
|
(_mm_srl_si64): Cast arguments to __v1di type.
|
25351 |
|
|
(_mm_sra_pi16): Cast __count to __v4hi type.
|
25352 |
|
|
(_mm_sra_pi32): Cast __count to __v2si type.
|
25353 |
|
|
(_mm_slli_pi16): Use __builtin_ia32_psllwi.
|
25354 |
|
|
(_mm_slli_pi32): Use __builtin_ia32_pslldi.
|
25355 |
|
|
(_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
|
25356 |
|
|
(_mm_srli_pi16): Use __builtin_ia32_psrlwi.
|
25357 |
|
|
(_mm_srli_pi32): Use __builtin_ia32_psrldi.
|
25358 |
|
|
(_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
|
25359 |
|
|
(_mm_srai_pi16): Use __builtin_ia32_psrawi.
|
25360 |
|
|
(_mm_srai_pi32): Use __builtin_ia32_psradi.
|
25361 |
|
|
* config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
|
25362 |
|
|
* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
|
25363 |
|
|
__builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
|
25364 |
|
|
__builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
|
25365 |
|
|
|
25366 |
|
|
2008-03-07 Joseph Myers
|
25367 |
|
|
|
25368 |
|
|
* doc/include/texinfo.tex: Update to version 2008-03-07.10.
|
25369 |
|
|
|
25370 |
|
|
2008-03-07 Peter Bergner
|
25371 |
|
|
|
25372 |
|
|
PR target/35373
|
25373 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
|
25374 |
|
|
reg+const addressing for Altivec modes. Don't generate reg+reg
|
25375 |
|
|
addressing for TFmode or TDmode quantities.
|
25376 |
|
|
|
25377 |
|
|
2008-03-07 Paolo Bonzini
|
25378 |
|
|
|
25379 |
|
|
* c-common.c (vector_types_convertible_p): Call langhook
|
25380 |
|
|
instead of comptypes.
|
25381 |
|
|
|
25382 |
|
|
2008-03-06 Andrew Pinski
|
25383 |
|
|
|
25384 |
|
|
PR tree-opt/35402
|
25385 |
|
|
* tree-ssa-ccp.c (get_symbol_constant_value): Handle
|
25386 |
|
|
integral and scalar float variables which have a
|
25387 |
|
|
NULL DECL_INITIAL.
|
25388 |
|
|
|
25389 |
|
|
2008-03-06 Nathan Froyd
|
25390 |
|
|
|
25391 |
|
|
* dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
|
25392 |
|
|
dwarf_register_span hook when emitting unwind information for
|
25393 |
|
|
register-to-memory saves.
|
25394 |
|
|
* config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
|
25395 |
|
|
(rs6000_frame_related): Remove call to spe_synthesize_frame.
|
25396 |
|
|
|
25397 |
|
|
2008-03-06 Jakub Jelinek
|
25398 |
|
|
|
25399 |
|
|
* gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
|
25400 |
|
|
for the same VAR_DECL.
|
25401 |
|
|
|
25402 |
|
|
2008-03-06 Tom Tromey
|
25403 |
|
|
|
25404 |
|
|
* treelang: Delete.
|
25405 |
|
|
* doc/standards.texi (Standards): Don't mention treelang.
|
25406 |
|
|
* doc/invoke.texi (Overall Options): Don't mention treelang.
|
25407 |
|
|
* doc/install.texi (Prerequisites): Don't mention bison or
|
25408 |
|
|
treelang.
|
25409 |
|
|
(Configuration): Don't mention treelang.
|
25410 |
|
|
(Building): Likewise.
|
25411 |
|
|
* doc/frontends.texi (G++ and GCC): Don't mention treelang.
|
25412 |
|
|
|
25413 |
|
|
2008-03-06 Paolo Bonzini
|
25414 |
|
|
|
25415 |
|
|
* simplify-rtx.c (simplify_subreg): Remove useless shifts from
|
25416 |
|
|
word-extractions out of a multi-word object.
|
25417 |
|
|
|
25418 |
|
|
2008-03-06 Richard Guenther
|
25419 |
|
|
|
25420 |
|
|
* tree.def (BIT_FIELD_REF): Constrain result type and its precision.
|
25421 |
|
|
* tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
|
25422 |
|
|
result type and precision.
|
25423 |
|
|
* expr.c (get_inner_reference): Set unsignedp based on the result
|
25424 |
|
|
type of BIT_FIELD_REF.
|
25425 |
|
|
* tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
|
25426 |
|
|
* tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
|
25427 |
|
|
(try_instantiate_multiple_fields): Likewise. Use the correct type
|
25428 |
|
|
for BIT_FIELD_REF.
|
25429 |
|
|
(sra_build_assignment): Likewise.
|
25430 |
|
|
(sra_build_elt_assignment): Likewise.
|
25431 |
|
|
(sra_explode_bitfield_assignment): Likewise.
|
25432 |
|
|
* print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
|
25433 |
|
|
* tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
|
25434 |
|
|
set BIT_FIELD_REF_UNSIGNED.
|
25435 |
|
|
(vectorizable_load): Likewise.
|
25436 |
|
|
|
25437 |
|
|
2008-03-06 Andreas Krebbel
|
25438 |
|
|
|
25439 |
|
|
* cse.c (cse_extended_basic_block): Invalidate artificial defs
|
25440 |
|
|
at bb start.
|
25441 |
|
|
|
25442 |
|
|
2008-03-06 Richard Guenther
|
25443 |
|
|
|
25444 |
|
|
* alias.c (struct alias_set_entry): Move has_zero_child field
|
25445 |
|
|
to pack with alias_set.
|
25446 |
|
|
|
25447 |
|
|
2008-03-05 H.J. Lu
|
25448 |
|
|
|
25449 |
|
|
* config/i386/i386-modes.def: Use 4 byte alignment on DI for
|
25450 |
|
|
32bit host.
|
25451 |
|
|
|
25452 |
|
|
2008-03-05 Ian Lance Taylor
|
25453 |
|
|
|
25454 |
|
|
* alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
|
25455 |
|
|
|
25456 |
|
|
2008-03-05 Kenneth Zadeck
|
25457 |
|
|
|
25458 |
|
|
* fwprop.c (update_df): Support width and offset parameters of
|
25459 |
|
|
df_ref_create.
|
25460 |
|
|
* ra-conflict.c (mark_reg_store, clear_reg_in_live,
|
25461 |
|
|
global_conflicts): Change DF_REF_EXTRACT to either
|
25462 |
|
|
DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
|
25463 |
|
|
DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
|
25464 |
|
|
* df-scan.c (df_ref_record, df_defs_record,
|
25465 |
|
|
df_ref_create_structure, df_def_record_1, df_uses_record,
|
25466 |
|
|
df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
|
25467 |
|
|
df_bb_refs_collect, df_entry_block_defs_collect,
|
25468 |
|
|
df_exit_block_uses_collect): Support new width and offset fields.
|
25469 |
|
|
(ref_extract_pool): New storage pool.
|
25470 |
|
|
(df_free_ref): New function.
|
25471 |
|
|
(df_reg_chain_unlink, df_free_collection_rec,
|
25472 |
|
|
df_sort_and_compress_refs): Call df_free_ref.
|
25473 |
|
|
(df_ref_equal_p, df_ref_compare): Compare offset and width fields
|
25474 |
|
|
of df_ref_extract.
|
25475 |
|
|
(df_ref_create_structure): Allocate df_ref_extract if offset and
|
25476 |
|
|
width fields are used.
|
25477 |
|
|
(df_def_record_1): Get offset and width from ZERO_EXTRACT.
|
25478 |
|
|
(df_uses_record): Get offset and width from ZERO_EXTRACT
|
25479 |
|
|
and SIGN_EXTRACT.
|
25480 |
|
|
* global.c (build_insn_chain): Change DF_REF_EXTRACT to either
|
25481 |
|
|
DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
|
25482 |
|
|
DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
|
25483 |
|
|
* df.h (df_ref_flags): Change DF_REF_EXTRACT to either
|
25484 |
|
|
DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
|
25485 |
|
|
DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
|
25486 |
|
|
(df_ref_extract): New structure.
|
25487 |
|
|
(DF_REF_WIDTH, DF_REF_OFFSET): New macros.
|
25488 |
|
|
(df_ref_create): Add width and offset parameters.
|
25489 |
|
|
|
25490 |
|
|
2008-03-05 Richard Guenther
|
25491 |
|
|
|
25492 |
|
|
* tree-ssa-structalias.c (get_constraint_for_component_ref):
|
25493 |
|
|
Use ranges_overlap_p.
|
25494 |
|
|
(offset_overlaps_with_access): Rename
|
25495 |
|
|
to ranges_overlap_p and move ...
|
25496 |
|
|
* tree-flow-inline.h (ranges_overlap_p): ... here.
|
25497 |
|
|
|
25498 |
|
|
* tree.h (get_inner_reference, handled_component_p): Update
|
25499 |
|
|
comments.
|
25500 |
|
|
|
25501 |
|
|
* tree.h (record_component_aliases, get_alias_set,
|
25502 |
|
|
alias_sets_conflict_p, alias_sets_must_conflict_p,
|
25503 |
|
|
objects_must_conflict_p): Move declarations ...
|
25504 |
|
|
* alias.h (record_component_aliases, get_alias_set,
|
25505 |
|
|
alias_sets_conflict_p, alias_sets_must_conflict_p,
|
25506 |
|
|
objects_must_conflict_p): ... here.
|
25507 |
|
|
Include coretypes.h.
|
25508 |
|
|
* Makefile.in (ALIAS_H): Add coretypes.h dependency.
|
25509 |
|
|
|
25510 |
|
|
2008-03-05 Aldy Hernandez
|
25511 |
|
|
|
25512 |
|
|
* cfg.c: Include tree-flow.h.
|
25513 |
|
|
(remove_edge_raw): Call redirect_edge_var_map_clear.
|
25514 |
|
|
(redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
|
25515 |
|
|
* tree-flow-inline.h (redirect_edge_var_map_def): New.
|
25516 |
|
|
(redirect_edge_var_map_result): New.
|
25517 |
|
|
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
|
25518 |
|
|
PENDING_STMT use with redirect_edge_var_map_*.
|
25519 |
|
|
* tree-ssa.c (edge_var_maps): New definition.
|
25520 |
|
|
(redirect_edge_var_map_add): New.
|
25521 |
|
|
(redirect_edge_var_map_clear): New.
|
25522 |
|
|
(redirect_edge_var_map_dup): New.
|
25523 |
|
|
(redirect_edge_var_map_vector): New.
|
25524 |
|
|
(redirect_edge_var_map_destroy): New.
|
25525 |
|
|
(ssa_redirect_edge): Replace PENDING_STMT use with
|
25526 |
|
|
redirect_edge_var_map_*.
|
25527 |
|
|
(flush_pending_stmts): Same.
|
25528 |
|
|
(delete_tree_ssa): Destroy edge var map.
|
25529 |
|
|
* tree-flow.h (struct _edge_var_map): New.
|
25530 |
|
|
Define edge_var_map vector type.
|
25531 |
|
|
Declare redirect_edge_var_map_* prototypes.
|
25532 |
|
|
* Makefile.in (cfg.o): Depend on TREE_FLOW_H.
|
25533 |
|
|
* tree-cfg.c (reinstall_phi_args): Replace
|
25534 |
|
|
PENDING_STMT use with redirect_edge_var_map_*.
|
25535 |
|
|
|
25536 |
|
|
2008-03-05 Richard Guenther
|
25537 |
|
|
|
25538 |
|
|
PR tree-optimization/35472
|
25539 |
|
|
* tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
|
25540 |
|
|
whose single use_stmt has a overlapping set of loaded and
|
25541 |
|
|
stored symbols as that use_stmt might be a noop assignment then.
|
25542 |
|
|
|
25543 |
|
|
2008-03-05 Joel Sherrill
|
25544 |
|
|
|
25545 |
|
|
* gthr-rtems.h: Implement __gthread_mutex_destroy.
|
25546 |
|
|
|
25547 |
|
|
2008-03-05 Richard Guenther
|
25548 |
|
|
|
25549 |
|
|
PR c++/35336
|
25550 |
|
|
* tree.def (BIT_FIELD_REF): Document that operands 1 and 2
|
25551 |
|
|
should be constants.
|
25552 |
|
|
* tree-cfg.c (verify_expr): Verify it.
|
25553 |
|
|
* fold-const.c (fold_truthop): Remove code generating
|
25554 |
|
|
BIT_FIELD_REFs of structure bases.
|
25555 |
|
|
(fold_binary): Likewise.
|
25556 |
|
|
(fold_ternary): Position and size of BIT_FIELD_REFs are
|
25557 |
|
|
always host integers.
|
25558 |
|
|
(make_bit_field_ref): Remove.
|
25559 |
|
|
(optimize_bit_field_compare): Remove.
|
25560 |
|
|
(all_ones_mask_p): Remove.
|
25561 |
|
|
|
25562 |
|
|
2008-03-05 Gabor Loki
|
25563 |
|
|
|
25564 |
|
|
PR gcc/33009
|
25565 |
|
|
* rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
|
25566 |
|
|
(split_block_and_df_analyze): New. Split basic block and rebuild
|
25567 |
|
|
dataflow.
|
25568 |
|
|
(block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
|
25569 |
|
|
SPLIT_BLOCK.
|
25570 |
|
|
(split_pattern_seq): Likewise.
|
25571 |
|
|
(erase_matching_seqs): Likewise.
|
25572 |
|
|
(split_pattern_seq): Skip return insn in case of REG_NORETURN note.
|
25573 |
|
|
|
25574 |
|
|
2008-03-04 Geoff Keating
|
25575 |
|
|
|
25576 |
|
|
* fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
|
25577 |
|
|
declaration and code.
|
25578 |
|
|
(tree_invalid_nonnegative_warnv_p): Likewise.
|
25579 |
|
|
|
25580 |
|
|
2008-03-05 Serge Belyshev
|
25581 |
|
|
|
25582 |
|
|
* doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
|
25583 |
|
|
examples. Truncate option-names then causing overfull hbox.
|
25584 |
|
|
|
25585 |
|
|
2008-03-04 John David Anglin
|
25586 |
|
|
|
25587 |
|
|
PR target/35222
|
25588 |
|
|
* configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
|
25589 |
|
|
on hpux10.
|
25590 |
|
|
* configure: Rebuilt.
|
25591 |
|
|
|
25592 |
|
|
2008-03-04 Rafael Espíndola
|
25593 |
|
|
|
25594 |
|
|
* fold-const.c (tree_simple_nonnegative_warnv_p): New.
|
25595 |
|
|
(tree_unary_nonnegative_warnv_p): New.
|
25596 |
|
|
(tree_binary_nonnegative_warnv_p): New.
|
25597 |
|
|
(tree_single_nonnegative_warnv_p): New.
|
25598 |
|
|
(tree_invalid_nonnegative_warnv_p): New.
|
25599 |
|
|
(tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
|
25600 |
|
|
|
25601 |
|
|
2008-03-04 Manuel Lopez-Ibanez
|
25602 |
|
|
|
25603 |
|
|
PR 28322
|
25604 |
|
|
* opts.c (handle_option): Postpone 'unknown option' errors only for
|
25605 |
|
|
warning options.
|
25606 |
|
|
|
25607 |
|
|
2008-03-04 H.J. Lu
|
25608 |
|
|
|
25609 |
|
|
PR target/35453
|
25610 |
|
|
* config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
|
25611 |
|
|
(_SIDD_XXX): This.
|
25612 |
|
|
|
25613 |
|
|
2008-03-04 Rafael Espíndola
|
25614 |
|
|
|
25615 |
|
|
* fold-const.c (tree_unary_nonzero_warnv_p): New.
|
25616 |
|
|
(tree_binary_nonzero_warnv_p): New.
|
25617 |
|
|
(tree_single_nonzero_warnv_p): New.
|
25618 |
|
|
(tree_expr_nonzero_warnv_p): Redefine using the new functions.
|
25619 |
|
|
|
25620 |
|
|
2008-03-04 Uros Bizjak
|
25621 |
|
|
|
25622 |
|
|
PR middle-end/35456
|
25623 |
|
|
* fold-const.c (fold_cond_expr_with_comparison): Prevent
|
25624 |
|
|
transformations for modes that have signed zeros.
|
25625 |
|
|
* ifcvt.c (noce_try_abs): Ditto.
|
25626 |
|
|
|
25627 |
|
|
2008-03-04 Joseph Myers
|
25628 |
|
|
|
25629 |
|
|
* config/i386/i386.c (override_options): Force
|
25630 |
|
|
-maccumulate-outgoing-args on if TARGET_STACK_PROBE.
|
25631 |
|
|
|
25632 |
|
|
2008-03-04 Jan Hubicka
|
25633 |
|
|
|
25634 |
|
|
PR c++/35262
|
25635 |
|
|
* ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
|
25636 |
|
|
in last commit.
|
25637 |
|
|
|
25638 |
|
|
2008-03-04 Danny Smith
|
25639 |
|
|
|
25640 |
|
|
* config/i386/i386.md (allocate_stack_worker_32): Use __chkstk
|
25641 |
|
|
label to probe the stack.
|
25642 |
|
|
|
25643 |
|
|
2008-03-04 Danny Smith
|
25644 |
|
|
|
25645 |
|
|
* gthr-win32.h [__GTHREAD_HIDE_WIN32API]
|
25646 |
|
|
(__gthr_win32_mutex_destroy): Declare.
|
25647 |
|
|
[__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
|
25648 |
|
|
__gthr_win32_mutex_destroy.
|
25649 |
|
|
* config/i386/gthr-win32.c (__gthr_win32_mutex_destroy): Define.
|
25650 |
|
|
|
25651 |
|
|
2008-03-03 Jan Hubicka
|
25652 |
|
|
|
25653 |
|
|
PR c++/35262
|
25654 |
|
|
* ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
|
25655 |
|
|
aggressive on inlining cold calls.
|
25656 |
|
|
|
25657 |
|
|
2008-03-03 Richard Guenther
|
25658 |
|
|
|
25659 |
|
|
* tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
|
25660 |
|
|
struct copies into the expression table.
|
25661 |
|
|
(simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
|
25662 |
|
|
(try_to_simplify): Likewise.
|
25663 |
|
|
* fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
|
25664 |
|
|
integral and pointer arguments which do not change the
|
25665 |
|
|
precision to NOP_EXPRs.
|
25666 |
|
|
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
|
25667 |
|
|
VIEW_CONVERT_EXPR case.
|
25668 |
|
|
|
25669 |
|
|
2008-03-02 Sebastian Pop
|
25670 |
|
|
|
25671 |
|
|
* tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
|
25672 |
|
|
defined in a loop at depth 0 is invariant.
|
25673 |
|
|
* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
|
25674 |
|
|
* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
|
25675 |
|
|
be called at loop depth 0.
|
25676 |
|
|
|
25677 |
|
|
2008-03-02 Jakub Jelinek
|
25678 |
|
|
|
25679 |
|
|
PR driver/35420
|
25680 |
|
|
* gcc.c (process_command): Update copyright notice dates.
|
25681 |
|
|
* gcov.c (print_version): Likewise.
|
25682 |
|
|
* gcov-dump.c (print_version): Likewise.
|
25683 |
|
|
* mips-tfile.c (main): Likewise.
|
25684 |
|
|
* mips-tdump.c (main): Likewise.
|
25685 |
|
|
|
25686 |
|
|
2008-03-02 Manuel Lopez-Ibanez
|
25687 |
|
|
|
25688 |
|
|
PR 24924
|
25689 |
|
|
* c-common.c (flag_permissive): Delete.
|
25690 |
|
|
(constant_expression_warnings): Check flags first.
|
25691 |
|
|
(constant_expression_error): New.
|
25692 |
|
|
* c-common.h (flag_permissive): Delete.
|
25693 |
|
|
(constant_expression_error): Declare.
|
25694 |
|
|
* flags.h (flag_permissive): Declare. Update description.
|
25695 |
|
|
* diagnostic.c (pedwarn): Update.
|
25696 |
|
|
(permerror): New.
|
25697 |
|
|
* diagnostic.h (pedantic_error_kind): Rename as pedantic_warning_kind.
|
25698 |
|
|
(permissive_error_kind): New.
|
25699 |
|
|
* toplev.c (flag_permissive): Define. Update description.
|
25700 |
|
|
* toplev.h (permissive_error_kind): Declare.
|
25701 |
|
|
* c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
|
25702 |
|
|
(pedwarn_c90): Use pedantic_warning_kind.
|
25703 |
|
|
* c-opts.c (c_common_post_options): flag_permissive does not affect
|
25704 |
|
|
flag_pedantic_errors.
|
25705 |
|
|
|
25706 |
|
|
2008-03-02 Joseph Myers
|
25707 |
|
|
|
25708 |
|
|
* libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
|
25709 |
|
|
__subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
|
25710 |
|
|
__absvsi2, __absvDI2): Use unsigned arithmetic.
|
25711 |
|
|
|
25712 |
|
|
2008-03-02 Andi Kleen
|
25713 |
|
|
Richard Guenther
|
25714 |
|
|
|
25715 |
|
|
* struct-equiv.c: Remove file.
|
25716 |
|
|
* cfg_cleanup.c (condjump_equiv_p): Remove.
|
25717 |
|
|
* Makefile.in (OBJS-common): Remove struct-equiv.o.
|
25718 |
|
|
(struct-equiv.o): Remove rule.
|
25719 |
|
|
* basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
|
25720 |
|
|
insns_match_p, struct_equiv_block_eq, struct_equiv_init,
|
25721 |
|
|
rtx_equiv_p, condjump_equiv_p): Remove prototypes.
|
25722 |
|
|
|
25723 |
|
|
2008-03-01 Alexandre Oliva
|
25724 |
|
|
|
25725 |
|
|
* ifcvt.c (noce_process_if_block): Try to handle only the then
|
25726 |
|
|
block if the else block exists but isn't suitable.
|
25727 |
|
|
|
25728 |
|
|
2008-03-01 Janne Blomqvist
|
25729 |
|
|
|
25730 |
|
|
PR gcc/35063
|
25731 |
|
|
* gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
|
25732 |
|
|
* gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
|
25733 |
|
|
regression from previous patch.
|
25734 |
|
|
|
25735 |
|
|
2008-03-01 Janne Blomqvist
|
25736 |
|
|
|
25737 |
|
|
PR gcc/35063
|
25738 |
|
|
* gthr.h: Add __gthread_mutex_destroy as a function that must be
|
25739 |
|
|
implemented.
|
25740 |
|
|
* gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
|
25741 |
|
|
* gthr-single.h (__gthread_mutex_destroy): Likewise.
|
25742 |
|
|
* gthr-rtems.h (__gthread_mutex_destroy): Likewise.
|
25743 |
|
|
* gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
|
25744 |
|
|
* gthr-nks.h (__gthread_mutex_destroy): Likewise.
|
25745 |
|
|
* gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
|
25746 |
|
|
* gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
|
25747 |
|
|
(__gthread_mutex_destroy_function): Rename to
|
25748 |
|
|
__gthread_mutex_destroy.
|
25749 |
|
|
* gthr-dce.h (__gthread_mutex_destroy): Call
|
25750 |
|
|
pthread_mutex_destroy.
|
25751 |
|
|
* gthr-tpf.h (__gthread_mutex_destroy): Likewise.
|
25752 |
|
|
* gthr-posix.h (__gthread_mutex_destroy): Likewise.
|
25753 |
|
|
* gthr-posix95.h (__gthread_mutex_destroy): Likewise.
|
25754 |
|
|
|
25755 |
|
|
2008-03-01 Alexandre Oliva
|
25756 |
|
|
|
25757 |
|
|
* df-scan.c (df_ref_chain_change_bb): Simplify.
|
25758 |
|
|
(df_insn_change_bb): Add new_bb argument. Simplify. Call
|
25759 |
|
|
set_block_for_insn if there's any change.
|
25760 |
|
|
* df.h ((df_insn_change_bb): Fix prototype.
|
25761 |
|
|
* cfgrtl.c (update_bb_for_insn_chain): Pass bb to
|
25762 |
|
|
df_insn_change_bb, don't call set_block_for_insn.
|
25763 |
|
|
* emit-rtl.c (reorder_insns): Likewise.
|
25764 |
|
|
* haifa-sched.c (move_insn): Likewise.
|
25765 |
|
|
|
25766 |
|
|
2008-03-01 Alexandre Oliva
|
25767 |
|
|
|
25768 |
|
|
* rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
|
25769 |
|
|
|
25770 |
|
|
2008-03-01 Alexandre Oliva
|
25771 |
|
|
|
25772 |
|
|
* tree-flow-inline.h (next_readonly_imm_use): Return
|
25773 |
|
|
NULL_USE_OPERAND_P after the end.
|
25774 |
|
|
|
25775 |
|
|
2008-03-01 Richard Guenther
|
25776 |
|
|
|
25777 |
|
|
PR tree-optimization/35411
|
25778 |
|
|
* tree-sra.c (sra_build_assignment): Split conversion to
|
25779 |
|
|
final type to a separate statement if we are not assigning
|
25780 |
|
|
to a register.
|
25781 |
|
|
|
25782 |
|
|
2008-02-29 Francois-Xavier Coudert
|
25783 |
|
|
|
25784 |
|
|
* fold-const.c (fold_convertible_p): Correct the logic to follow
|
25785 |
|
|
that in fold_convert().
|
25786 |
|
|
|
25787 |
|
|
2008-02-29 Douglas Gregor
|
25788 |
|
|
|
25789 |
|
|
PR c++/35315
|
25790 |
|
|
* tree-inline.c (build_duplicate_type): When we make a
|
25791 |
|
|
duplicate type, make it unique in the canonical types system.
|
25792 |
|
|
|
25793 |
|
|
2008-02-29 Tom Tromey
|
25794 |
|
|
|
25795 |
|
|
* toplev.c (input_file_stack, input_file_stack_tick, fs_p,
|
25796 |
|
|
input_file_stack_history, input_file_stack_restored): Remove.
|
25797 |
|
|
(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
|
25798 |
|
|
* input.h (struct file_stack): Remove.
|
25799 |
|
|
(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
|
25800 |
|
|
(input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
|
25801 |
|
|
Likewise.
|
25802 |
|
|
* diagnostic.h (struct diagnostic_context) : Change
|
25803 |
|
|
type.
|
25804 |
|
|
(diagnostic_last_module_changed): Add 'map' argument.
|
25805 |
|
|
(diagnostic_set_last_function): Likewise.
|
25806 |
|
|
* diagnostic.c (undiagnostic_report_current_module): Iterate using
|
25807 |
|
|
line map, not input_file_stack.
|
25808 |
|
|
* c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
|
25809 |
|
|
|
25810 |
|
|
2008-02-29 Paul Brook
|
25811 |
|
|
|
25812 |
|
|
* config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
|
25813 |
|
|
|
25814 |
|
|
2008-02-29 Paul Brook
|
25815 |
|
|
|
25816 |
|
|
* config/arm/ieee754-df.S (muldf3): Use RET macros.
|
25817 |
|
|
|
25818 |
|
|
2008-02-29 Richard Guenther
|
25819 |
|
|
|
25820 |
|
|
* tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
|
25821 |
|
|
vn_lookup_or_add.
|
25822 |
|
|
* tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
|
25823 |
|
|
value for comparing for a store match.
|
25824 |
|
|
(simplify_unary_expression): Do nothing for SSA_NAMEs.
|
25825 |
|
|
(try_to_simplify): Do not do a full-blown reference lookup.
|
25826 |
|
|
|
25827 |
|
|
2008-02-29 Kaz Kojima
|
25828 |
|
|
|
25829 |
|
|
* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
|
25830 |
|
|
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
|
25831 |
|
|
|
25832 |
|
|
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
|
25833 |
|
|
|
25834 |
|
|
2008-02-29 Sebastian Pop
|
25835 |
|
|
|
25836 |
|
|
* tree-loop-linear.c (try_interchange_loops): Compare memory access
|
25837 |
|
|
strides against cache sizes.
|
25838 |
|
|
|
25839 |
|
|
2008-02-29 Kaz Kojima
|
25840 |
|
|
|
25841 |
|
|
* config/sh/sh.c (sh_secondary_reload): Handle loading a float
|
25842 |
|
|
constant to fpul.
|
25843 |
|
|
|
25844 |
|
|
2008-02-28 Richard Sandiford
|
25845 |
|
|
|
25846 |
|
|
* simplify-rtx.c (simplify_unary_operation_1): Extend the handling
|
25847 |
|
|
of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
|
25848 |
|
|
is smaller than the original promoted value.
|
25849 |
|
|
(simplify_subreg): If OP is a SUBREG, try to preserve its
|
25850 |
|
|
SUBREG_PROMOTED_VAR_P information.
|
25851 |
|
|
|
25852 |
|
|
2008-02-28 Steven Bosscher
|
25853 |
|
|
|
25854 |
|
|
* tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
|
25855 |
|
|
(VN_INFO_GET): Allocate new objects on the obstack.
|
25856 |
|
|
(init_scc_vn): Initialize the obstack. Use XDELETE instead of free
|
25857 |
|
|
for rpo_numbers_temp, for consistency.
|
25858 |
|
|
(free_scc_vn): Free the obstack.
|
25859 |
|
|
|
25860 |
|
|
2008-02-28 Sebastian Pop
|
25861 |
|
|
|
25862 |
|
|
* doc/invoke.texi: Document -ftree-loop-distribution.
|
25863 |
|
|
* tree-loop-distribution.c: New.
|
25864 |
|
|
* tree-pass.h (pass_loop_distribution): New.
|
25865 |
|
|
* graphds.h (struct graph): Add htab_t indices.
|
25866 |
|
|
* timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
|
25867 |
|
|
* tree-vectorizer.c (rename_variables_in_loop): Extern.
|
25868 |
|
|
(slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
|
25869 |
|
|
* tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
|
25870 |
|
|
* tree-data-ref.c (debug_data_dependence_relations): New.
|
25871 |
|
|
(dump_data_dependence_relation): Also print data references.
|
25872 |
|
|
(free_data_ref): Extern.
|
25873 |
|
|
(same_access_functions): Moved...
|
25874 |
|
|
(find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
|
25875 |
|
|
(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
|
25876 |
|
|
debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
|
25877 |
|
|
struct rdg_vertex_info, rdg_vertex_for_stmt): New.
|
25878 |
|
|
(create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
|
25879 |
|
|
(stmts_from_loop): Skip LABEL_EXPR.
|
25880 |
|
|
(hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
|
25881 |
|
|
New.
|
25882 |
|
|
(build_rdg): Initialize rdg->indices htab.
|
25883 |
|
|
(free_rdg, stores_from_loop, ref_base_address,
|
25884 |
|
|
rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
|
25885 |
|
|
have_similar_memory_accesses_1, ref_base_address_1,
|
25886 |
|
|
remove_similar_memory_refs): New.
|
25887 |
|
|
* tree-data-ref.h: Depend on tree-chrec.h.
|
25888 |
|
|
(debug_data_dependence_relations, free_data_ref): Declared.
|
25889 |
|
|
(same_access_functions): ... here.
|
25890 |
|
|
(ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
|
25891 |
|
|
New.
|
25892 |
|
|
(struct rdg_vertex): Add has_mem_write and has_mem_reads.
|
25893 |
|
|
(RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
|
25894 |
|
|
RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
|
25895 |
|
|
(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
|
25896 |
|
|
debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
|
25897 |
|
|
rdg_vertex_for_stmt): Declared.
|
25898 |
|
|
(struct rdg_edge): Add level.
|
25899 |
|
|
(RDGE_LEVEL): New.
|
25900 |
|
|
(free_rdg, stores_from_loop, remove_similar_memory_refs,
|
25901 |
|
|
rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
|
25902 |
|
|
Declared.
|
25903 |
|
|
(rdg_has_similar_memory_accesses): New.
|
25904 |
|
|
* tree-vect-analyze.c: Remove unused static decls.
|
25905 |
|
|
* lambda.h (dependence_level): New.
|
25906 |
|
|
* common.opt (ftree-loop-distribution): New.
|
25907 |
|
|
* tree-flow.h (mark_virtual_ops_in_bb,
|
25908 |
|
|
slpeel_tree_duplicate_loop_to_edge_cfg,
|
25909 |
|
|
rename_variables_in_loop): Declared.
|
25910 |
|
|
* Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
|
25911 |
|
|
(OBJS-common): Add tree-loop-distribution.o.
|
25912 |
|
|
(tree-loop-distribution.o): New rule.
|
25913 |
|
|
* tree-cfg.c (mark_virtual_ops_in_bb): New.
|
25914 |
|
|
(mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
|
25915 |
|
|
* passes.c (init_optimization_passes): Schedule pass_loop_distribution.
|
25916 |
|
|
|
25917 |
|
|
2008-02-28 Joseph Myers
|
25918 |
|
|
|
25919 |
|
|
PR target/33963
|
25920 |
|
|
* tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
|
25921 |
|
|
other than structures and unions.
|
25922 |
|
|
|
25923 |
|
|
2008-02-28 Richard Guenther
|
25924 |
|
|
|
25925 |
|
|
Revert:
|
25926 |
|
|
2008-02-26 Richard Guenther
|
25927 |
|
|
|
25928 |
|
|
* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
|
25929 |
|
|
* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
|
25930 |
|
|
(lookup_decl_from_uid): Declare.
|
25931 |
|
|
(remove_decl_from_map): Likewise.
|
25932 |
|
|
* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
|
25933 |
|
|
* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
|
25934 |
|
|
(decl_for_uid_map): New global hashtable mapping DECL_UID
|
25935 |
|
|
to the decl tree.
|
25936 |
|
|
(init_ttree): Allocate it.
|
25937 |
|
|
(insert_decl_to_uid_decl_map): New helper function.
|
25938 |
|
|
(make_node_stat): Insert new decls into the map.
|
25939 |
|
|
(copy_node_stat): Likewise.
|
25940 |
|
|
(lookup_decl_from_uid): New function.
|
25941 |
|
|
(remove_decl_from_map): Likewise.
|
25942 |
|
|
(print_decl_for_uid_map_statistics): New helper.
|
25943 |
|
|
(dump_tree_statistics): Call it.
|
25944 |
|
|
|
25945 |
|
|
* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
|
25946 |
|
|
(referenced_var_iterator): Adjust.
|
25947 |
|
|
(FOR_EACH_REFERENCED_VAR): Adjust.
|
25948 |
|
|
(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
|
25949 |
|
|
(num_referenced_vars): Adjust.
|
25950 |
|
|
* tree-flow-inline.h (gimple_referenced_vars): Adjust.
|
25951 |
|
|
(first_referenced_var): Remove.
|
25952 |
|
|
(end_referenced_vars_p): Likewise.
|
25953 |
|
|
(next_referenced_var): Likewise.
|
25954 |
|
|
(referenced_var_iterator_set): New helper function.
|
25955 |
|
|
* tree-dfa.c (referenced_var_lookup): Adjust.
|
25956 |
|
|
(referenced_var_check_and_insert): Likewise.
|
25957 |
|
|
(remove_referenced_var): Likewise.
|
25958 |
|
|
* tree-ssa.c (verify_flow_insensitive_alias_info): Use
|
25959 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
25960 |
|
|
(verify_call_clobbering): Likewise.
|
25961 |
|
|
(verify_memory_partitions): Likewise.
|
25962 |
|
|
(init_tree_ssa): Allocate bitmap instead of hashtable for
|
25963 |
|
|
referenced_vars.
|
25964 |
|
|
(delete_tree_ssa): Adjust.
|
25965 |
|
|
* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
|
25966 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
25967 |
|
|
(compute_tag_properties): Likewise.
|
25968 |
|
|
(set_initial_properties): Likewise.
|
25969 |
|
|
(find_partition_for): Likewise.
|
25970 |
|
|
(update_reference_counts): Likewise.
|
25971 |
|
|
(dump_may_aliases_for): Likewise.
|
25972 |
|
|
* tree-ssa-operands.c (add_virtual_operand): Likewise.
|
25973 |
|
|
(add_call_clobber_ops): Likewise.
|
25974 |
|
|
(add_call_read_ops): Likewise.
|
25975 |
|
|
(get_asm_expr_operands): Likewise.
|
25976 |
|
|
* tree-into-ssa.c (dump_decl_set): Likewise.
|
25977 |
|
|
(update_ssa): Likewise.
|
25978 |
|
|
* tree-sra.c (scan_function): Likewise.
|
25979 |
|
|
(decide_instantiations): Likewise.
|
25980 |
|
|
(scalarize_parms): Likewise.
|
25981 |
|
|
* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
|
25982 |
|
|
(dsa_named_for): Likewise.
|
25983 |
|
|
* tree-ssa-structalias.c (update_alias_info): Likewise.
|
25984 |
|
|
(merge_smts_into): Likewise.
|
25985 |
|
|
|
25986 |
|
|
2008-02-27 David Daney
|
25987 |
|
|
|
25988 |
|
|
PR target/34409
|
25989 |
|
|
* config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
|
25990 |
|
|
* config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
|
25991 |
|
|
* config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
|
25992 |
|
|
* config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
|
25993 |
|
|
* config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.
|
25994 |
|
|
|
25995 |
|
|
2008-02-27 Uros Bizjak
|
25996 |
|
|
|
25997 |
|
|
PR target/25477
|
25998 |
|
|
* config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
|
25999 |
|
|
(BUILT_IN_NEXTTOWARD): Remove.
|
26000 |
|
|
(BUILT_IN_NEXTTOWARDF): Ditto.
|
26001 |
|
|
* config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
|
26002 |
|
|
alloca/strcpy/strcat. Remove commented-out code. Fix whitespace.
|
26003 |
|
|
|
26004 |
|
|
2008-02-27 Tom Tromey
|
26005 |
|
|
|
26006 |
|
|
* tree-dump.c (dequeue_and_dump) : Check
|
26007 |
|
|
DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
|
26008 |
|
|
|
26009 |
|
|
2008-02-27 Jan Beulich
|
26010 |
|
|
|
26011 |
|
|
* c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
|
26012 |
|
|
update the respective field on newdecl.
|
26013 |
|
|
|
26014 |
|
|
2008-02-27 Revital Eres
|
26015 |
|
|
|
26016 |
|
|
PR rtl-optimization/34999
|
26017 |
|
|
* bb-reorder.c (add_labels_and_missing_jumps): Do not handle
|
26018 |
|
|
crossing edges that ends with a call insn.
|
26019 |
|
|
(fix_up_fall_thru_edges): Handle crossing edges that ends with a
|
26020 |
|
|
call insn and clear the EDGE_CROSSING flag of the crossing edge
|
26021 |
|
|
when fixing fallthru edges.
|
26022 |
|
|
|
26023 |
|
|
2008-02-27 Richard Guenther
|
26024 |
|
|
|
26025 |
|
|
PR middle-end/35390
|
26026 |
|
|
* fold-const.c (fold_unary): Return the correct argument,
|
26027 |
|
|
converted to the result type.
|
26028 |
|
|
|
26029 |
|
|
2008-02-27 Richard Guenther
|
26030 |
|
|
|
26031 |
|
|
PR middle-end/34971
|
26032 |
|
|
* expr.c (expand_expr_real_1): Assert on rotates that operate
|
26033 |
|
|
on partial modes.
|
26034 |
|
|
* fold-const.c (fold_binary): Use the types precision, not the
|
26035 |
|
|
bitsize of the mode if folding rotate expressions. Build rotates
|
26036 |
|
|
only for full modes.
|
26037 |
|
|
|
26038 |
|
|
2008-02-27 Jakub Jelinek
|
26039 |
|
|
|
26040 |
|
|
* c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
|
26041 |
|
|
and CPP_PRAGMA_EOL.
|
26042 |
|
|
* c-pragma.c (pragma_ns_name): New typedef.
|
26043 |
|
|
(registered_pp_pragmas): New variable.
|
26044 |
|
|
(c_pp_lookup_pragma): New function.
|
26045 |
|
|
(c_register_pragma_1): If flag_preprocess_only, do nothing
|
26046 |
|
|
for non-expanded pragmas, for expanded ones push pragma's
|
26047 |
|
|
namespace and name into registered_pp_pragmas vector.
|
26048 |
|
|
(c_invoke_pragma_handler): Register OpenMP pragmas even when
|
26049 |
|
|
flag_preprocess_only, don't register GCC pch_preprocess
|
26050 |
|
|
pragma if flag_preprocess_only.
|
26051 |
|
|
* c-opts.c (c_common_init): Call init_pragma even if
|
26052 |
|
|
flag_preprocess_only.
|
26053 |
|
|
* c-pragma.c (c_pp_lookup_pragma): New prototype.
|
26054 |
|
|
* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
|
26055 |
|
|
cpp_register_pragma if flag_preprocess_only.
|
26056 |
|
|
|
26057 |
|
|
2008-02-26 Ralf Wildenhues
|
26058 |
|
|
|
26059 |
|
|
PR c/28800
|
26060 |
|
|
* c-parser.c (c_parser_translation_unit): Warn for empty
|
26061 |
|
|
translation unit, not empty source file.
|
26062 |
|
|
|
26063 |
|
|
2008-02-26 Paul Brook
|
26064 |
|
|
|
26065 |
|
|
* config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
|
26066 |
|
|
operand for Thumb-2.
|
26067 |
|
|
* config/arm/arm.h (reg_class): Add CORE_REGS.
|
26068 |
|
|
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
|
26069 |
|
|
(BASE_REG_CLASS): Use CORE_REGS.
|
26070 |
|
|
(PREFERRED_RELOAD_CLASS): Add STACK_REG.
|
26071 |
|
|
(REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
|
26072 |
|
|
(REGNO_OK_FOR_INDEX_P): Exclude SP.
|
26073 |
|
|
(ARM_REG_OK_FOR_INDEX_P): Always define. Use
|
26074 |
|
|
ARM_REGNO_OK_FOR_INDEX_P.
|
26075 |
|
|
(ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
|
26076 |
|
|
* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
|
26077 |
|
|
arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
|
26078 |
|
|
(ldm/stm peepholes): Ditto.
|
26079 |
|
|
* config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
|
26080 |
|
|
* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
|
26081 |
|
|
* config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
|
26082 |
|
|
* config/arm/constraints.md: Enable "k" constraint on ARM.
|
26083 |
|
|
|
26084 |
|
|
2008-02-27 Ben Elliston
|
26085 |
|
|
|
26086 |
|
|
* config/rs6000/rs6000.c: Annotate cache line size field in all
|
26087 |
|
|
instances of struct processor_costs.
|
26088 |
|
|
|
26089 |
|
|
2008-02-26 David Edelsohn
|
26090 |
|
|
|
26091 |
|
|
* dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
|
26092 |
|
|
dse2, gcse, if_conversion, if_after_combine, if_after_reload,
|
26093 |
|
|
jump_bypass): New counters.
|
26094 |
|
|
* cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
|
26095 |
|
|
* dce.c (gate_ud_dce): Same.
|
26096 |
|
|
(gate_fast_dce): Same.
|
26097 |
|
|
* dse.c (gate_dse1): New function.
|
26098 |
|
|
(gate_dse2): New function.
|
26099 |
|
|
(gate_dse): Merge results of new gate functions.
|
26100 |
|
|
* gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
|
26101 |
|
|
(gate_handle_jump_bypass): Add dbg_cnt.
|
26102 |
|
|
(gate_handle_gcse): Add dbg_cnt.
|
26103 |
|
|
* ifcvt.c (gate_handle_if_conversion): Same.
|
26104 |
|
|
(gate_handle_if_after_combine): Same.
|
26105 |
|
|
(gate_handle_if_after_reload): Same.
|
26106 |
|
|
* Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.
|
26107 |
|
|
|
26108 |
|
|
2008-02-26 Edmar Wienskoski
|
26109 |
|
|
|
26110 |
|
|
* config/rs6000/rs6000.c (processor_costs): Update e300 cache
|
26111 |
|
|
line sizes.
|
26112 |
|
|
* doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.
|
26113 |
|
|
|
26114 |
|
|
2008-02-26 Jason Merrill
|
26115 |
|
|
|
26116 |
|
|
PR c++/35315
|
26117 |
|
|
* attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE
|
26118 |
|
|
alone if it's the naming decl for the type's main variant.
|
26119 |
|
|
|
26120 |
|
|
2008-02-26 Tom Tromey
|
26121 |
|
|
|
26122 |
|
|
* system.h (USE_MAPPED_LOCATION): Poison.
|
26123 |
|
|
* Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
|
26124 |
|
|
* tree-cfg.c (make_cond_expr_edges): Remove old location code.
|
26125 |
|
|
(make_goto_expr_edges): Likewise.
|
26126 |
|
|
(remove_bb): Likewise.
|
26127 |
|
|
(execute_warn_function_return): Likewise.
|
26128 |
|
|
* basic-block.h (struct edge_def) : Change type to
|
26129 |
|
|
location_t.
|
26130 |
|
|
* c-common.c (fname_decl): Remove old location code.
|
26131 |
|
|
* tree-vect-transform.c (vect_finish_stmt_generation): Remove old
|
26132 |
|
|
location code.
|
26133 |
|
|
* rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
|
26134 |
|
|
variant.
|
26135 |
|
|
(ASM_INPUT_SOURCE_LOCATION): Likewise.
|
26136 |
|
|
(gen_rtx_ASM_INPUT): Likewise.
|
26137 |
|
|
(gen_rtx_ASM_INPUT_loc): Likewise.
|
26138 |
|
|
(get_rtx_asm_OPERANDS): Remove.
|
26139 |
|
|
* cfglayout.c (insn_locators_alloc): Remove old location code.
|
26140 |
|
|
(set_curr_insn_source_location): Likewise.
|
26141 |
|
|
(curr_insn_locator): Likewise.
|
26142 |
|
|
* print-tree.c (print_node): Remove old location code.
|
26143 |
|
|
* tree-mudflap.c (mf_varname_tree): Remove old location code.
|
26144 |
|
|
(mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
|
26145 |
|
|
* cfgexpand.c (expand_gimple_cond_expr): Don't use
|
26146 |
|
|
location_from_locus.
|
26147 |
|
|
(construct_exit_block): Remove old location code.
|
26148 |
|
|
* emit-rtl.c (force_next_line_note): Remove old location code.
|
26149 |
|
|
* profile.c (branch_prob): Remove old location code.
|
26150 |
|
|
* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
|
26151 |
|
|
LOC_LINE): Remove old-location variants.
|
26152 |
|
|
* langhooks.c (lhd_print_error_function): Remove old location
|
26153 |
|
|
code.
|
26154 |
|
|
* configure, config.in: Rebuilt.
|
26155 |
|
|
* configure.ac (--enable-mapped-location): Remove.
|
26156 |
|
|
* c-decl.c (c_init_decl_processing): Remove old location code.
|
26157 |
|
|
(finish_function): Likewise.
|
26158 |
|
|
* recog.c (decode_asm_operands): Remove old location code.
|
26159 |
|
|
* c-pch.c (c_common_read_pch): Remove old location code.
|
26160 |
|
|
* rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
|
26161 |
|
|
variants.
|
26162 |
|
|
* gimple-low.c (lower_function_body): Remove old location code.
|
26163 |
|
|
* toplev.c (unknown_location): Remove.
|
26164 |
|
|
(push_srcloc): Remove old-location variant.
|
26165 |
|
|
(process_options): Remove old location code.
|
26166 |
|
|
(lang_dependent_init): Likewise.
|
26167 |
|
|
* input.h (UNKNOWN_LOCATION): Move definition.
|
26168 |
|
|
(location_t): Undeprecate.
|
26169 |
|
|
(source_locus): Remove.
|
26170 |
|
|
(location_from_locus): Remove.
|
26171 |
|
|
(struct location_s): Remove.
|
26172 |
|
|
Remove all old-location code.
|
26173 |
|
|
(input_line, input_filename): Remove.
|
26174 |
|
|
* final.c (final_scan_insn): Remove old location code.
|
26175 |
|
|
* diagnostic.c (diagnostic_build_prefix): Remove
|
26176 |
|
|
USE_MAPPED_LOCATION test.
|
26177 |
|
|
* tree.h (gimple_stmt) : Now a location_t.
|
26178 |
|
|
(tree_exp) : Likewise.
|
26179 |
|
|
(DECL_IS_BUILTIN): Remove old-location variant.
|
26180 |
|
|
(annotate_with_file_line, annotate_with_locus): Likewise.
|
26181 |
|
|
(expr_locus, set_expr_locus): Update.
|
26182 |
|
|
* tree.c (build1_stat): Remove old location code.
|
26183 |
|
|
(last_annotated_node): Remove.
|
26184 |
|
|
(annotate_with_file_line): Remove old-location variant.
|
26185 |
|
|
(annotate_with_locus): Likewise.
|
26186 |
|
|
(expr_location): Remove old location code.
|
26187 |
|
|
(set_expr_location): Likewise.
|
26188 |
|
|
(expr_has_location): Likewise.
|
26189 |
|
|
(expr_locus): Likewise.
|
26190 |
|
|
(set_expr_locus): Likewise.
|
26191 |
|
|
(expr_filename): Don't use location_from_locus.
|
26192 |
|
|
(expr_lineno): Likewise.
|
26193 |
|
|
* rtl-error.c (location_for_asm): Remove old location code.
|
26194 |
|
|
* c-lex.c (cb_line_change): Remove old location code.
|
26195 |
|
|
(fe_file_change): Likewise.
|
26196 |
|
|
(cb_def_pragma): Likewise.
|
26197 |
|
|
(c_lex_with_flags): Likewise.
|
26198 |
|
|
* gengtype.c (do_typedef): Don't special-case location types.
|
26199 |
|
|
(define_location_structures): Remove.
|
26200 |
|
|
(main): Don't call define_location_structures.
|
26201 |
|
|
* tree-pretty-print.c (dump_implicit_edges): Remove old location
|
26202 |
|
|
code.
|
26203 |
|
|
|
26204 |
|
|
2008-02-26 Manuel Lopez-Ibanez
|
26205 |
|
|
|
26206 |
|
|
PR 26264
|
26207 |
|
|
* builtins.def (BUILT_IN_STDARG_START): Remove.
|
26208 |
|
|
* builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
|
26209 |
|
|
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
|
26210 |
|
|
* tree-inline.c (inline_forbidden_p_1): Likewise.
|
26211 |
|
|
|
26212 |
|
|
2008-02-26 Richard Guenther
|
26213 |
|
|
|
26214 |
|
|
* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
|
26215 |
|
|
* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
|
26216 |
|
|
(lookup_decl_from_uid): Declare.
|
26217 |
|
|
(remove_decl_from_map): Likewise.
|
26218 |
|
|
* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
|
26219 |
|
|
* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
|
26220 |
|
|
(decl_for_uid_map): New global hashtable mapping DECL_UID
|
26221 |
|
|
to the decl tree.
|
26222 |
|
|
(init_ttree): Allocate it.
|
26223 |
|
|
(insert_decl_to_uid_decl_map): New helper function.
|
26224 |
|
|
(make_node_stat): Insert new decls into the map.
|
26225 |
|
|
(copy_node_stat): Likewise.
|
26226 |
|
|
(lookup_decl_from_uid): New function.
|
26227 |
|
|
(remove_decl_from_map): Likewise.
|
26228 |
|
|
(print_decl_for_uid_map_statistics): New helper.
|
26229 |
|
|
(dump_tree_statistics): Call it.
|
26230 |
|
|
|
26231 |
|
|
* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
|
26232 |
|
|
(referenced_var_iterator): Adjust.
|
26233 |
|
|
(FOR_EACH_REFERENCED_VAR): Adjust.
|
26234 |
|
|
(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
|
26235 |
|
|
(num_referenced_vars): Adjust.
|
26236 |
|
|
* tree-flow-inline.h (gimple_referenced_vars): Adjust.
|
26237 |
|
|
(first_referenced_var): Remove.
|
26238 |
|
|
(end_referenced_vars_p): Likewise.
|
26239 |
|
|
(next_referenced_var): Likewise.
|
26240 |
|
|
(referenced_var_iterator_set): New helper function.
|
26241 |
|
|
* tree-dfa.c (referenced_var_lookup): Adjust.
|
26242 |
|
|
(referenced_var_check_and_insert): Likewise.
|
26243 |
|
|
(remove_referenced_var): Likewise.
|
26244 |
|
|
* tree-ssa.c (verify_flow_insensitive_alias_info): Use
|
26245 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
26246 |
|
|
(verify_call_clobbering): Likewise.
|
26247 |
|
|
(verify_memory_partitions): Likewise.
|
26248 |
|
|
(init_tree_ssa): Allocate bitmap instead of hashtable for
|
26249 |
|
|
referenced_vars.
|
26250 |
|
|
(delete_tree_ssa): Adjust.
|
26251 |
|
|
* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
|
26252 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
26253 |
|
|
(compute_tag_properties): Likewise.
|
26254 |
|
|
(set_initial_properties): Likewise.
|
26255 |
|
|
(find_partition_for): Likewise.
|
26256 |
|
|
(update_reference_counts): Likewise.
|
26257 |
|
|
(dump_may_aliases_for): Likewise.
|
26258 |
|
|
* tree-ssa-operands.c (add_virtual_operand): Likewise.
|
26259 |
|
|
(add_call_clobber_ops): Likewise.
|
26260 |
|
|
(add_call_read_ops): Likewise.
|
26261 |
|
|
(get_asm_expr_operands): Likewise.
|
26262 |
|
|
* tree-into-ssa.c (dump_decl_set): Likewise.
|
26263 |
|
|
(update_ssa): Likewise.
|
26264 |
|
|
* tree-sra.c (scan_function): Likewise.
|
26265 |
|
|
(decide_instantiations): Likewise.
|
26266 |
|
|
(scalarize_parms): Likewise.
|
26267 |
|
|
* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
|
26268 |
|
|
(dsa_named_for): Likewise.
|
26269 |
|
|
* tree-ssa-structalias.c (update_alias_info): Likewise.
|
26270 |
|
|
(merge_smts_into): Likewise.
|
26271 |
|
|
|
26272 |
|
|
2008-02-26 Manuel Lopez-Ibanez
|
26273 |
|
|
|
26274 |
|
|
PR 34351
|
26275 |
|
|
* doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
|
26276 |
|
|
* c-opts.c (c_common_handle_option): Wall enables
|
26277 |
|
|
Wvolatile-register-var.
|
26278 |
|
|
* common.opt: Move Wvolatile-register-var to...
|
26279 |
|
|
* c.opt: ...here.
|
26280 |
|
|
|
26281 |
|
|
2008-02-26 Manuel Lopez-Ibanez
|
26282 |
|
|
|
26283 |
|
|
* common.opt (Wlarger-than=): New.
|
26284 |
|
|
* doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
|
26285 |
|
|
-Wlarger-than=.
|
26286 |
|
|
* opts.c (common_handle_option): Handle -Wlarger-than=.
|
26287 |
|
|
* optc-gen.awk: Likewise.
|
26288 |
|
|
* opth-gen.awk: Likewise.
|
26289 |
|
|
* stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
|
26290 |
|
|
* tree-optimize.c (tree_rest_of_compilation): Likewise.
|
26291 |
|
|
|
26292 |
|
|
2008-02-26 Manuel Lopez-Ibanez
|
26293 |
|
|
|
26294 |
|
|
* c-common.c (match_case_to_enum_1): Add appropriate
|
26295 |
|
|
OPT_W* parameter to warning.
|
26296 |
|
|
(c_do_switch_warnings): Likewise.
|
26297 |
|
|
* c-typeck.c (warning_init): Add one more parameter following
|
26298 |
|
|
'warning' function.
|
26299 |
|
|
(push_init_level): Update call to warning_init.
|
26300 |
|
|
(pop_init_level): Likewise.
|
26301 |
|
|
(add_pending_init): Likewise.
|
26302 |
|
|
(output_init_element: Likewise.
|
26303 |
|
|
|
26304 |
|
|
2008-02-26 Manuel Lopez-Ibanez
|
26305 |
|
|
|
26306 |
|
|
PR 28322
|
26307 |
|
|
* toplev.c (toplev_main): If there are warnings or error, print
|
26308 |
|
|
errors for ignored options.
|
26309 |
|
|
* opts.c (ignored_options): New static variable.
|
26310 |
|
|
(postpone_unknown_option_error): New.
|
26311 |
|
|
(print_ignored_options): New.
|
26312 |
|
|
(handle_option): Postpone errors for unknown -Wno-* options.
|
26313 |
|
|
* opts.h (print_ignored_options): Declare.
|
26314 |
|
|
|
26315 |
|
|
2008-02-25 Richard Sandiford
|
26316 |
|
|
|
26317 |
|
|
* config/mips/mips.md (loadgp_blockage, blockage): Change type
|
26318 |
|
|
to "ghost".
|
26319 |
|
|
|
26320 |
|
|
2008-02-25 Richard Guenther
|
26321 |
|
|
|
26322 |
|
|
Revert:
|
26323 |
|
|
2008-02-25 Richard Guenther
|
26324 |
|
|
|
26325 |
|
|
* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
|
26326 |
|
|
* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
|
26327 |
|
|
(lookup_decl_from_uid): Declare.
|
26328 |
|
|
* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
|
26329 |
|
|
* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
|
26330 |
|
|
(decl_for_uid_map): New global hashtable mapping DECL_UID
|
26331 |
|
|
to the decl tree.
|
26332 |
|
|
(init_ttree): Allocate it.
|
26333 |
|
|
(insert_decl_to_uid_decl_map): New helper function.
|
26334 |
|
|
(make_node_stat): Insert new decls into the map.
|
26335 |
|
|
(copy_node_stat): Likewise.
|
26336 |
|
|
(lookup_decl_from_uid): New function.
|
26337 |
|
|
(print_decl_for_uid_map_statistics): New helper.
|
26338 |
|
|
(dump_tree_statistics): Call it.
|
26339 |
|
|
|
26340 |
|
|
* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
|
26341 |
|
|
(referenced_var_iterator): Adjust.
|
26342 |
|
|
(FOR_EACH_REFERENCED_VAR): Adjust.
|
26343 |
|
|
(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
|
26344 |
|
|
(num_referenced_vars): Adjust.
|
26345 |
|
|
* tree-flow-inline.h (gimple_referenced_vars): Adjust.
|
26346 |
|
|
(first_referenced_var): Remove.
|
26347 |
|
|
(end_referenced_vars_p): Likewise.
|
26348 |
|
|
(next_referenced_var): Likewise.
|
26349 |
|
|
(referenced_var_iterator_set): New helper function.
|
26350 |
|
|
* tree-dfa.c (referenced_var_lookup): Adjust.
|
26351 |
|
|
(referenced_var_check_and_insert): Likewise.
|
26352 |
|
|
(remove_referenced_var): Likewise.
|
26353 |
|
|
* tree-ssa.c (verify_flow_insensitive_alias_info): Use
|
26354 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
26355 |
|
|
(verify_call_clobbering): Likewise.
|
26356 |
|
|
(verify_memory_partitions): Likewise.
|
26357 |
|
|
(init_tree_ssa): Allocate bitmap instead of hashtable for
|
26358 |
|
|
referenced_vars.
|
26359 |
|
|
(delete_tree_ssa): Adjust.
|
26360 |
|
|
* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
|
26361 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
26362 |
|
|
(compute_tag_properties): Likewise.
|
26363 |
|
|
(set_initial_properties): Likewise.
|
26364 |
|
|
(find_partition_for): Likewise.
|
26365 |
|
|
(update_reference_counts): Likewise.
|
26366 |
|
|
(dump_may_aliases_for): Likewise.
|
26367 |
|
|
* tree-ssa-operands.c (add_virtual_operand): Likewise.
|
26368 |
|
|
(add_call_clobber_ops): Likewise.
|
26369 |
|
|
(add_call_read_ops): Likewise.
|
26370 |
|
|
(get_asm_expr_operands): Likewise.
|
26371 |
|
|
* tree-into-ssa.c (dump_decl_set): Likewise.
|
26372 |
|
|
(update_ssa): Likewise.
|
26373 |
|
|
* tree-sra.c (scan_function): Likewise.
|
26374 |
|
|
(decide_instantiations): Likewise.
|
26375 |
|
|
(scalarize_parms): Likewise.
|
26376 |
|
|
* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
|
26377 |
|
|
(dsa_named_for): Likewise.
|
26378 |
|
|
* tree-ssa-structalias.c (update_alias_info): Likewise.
|
26379 |
|
|
(merge_smts_into): Likewise.
|
26380 |
|
|
|
26381 |
|
|
2008-02-25 Janne Blomqvist
|
26382 |
|
|
|
26383 |
|
|
PR fortran/29549
|
26384 |
|
|
* doc/invoke.texi (-fcx-limited-range): Document new option.
|
26385 |
|
|
* toplev.c (process_options): Handle -fcx-fortran-rules.
|
26386 |
|
|
* common.opt: Add documentation for -fcx-fortran-rules.
|
26387 |
|
|
|
26388 |
|
|
2008-02-25 Janne Blomqvist
|
26389 |
|
|
|
26390 |
|
|
PR c/35162
|
26391 |
|
|
* doc/invoke.texi (-fcx-limited-range): Correct to be in line with
|
26392 |
|
|
actual behaviour and C99.
|
26393 |
|
|
|
26394 |
|
|
2008-02-26 Ben Elliston
|
26395 |
|
|
|
26396 |
|
|
* config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
|
26397 |
|
|
(ASM_CPU_POWER6_SPEC): Likewise.
|
26398 |
|
|
(ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
|
26399 |
|
|
Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
|
26400 |
|
|
(EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
|
26401 |
|
|
|
26402 |
|
|
2008-02-25 Richard Guenther
|
26403 |
|
|
|
26404 |
|
|
* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
|
26405 |
|
|
* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
|
26406 |
|
|
(lookup_decl_from_uid): Declare.
|
26407 |
|
|
* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
|
26408 |
|
|
* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
|
26409 |
|
|
(decl_for_uid_map): New global hashtable mapping DECL_UID
|
26410 |
|
|
to the decl tree.
|
26411 |
|
|
(init_ttree): Allocate it.
|
26412 |
|
|
(insert_decl_to_uid_decl_map): New helper function.
|
26413 |
|
|
(make_node_stat): Insert new decls into the map.
|
26414 |
|
|
(copy_node_stat): Likewise.
|
26415 |
|
|
(lookup_decl_from_uid): New function.
|
26416 |
|
|
(print_decl_for_uid_map_statistics): New helper.
|
26417 |
|
|
(dump_tree_statistics): Call it.
|
26418 |
|
|
|
26419 |
|
|
* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
|
26420 |
|
|
(referenced_var_iterator): Adjust.
|
26421 |
|
|
(FOR_EACH_REFERENCED_VAR): Adjust.
|
26422 |
|
|
(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
|
26423 |
|
|
(num_referenced_vars): Adjust.
|
26424 |
|
|
* tree-flow-inline.h (gimple_referenced_vars): Adjust.
|
26425 |
|
|
(first_referenced_var): Remove.
|
26426 |
|
|
(end_referenced_vars_p): Likewise.
|
26427 |
|
|
(next_referenced_var): Likewise.
|
26428 |
|
|
(referenced_var_iterator_set): New helper function.
|
26429 |
|
|
* tree-dfa.c (referenced_var_lookup): Adjust.
|
26430 |
|
|
(referenced_var_check_and_insert): Likewise.
|
26431 |
|
|
(remove_referenced_var): Likewise.
|
26432 |
|
|
* tree-ssa.c (verify_flow_insensitive_alias_info): Use
|
26433 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
26434 |
|
|
(verify_call_clobbering): Likewise.
|
26435 |
|
|
(verify_memory_partitions): Likewise.
|
26436 |
|
|
(init_tree_ssa): Allocate bitmap instead of hashtable for
|
26437 |
|
|
referenced_vars.
|
26438 |
|
|
(delete_tree_ssa): Adjust.
|
26439 |
|
|
* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
|
26440 |
|
|
FOR_EACH_REFERENCED_VAR_IN_BITMAP.
|
26441 |
|
|
(compute_tag_properties): Likewise.
|
26442 |
|
|
(set_initial_properties): Likewise.
|
26443 |
|
|
(find_partition_for): Likewise.
|
26444 |
|
|
(update_reference_counts): Likewise.
|
26445 |
|
|
(dump_may_aliases_for): Likewise.
|
26446 |
|
|
* tree-ssa-operands.c (add_virtual_operand): Likewise.
|
26447 |
|
|
(add_call_clobber_ops): Likewise.
|
26448 |
|
|
(add_call_read_ops): Likewise.
|
26449 |
|
|
(get_asm_expr_operands): Likewise.
|
26450 |
|
|
* tree-into-ssa.c (dump_decl_set): Likewise.
|
26451 |
|
|
(update_ssa): Likewise.
|
26452 |
|
|
* tree-sra.c (scan_function): Likewise.
|
26453 |
|
|
(decide_instantiations): Likewise.
|
26454 |
|
|
(scalarize_parms): Likewise.
|
26455 |
|
|
* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
|
26456 |
|
|
(dsa_named_for): Likewise.
|
26457 |
|
|
* tree-ssa-structalias.c (update_alias_info): Likewise.
|
26458 |
|
|
(merge_smts_into): Likewise.
|
26459 |
|
|
|
26460 |
|
|
2008-02-25 Andreas Krebbel
|
26461 |
|
|
|
26462 |
|
|
PR target/35258
|
26463 |
|
|
* cse.c (cse_insn): Avoid creation of overlapping MEMs.
|
26464 |
|
|
* alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
|
26465 |
|
|
* alias.h (nonoverlapping_memrefs_p): Likewise.
|
26466 |
|
|
|
26467 |
|
|
2008-02-25 Jan Beulich
|
26468 |
|
|
|
26469 |
|
|
* Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
|
26470 |
|
|
* config/i386/netware-libgcc.exp: Add __bswap?i2,
|
26471 |
|
|
__emultls_get_address, __emultls_register_common,
|
26472 |
|
|
__floatundi?f, and _Unwind_GetIPInfo.
|
26473 |
|
|
* config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
|
26474 |
|
|
Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
|
26475 |
|
|
(gen_regparm_prefix): Likewise.
|
26476 |
|
|
(i386_nlm_encode_section_info): Sync with
|
26477 |
|
|
config/i386/winnt.c:i386_pe_encode_section_info().
|
26478 |
|
|
(i386_nlm_maybe_mangle_decl_assembler_name): New.
|
26479 |
|
|
i386_nlm_mangle_decl_assembler_name): New.
|
26480 |
|
|
(netware_override_options): New.
|
26481 |
|
|
* config/i386/netware.h (netware_override_options): Declare.
|
26482 |
|
|
(OVERRIDE_OPTIONS): Re-define to netware_override_options.
|
26483 |
|
|
(i386_nlm_mangle_decl_assembler_name): Declare.
|
26484 |
|
|
(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
|
26485 |
|
|
|
26486 |
|
|
2008-02-25 Ben Elliston
|
26487 |
|
|
|
26488 |
|
|
PR other/32948
|
26489 |
|
|
* c-decl.c (grokdeclarator): Remove unused local variables
|
26490 |
|
|
`typedef_type' and `type_as_written'.
|
26491 |
|
|
* bb-reorder.c
|
26492 |
|
|
(find_rarely_executed_basic_blocks_and_crossing_edges): Remove
|
26493 |
|
|
unused local variable `has_hot_blocks'.
|
26494 |
|
|
(fix_crossing_conditional_branches): Remove unused local variable
|
26495 |
|
|
`prev_bb'.
|
26496 |
|
|
|
26497 |
|
|
2008-02-25 Uros Bizjak
|
26498 |
|
|
|
26499 |
|
|
PR middle-end/19984
|
26500 |
|
|
* builtins.def (BUILT_IN_NAN): Define as c99 builtin
|
26501 |
|
|
using DEF_C99_BUILTIN.
|
26502 |
|
|
(BUILT_IN_NANF): Ditto.
|
26503 |
|
|
(BUILT_IN_NANL): Ditto.
|
26504 |
|
|
|
26505 |
|
|
2008-02-25 Ayal Zaks
|
26506 |
|
|
Revital Eres
|
26507 |
|
|
|
26508 |
|
|
* modulo-sched.c (calculate_must_precede_follow): Address TODO
|
26509 |
|
|
regarding the order of two dependent insns in the same row.
|
26510 |
|
|
|
26511 |
|
|
2008-02-25 Eric Botcazou
|
26512 |
|
|
|
26513 |
|
|
* stor-layout.c (layout_decl): Do not bump the alignment of a
|
26514 |
|
|
bit-field to more than byte alignment if it is packed.
|
26515 |
|
|
|
26516 |
|
|
2008-02-24 David Edelsohn
|
26517 |
|
|
|
26518 |
|
|
* config/rs6000/rs6000.c (processor_costs): Add cache costs for
|
26519 |
|
|
e300c2 and e300c3.
|
26520 |
|
|
|
26521 |
|
|
2008-02-24 Diego Novillo
|
26522 |
|
|
|
26523 |
|
|
http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
|
26524 |
|
|
|
26525 |
|
|
PR 33738
|
26526 |
|
|
* tree-vrp.c (vrp_evaluate_conditional): With
|
26527 |
|
|
-Wtype-limits, emit a warning when comparing against a
|
26528 |
|
|
constant outside the natural range of OP0's type.
|
26529 |
|
|
* c.opt (Wtype-limits): Move ...
|
26530 |
|
|
* common.opt (Wtype-limits): ... here.
|
26531 |
|
|
|
26532 |
|
|
2008-02-24 Edmar Wienskoski
|
26533 |
|
|
|
26534 |
|
|
* config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
|
26535 |
|
|
* config/rs6000/e300c2c3.md: New file.
|
26536 |
|
|
* config/rs6000/rs6000.c (processor_costs): Add new costs for
|
26537 |
|
|
e300c2 and e300c3.
|
26538 |
|
|
(rs6000_override_options): Add e300c2 and e300c3 cases to
|
26539 |
|
|
processor_target_table. Do not allow usage of Altivec or Spe
|
26540 |
|
|
with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
|
26541 |
|
|
(rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
|
26542 |
|
|
* config/rs6000/rs6000.h (processor_type): Add
|
26543 |
|
|
PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
|
26544 |
|
|
(ASM_CPU_SPEC): Add e300c2 and e300c3.
|
26545 |
|
|
* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
|
26546 |
|
|
and ppce300c3. Include e300c2c3.md.
|
26547 |
|
|
|
26548 |
|
|
2008-02-23 David Edelsohn
|
26549 |
|
|
|
26550 |
|
|
* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
|
26551 |
|
|
instead of TARGET_STRICT_ALIGN.
|
26552 |
|
|
|
26553 |
|
|
2008-02-23 Joseph Myers
|
26554 |
|
|
|
26555 |
|
|
* explow.c (memory_address): Assert that the generated address is
|
26556 |
|
|
valid.
|
26557 |
|
|
|
26558 |
|
|
2008-02-23 Francois-Xavier Coudert
|
26559 |
|
|
|
26560 |
|
|
PR target/25477
|
26561 |
|
|
* config/darwin-protos.h: Add darwin_patch_builtins prototype.
|
26562 |
|
|
* config/darwin-ppc-ldouble-patch.def: New file.
|
26563 |
|
|
* config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
|
26564 |
|
|
* config/rs6000/rs6000.c (rs6000_init_builtins): Call
|
26565 |
|
|
SUBTARGET_INIT_BUILTINS if defined.
|
26566 |
|
|
* config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
|
26567 |
|
|
New functions.
|
26568 |
|
|
|
26569 |
|
|
2008-02-23 Andrew Pinski
|
26570 |
|
|
|
26571 |
|
|
PR rtl-opt/33512
|
26572 |
|
|
* simplify-rtx.c (simplify_binary_operation_1): Add simplification
|
26573 |
|
|
of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
|
26574 |
|
|
|
26575 |
|
|
2008-02-23 Andrew Pinski
|
26576 |
|
|
|
26577 |
|
|
PR pch/35027
|
26578 |
|
|
* c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
|
26579 |
|
|
file" warning condtional on -Winvalid-PCH.
|
26580 |
|
|
|
26581 |
|
|
2008-02-23 Daniel Jacobowitz
|
26582 |
|
|
|
26583 |
|
|
* expmed.c (extract_bit_field): Always use adjust_address for MEM.
|
26584 |
|
|
|
26585 |
|
|
2008-02-23 Uros Bizjak
|
26586 |
|
|
|
26587 |
|
|
PR target/22076
|
26588 |
|
|
PR target/34256
|
26589 |
|
|
* config/i386/mmx.md (*mov_internal_rex64): Use "!y" to
|
26590 |
|
|
prevent reload from using MMX registers.
|
26591 |
|
|
(*mov_internal): Ditto.
|
26592 |
|
|
(*movv2sf_internal_rex64): Ditto.
|
26593 |
|
|
(*movv2sf_internal): Ditto.
|
26594 |
|
|
|
26595 |
|
|
2008-02-23 Ralf Wildenhues
|
26596 |
|
|
|
26597 |
|
|
PR documentation/31569
|
26598 |
|
|
* doc/install.texi2html: Use makeinfo --no-number-sections.
|
26599 |
|
|
|
26600 |
|
|
2008-02-22 Nathan Froyd
|
26601 |
|
|
|
26602 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
|
26603 |
|
|
ensure that we can address an entire entity > 8 bytes. Don't
|
26604 |
|
|
generate reg+reg addressing for such data.
|
26605 |
|
|
|
26606 |
|
|
2008-02-22 Nathan Froyd
|
26607 |
|
|
|
26608 |
|
|
* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
|
26609 |
|
|
strings when optimizing for size, unless the target cares about
|
26610 |
|
|
alignment.
|
26611 |
|
|
|
26612 |
|
|
2008-02-22 Tom Tromey
|
26613 |
|
|
|
26614 |
|
|
* regclass.c (current_pass): Remove declaration.
|
26615 |
|
|
|
26616 |
|
|
2008-02-22 Anatoly Sokolov
|
26617 |
|
|
|
26618 |
|
|
* config/avr/libgcc.S (__RAMPZ__): Define.
|
26619 |
|
|
(__do_copy_data): Add for devices with 128KB code memory.
|
26620 |
|
|
|
26621 |
|
|
2008-02-22 Nathan Froyd
|
26622 |
|
|
|
26623 |
|
|
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
|
26624 |
|
|
Use spe_abi.
|
26625 |
|
|
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
|
26626 |
|
|
|
26627 |
|
|
2008-02-22 Hans-Peter Nilsson
|
26628 |
|
|
|
26629 |
|
|
* config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
|
26630 |
|
|
GENNONACR_REGS.
|
26631 |
|
|
|
26632 |
|
|
2008-02-22 Ralf Wildenhues
|
26633 |
|
|
|
26634 |
|
|
PR c/19999
|
26635 |
|
|
* c-typeck.c (build_binary_op): Warn about floating point
|
26636 |
|
|
comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
|
26637 |
|
|
|
26638 |
|
|
2008-02-21 Janis Johnson
|
26639 |
|
|
|
26640 |
|
|
PR target/34526
|
26641 |
|
|
* config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
|
26642 |
|
|
(rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
|
26643 |
|
|
add vrsave.
|
26644 |
|
|
(rs6000_override_options): Set altivec_abi as default, not override,
|
26645 |
|
|
for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
|
26646 |
|
|
TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
|
26647 |
|
|
is used; use new member spe_abi.
|
26648 |
|
|
(rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
|
26649 |
|
|
spe_abi and altivec_abi.
|
26650 |
|
|
|
26651 |
|
|
2008-02-22 Tomas Bily
|
26652 |
|
|
|
26653 |
|
|
* tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
|
26654 |
|
|
|
26655 |
|
|
2008-02-21 Ralf Wildenhues
|
26656 |
|
|
|
26657 |
|
|
PR bootstrap/35273
|
26658 |
|
|
* config.build (build_file_translate): Set to `CMD //c' only if
|
26659 |
|
|
it works.
|
26660 |
|
|
* Makefile.in (build_file_translate): Improve comment.
|
26661 |
|
|
|
26662 |
|
|
2008-02-21 Jan Hubicka
|
26663 |
|
|
|
26664 |
|
|
* predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
|
26665 |
|
|
PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
|
26666 |
|
|
PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
|
26667 |
|
|
|
26668 |
|
|
2008-02-21 Michael Matz
|
26669 |
|
|
|
26670 |
|
|
PR target/35264
|
26671 |
|
|
* config/i386/i386.c (ix86_expand_branch): Add missing breaks.
|
26672 |
|
|
|
26673 |
|
|
2008-02-21 Uros Bizjak
|
26674 |
|
|
|
26675 |
|
|
* config/i386/i386.md (movcc): Macroize expander from movsfcc,
|
26676 |
|
|
movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
|
26677 |
|
|
as insn constraint.
|
26678 |
|
|
* config/i386/sse.md (_movup): Macroize insn
|
26679 |
|
|
from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
|
26680 |
|
|
SSE_VEC_FLOAT_MODE_P as insn constraint.
|
26681 |
|
|
(_movmskp): Ditto from similar patterns.
|
26682 |
|
|
(sse4a_movnt): Macroize insn from sse4a_movntsf and
|
26683 |
|
|
sse4a_movntdf using MODEF mode iterator.
|
26684 |
|
|
(sse4a_vmmovnt): Macroize insn form sse4a_vmmovntv2df and
|
26685 |
|
|
sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
|
26686 |
|
|
(sse4_1_blendp): Ditto from similar patterns.
|
26687 |
|
|
(sse4_1_blendvp): Ditto.
|
26688 |
|
|
(sse4_1_dpp): Ditto.
|
26689 |
|
|
(sse4_1_roundp): Ditto.
|
26690 |
|
|
(sse4_1_rounds): Ditto.
|
26691 |
|
|
|
26692 |
|
|
2008-02-21 Richard Guenther
|
26693 |
|
|
|
26694 |
|
|
* tree.def (PAREN_EXPR): New tree code.
|
26695 |
|
|
* fold-const.c (fold_unary): Remove PAREN_EXPR around constants
|
26696 |
|
|
and PAREN_EXPR.
|
26697 |
|
|
* tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
|
26698 |
|
|
* expr.c (expand_expr_real_1): Likewise.
|
26699 |
|
|
* tree-inline.c (estimate_num_insns_1): Likewise.
|
26700 |
|
|
* tree-complex.c (expand_complex_move): Likewise.
|
26701 |
|
|
* tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
|
26702 |
|
|
as plain x.
|
26703 |
|
|
|
26704 |
|
|
2008-02-20 Kaz Kojima
|
26705 |
|
|
|
26706 |
|
|
PR target/35225
|
26707 |
|
|
* config/sh/sh.c (find_barrier): Don't go past 'from' argument.
|
26708 |
|
|
|
26709 |
|
|
2008-02-20 Kaz Kojima
|
26710 |
|
|
|
26711 |
|
|
PR target/35190
|
26712 |
|
|
* config/sh/sh.md (jump_compact): Disable for crossing jumps.
|
26713 |
|
|
|
26714 |
|
|
* config/sh/sh.c (find_barrier): Don't go past
|
26715 |
|
|
NOTE_INSN_SWITCH_TEXT_SECTIONS note.
|
26716 |
|
|
|
26717 |
|
|
2008-02-20 DJ Delorie
|
26718 |
|
|
|
26719 |
|
|
* config/h8300/h8300.md (insv): Force source operand to be a register.
|
26720 |
|
|
|
26721 |
|
|
* config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
|
26722 |
|
|
as a jump, not as a plain insn.
|
26723 |
|
|
|
26724 |
|
|
2008-02-20 Seongbae Park
|
26725 |
|
|
|
26726 |
|
|
* doc/invoke.texi (Warning Options): Add new option
|
26727 |
|
|
-Wframe-larger-than=.
|
26728 |
|
|
(-Wframe-larger-than): Document.
|
26729 |
|
|
|
26730 |
|
|
* flags.h (warn_frame_larger_than, frame_larger_than_size):
|
26731 |
|
|
Add declarations for new option variables.
|
26732 |
|
|
|
26733 |
|
|
* final.c (final_start_function): Check the frame size
|
26734 |
|
|
before emission and issue a Wframe-larger-than warning.
|
26735 |
|
|
|
26736 |
|
|
* opts.c (warn_frame_larger_than, frame_larger_than_size):
|
26737 |
|
|
Add definitions for new option variables.
|
26738 |
|
|
(common_handle_option): Handle new option OPT_Wframe_larger_than_.
|
26739 |
|
|
|
26740 |
|
|
* common.opt (Wframe-larger-than=): New option.
|
26741 |
|
|
|
26742 |
|
|
2008-02-20 Uros Bizjak
|
26743 |
|
|
|
26744 |
|
|
* config/i386/sse.md (_vmmul3): Fix typo in asm template.
|
26745 |
|
|
(_div3): Ditto.
|
26746 |
|
|
(_vmdiv3): Ditto.
|
26747 |
|
|
(_vmsqrt2): Ditto.
|
26748 |
|
|
(*smax3): Ditto.
|
26749 |
|
|
(sse5_frcz2): Ditto.
|
26750 |
|
|
(sse5_vmfrcz2): Ditto. Use TARGET_SSE5 instead of TARGET_ROUND
|
26751 |
|
|
as insn constraint.
|
26752 |
|
|
|
26753 |
|
|
2008-02-20 Richard Guenther
|
26754 |
|
|
|
26755 |
|
|
PR middle-end/35265
|
26756 |
|
|
* builtins.c (validate_arg): If we want an INTEGER_TYPE,
|
26757 |
|
|
be happy with INTEGRAL_TYPE_P.
|
26758 |
|
|
|
26759 |
|
|
2008-02-20 Richard Guenther
|
26760 |
|
|
|
26761 |
|
|
* fold-const.c (split_tree): Associate floatig-point expressions
|
26762 |
|
|
if flag_associative_math is set.
|
26763 |
|
|
|
26764 |
|
|
2008-02-20 Richard Guenther
|
26765 |
|
|
|
26766 |
|
|
* tree.h (fold_real_zero_addition_p): Declare.
|
26767 |
|
|
* fold-const.c (fold_real_zero_addition_p): Export.
|
26768 |
|
|
* tree-ssa-reassoc.c (eliminate_using_constants): Also handle
|
26769 |
|
|
floating-point operations with zero and one.
|
26770 |
|
|
|
26771 |
|
|
2008-02-20 Paolo Bonzini
|
26772 |
|
|
|
26773 |
|
|
* doc/install.texi: Correct references to CFLAGS, replacing them
|
26774 |
|
|
with BOOT_CFLAGS. Document flags used during bootstrap for
|
26775 |
|
|
target libraries.
|
26776 |
|
|
|
26777 |
|
|
2008-02-20 Uros Bizjak
|
26778 |
|
|
|
26779 |
|
|
* config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
|
26780 |
|
|
* config/i386/i386.md (*sse_setcc): Macroize from *sse_setccsf
|
26781 |
|
|
and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
|
26782 |
|
|
insn constraint.
|
26783 |
|
|
(smin3): Ditto from similar patterns.
|
26784 |
|
|
(smax3): Ditto.
|
26785 |
|
|
(*ieee_smin3): Ditto.
|
26786 |
|
|
(*ieee_smax3): Ditto.
|
26787 |
|
|
* config/i386/sse.md (sse): New mode attribute.
|
26788 |
|
|
(mov): Macroize expander from movv4sf and movv2df using
|
26789 |
|
|
SSEMODEF2P mode iterator.
|
26790 |
|
|
(_movnt): Ditto from similar patterns. Use
|
26791 |
|
|
SSE_VEC_FLOAT_MODE_P as insn constraint.
|
26792 |
|
|
(storent): Ditto.
|
26793 |
|
|
(storent): Macroize expander from storentsf and storentdf using
|
26794 |
|
|
MODEF mode iterator.
|
26795 |
|
|
(neg2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
|
26796 |
|
|
mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
|
26797 |
|
|
(abs2): Ditto from similar patterns.
|
26798 |
|
|
(add3, *add3, _vmadd3): Ditto.
|
26799 |
|
|
(sub3, *sub3, _vmsub3): Ditto.
|
26800 |
|
|
(_div3, _vmdiv3): Ditto.
|
26801 |
|
|
(_vmsqrt2): Ditto.
|
26802 |
|
|
(smin3, *smin3_finite, *smin3)
|
26803 |
|
|
(_vmsmin3, *ieee_smin3): Ditto.
|
26804 |
|
|
(smax3, *smax3_finite, *smax3)
|
26805 |
|
|
(_vmsmax3, *ieee_smax3): Ditto.
|
26806 |
|
|
(_maskcmp3): Macroize from sse_maskcmpv4sf3,
|
26807 |
|
|
sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
|
26808 |
|
|
mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
|
26809 |
|
|
insn constraint.
|
26810 |
|
|
(_comi): Macroize from sse_comi and sse2_comi using MODEF mode
|
26811 |
|
|
iterator and SSE_FLOAT_MODE_P as insn constraint.
|
26812 |
|
|
(_ucomi): Ditto from similar patterns.
|
26813 |
|
|
(_vmmaskcmp3): Macroize from sse_vmmaskcmpv4sf3 and
|
26814 |
|
|
sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
|
26815 |
|
|
SSE_VEC_FLOAT_MODE_P as insn constraint.
|
26816 |
|
|
(vcond): Ditto from similar patterns.
|
26817 |
|
|
(and3, *and3): Ditto.
|
26818 |
|
|
(_nand3): Ditto.
|
26819 |
|
|
(ior3, *ior3): Ditto.
|
26820 |
|
|
(xor3, *xor3): Ditto.
|
26821 |
|
|
(*and3): Macroize from *andsf3 and *anddf3 using MODEF mode
|
26822 |
|
|
iterator and SSE_FLOAT_MODE_P as insn constraint.
|
26823 |
|
|
(*nand3): Ditto from similar patterns.
|
26824 |
|
|
(*ior3): Ditto.
|
26825 |
|
|
(*xor3): Ditto.
|
26826 |
|
|
|
26827 |
|
|
2008-02-20 Ira Rosen
|
26828 |
|
|
|
26829 |
|
|
* config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
|
26830 |
|
|
vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
|
26831 |
|
|
vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
|
26832 |
|
|
|
26833 |
|
|
2008-02-19 Jan Hubicka
|
26834 |
|
|
|
26835 |
|
|
* predict.c (tree_bb_level_predictions): Remove variable next
|
26836 |
|
|
mistakely introduced by previous commit.
|
26837 |
|
|
|
26838 |
|
|
2008-02-19 Jan Hubicka
|
26839 |
|
|
|
26840 |
|
|
* predict.c (predict_paths_leading_to): Rewrite.
|
26841 |
|
|
(predict_paths_for_bb): New.
|
26842 |
|
|
(tree_bb_level_predictions): Update call of predict_paths_leading_to.
|
26843 |
|
|
|
26844 |
|
|
2008-02-19 Ralf Wildenhues
|
26845 |
|
|
|
26846 |
|
|
PR bootstrap/35218
|
26847 |
|
|
* Makefile.in (build_file_translate): New.
|
26848 |
|
|
(gcc-vers.texi): Use it for translating $(abs_srcdir).
|
26849 |
|
|
* config.build (build_file_translate): Set to `CMD //c' on MinGW.
|
26850 |
|
|
* configure.ac (build_file_translate): Substitute it.
|
26851 |
|
|
* configure: Regenerate.
|
26852 |
|
|
|
26853 |
|
|
2008-02-19 Jan Hubicka
|
26854 |
|
|
|
26855 |
|
|
PR rtl-optimization/34408
|
26856 |
|
|
* see.c (see_def_extension_not_merged): Copy subreg so we don't have
|
26857 |
|
|
invalid sharing.
|
26858 |
|
|
|
26859 |
|
|
2008-02-19 Jan Hubicka
|
26860 |
|
|
|
26861 |
|
|
PR middle-end/28779
|
26862 |
|
|
* tree-inline.c (estimate_num_insns_1): Fix counting of cost of
|
26863 |
|
|
call_expr.
|
26864 |
|
|
|
26865 |
|
|
2008-02-19 H.J. Lu
|
26866 |
|
|
|
26867 |
|
|
PR Ada/35186
|
26868 |
|
|
* config/i386/i386-modes.def: Revert the last DI alignment
|
26869 |
|
|
change until Ada people can look into it.
|
26870 |
|
|
|
26871 |
|
|
2008-02-19 Nick Clifton
|
26872 |
|
|
|
26873 |
|
|
* opts.c (print_specific_help): Fix typo in --help text.
|
26874 |
|
|
|
26875 |
|
|
2008-02-19 Jakub Jelinek
|
26876 |
|
|
|
26877 |
|
|
PR target/35239
|
26878 |
|
|
* config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
|
26879 |
|
|
32-bit inline asm without asm alternatives for host GCC < 3.0.
|
26880 |
|
|
|
26881 |
|
|
2008-02-19 Richard Guenther
|
26882 |
|
|
|
26883 |
|
|
PR tree-optimization/34989
|
26884 |
|
|
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
|
26885 |
|
|
Allow propagation to INDIRECT_REF if we can simplify only.
|
26886 |
|
|
|
26887 |
|
|
2008-02-19 Manuel Lopez-Ibanez
|
26888 |
|
|
|
26889 |
|
|
* c-common.c (warn_for_collisions_1): Use appropriate option when
|
26890 |
|
|
warning.
|
26891 |
|
|
|
26892 |
|
|
2008-02-19 Nick Clifton
|
26893 |
|
|
|
26894 |
|
|
PR other/31349
|
26895 |
|
|
* opts.c (undocumented_msg): Leave blank unless checking is enabled.
|
26896 |
|
|
(handle_options): Fix indentation.
|
26897 |
|
|
(print_filtered_help): If no language-specific options were
|
26898 |
|
|
displayed tell the user how to list all the options supported by
|
26899 |
|
|
the language's front-end.
|
26900 |
|
|
(print_specific_help): Fix indentation and remove duplicate line.
|
26901 |
|
|
(common_handle_option): Handle the -v option.
|
26902 |
|
|
For --help enable the display of undocumented options if the -v
|
26903 |
|
|
switch has been included on the command line.
|
26904 |
|
|
For --help= check for overlaps in the arguments between the option
|
26905 |
|
|
classes and the language names and issue a warning when they
|
26906 |
|
|
cannot be disambiguated.
|
26907 |
|
|
* c.opt (v): Pass on to the common option handler.
|
26908 |
|
|
|
26909 |
|
|
2008-02-19 Revital Eres
|
26910 |
|
|
|
26911 |
|
|
* modulo-sched.c (sms_schedule): Change dump message when
|
26912 |
|
|
create_ddg function fails.
|
26913 |
|
|
(try_scheduling_node_in_cycle): Rename row to cycle.
|
26914 |
|
|
(print_partial_schedule): Rename CYCLE to ROW.
|
26915 |
|
|
|
26916 |
|
|
2008-02-19 Christian Bruel
|
26917 |
|
|
Zdenek Dvorak
|
26918 |
|
|
|
26919 |
|
|
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
|
26920 |
|
|
|
26921 |
|
|
2008-02-19 Uros Bizjak
|
26922 |
|
|
|
26923 |
|
|
PR target/33555
|
26924 |
|
|
* config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
|
26925 |
|
|
(*x86_movdicc_0_m1_se): Ditto.
|
26926 |
|
|
|
26927 |
|
|
2008-02-19 Uros Bizjak
|
26928 |
|
|
|
26929 |
|
|
* config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
|
26930 |
|
|
(CMPtype): Define as __gcc_CMPtype.
|
26931 |
|
|
* config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
|
26932 |
|
|
(CMPtype): Define as __gcc_CMPtype.
|
26933 |
|
|
|
26934 |
|
|
2008-02-19 Hans-Peter Nilsson
|
26935 |
|
|
|
26936 |
|
|
Support valgrind 3.3 for --enable-checking=valgrind.
|
26937 |
|
|
* system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
|
26938 |
|
|
here.
|
26939 |
|
|
[!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
|
26940 |
|
|
[!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
|
26941 |
|
|
[!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
|
26942 |
|
|
* ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
|
26943 |
|
|
Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
|
26944 |
|
|
VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
|
26945 |
|
|
VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
|
26946 |
|
|
respectively.
|
26947 |
|
|
* ggc-zone.c: Similar.
|
26948 |
|
|
* ggc-page.c: Similar.
|
26949 |
|
|
|
26950 |
|
|
2008-02-19 Paul Brook
|
26951 |
|
|
|
26952 |
|
|
PR target/35071
|
26953 |
|
|
* config/arm/ieee754-df.S: Fix do_it typo.
|
26954 |
|
|
* config/arm/ieee754-sf.S: Fix do_it typo.
|
26955 |
|
|
|
26956 |
|
|
2008-02-18 H.J. Lu
|
26957 |
|
|
|
26958 |
|
|
PR target/35189
|
26959 |
|
|
* config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
|
26960 |
|
|
(OPTION_MASK_ISA_3DNOW_SET): Likewise.
|
26961 |
|
|
(OPTION_MASK_ISA_SSE_SET): Likewise.
|
26962 |
|
|
(OPTION_MASK_ISA_SSE2_SET): Likewise.
|
26963 |
|
|
(OPTION_MASK_ISA_SSE3_SET): Likewise.
|
26964 |
|
|
(OPTION_MASK_ISA_SSSE3_SET): Likewise.
|
26965 |
|
|
(OPTION_MASK_ISA_SSE4_1_SET): Likewise.
|
26966 |
|
|
(OPTION_MASK_ISA_SSE4_2_SET): Likewise.
|
26967 |
|
|
(OPTION_MASK_ISA_SSE4_SET): Likewise.
|
26968 |
|
|
(OPTION_MASK_ISA_SSE4A_SET): Likewise.
|
26969 |
|
|
(OPTION_MASK_ISA_SSE5_SET): Likewise.
|
26970 |
|
|
(OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
|
26971 |
|
|
(OPTION_MASK_ISA_MMX_UNSET): Updated.
|
26972 |
|
|
(OPTION_MASK_ISA_3DNOW_UNSET): Updated.
|
26973 |
|
|
(OPTION_MASK_ISA_SSE_UNSET): Likewise.
|
26974 |
|
|
(OPTION_MASK_ISA_SSE3_UNSET): Likewise.
|
26975 |
|
|
(OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
|
26976 |
|
|
(OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
|
26977 |
|
|
(OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
|
26978 |
|
|
(OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
|
26979 |
|
|
(OPTION_MASK_ISA_SSE5_UNSET): Likewise.
|
26980 |
|
|
(OPTION_MASK_ISA_SSE4): Removed.
|
26981 |
|
|
(ix86_handle_option): Turn on bits in ix86_isa_flags and
|
26982 |
|
|
ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
|
26983 |
|
|
(override_options): Don't turn on implied SSE/MMX bits in
|
26984 |
|
|
ix86_isa_flags.
|
26985 |
|
|
|
26986 |
|
|
2008-02-18 H.J. Lu
|
26987 |
|
|
|
26988 |
|
|
* config/i386/i386-modes.def: Use 4 byte alignment on DI for
|
26989 |
|
|
32bit host.
|
26990 |
|
|
|
26991 |
|
|
2008-02-18 Joey Ye
|
26992 |
|
|
|
26993 |
|
|
PR middle-end/34921
|
26994 |
|
|
* tree-nested.c (insert_field_into_struct): Set type alignment
|
26995 |
|
|
to field alignment if the former is less than the latter.
|
26996 |
|
|
|
26997 |
|
|
2008-02-18 Jakub Jelinek
|
26998 |
|
|
|
26999 |
|
|
* BASE-VER: Set to 4.4.0.
|
27000 |
|
|
|
27001 |
|
|
2008-02-17 Ralf Wildenhues
|
27002 |
|
|
|
27003 |
|
|
* doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
|
27004 |
|
|
* doc/cfg.texi: Likewise.
|
27005 |
|
|
* doc/extend.texi: Likewise.
|
27006 |
|
|
* doc/gty.texi: Likewise.
|
27007 |
|
|
* doc/invoke.texi: Likewise.
|
27008 |
|
|
* doc/loop.texi: Likewise.
|
27009 |
|
|
* doc/md.texi: Likewise.
|
27010 |
|
|
* doc/passes.texi: Likewise.
|
27011 |
|
|
* doc/rtl.texi: Likewise.
|
27012 |
|
|
* doc/sourcebuild.texi: Likewise.
|
27013 |
|
|
* doc/tm.texi: Likewise.
|
27014 |
|
|
* doc/tree-ssa.texi: Likewise.
|
27015 |
|
|
|
27016 |
|
|
2008-02-17 Richard Guenther
|
27017 |
|
|
|
27018 |
|
|
PR middle-end/35227
|
27019 |
|
|
* tree-complex.c (init_parameter_lattice_values): Handle parameters
|
27020 |
|
|
without default definition.
|
27021 |
|
|
|
27022 |
|
|
2008-02-17 Richard Guenther
|
27023 |
|
|
|
27024 |
|
|
PR tree-optimization/35231
|
27025 |
|
|
* tree-vrp.c (register_edge_assert_for): Do not assume A == 0
|
27026 |
|
|
if A | B != 1.
|
27027 |
|
|
|
27028 |
|
|
2008-02-17 Uros Bizjak
|
27029 |
|
|
|
27030 |
|
|
Revert:
|
27031 |
|
|
2008-02-15 Uros Bizjak
|
27032 |
|
|
* config/i386/sfp-machine.h (CMPtype): Define as typedef using
|
27033 |
|
|
libgcc_cmp_return mode.
|
27034 |
|
|
|
27035 |
|
|
2008-02-16 Manuel Lopez-Ibanez
|
27036 |
|
|
|
27037 |
|
|
PR c/28368
|
27038 |
|
|
* doc/invoke.texi (-std): Clarify description of -std= and -ansi.
|
27039 |
|
|
|
27040 |
|
|
2008-02-16 Ralf Corsepius
|
27041 |
|
|
|
27042 |
|
|
* config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
|
27043 |
|
|
multilibs.
|
27044 |
|
|
|
27045 |
|
|
2008-02-16 Ralf Wildenhues
|
27046 |
|
|
|
27047 |
|
|
* doc/c-tree.texi: Use `@.' where appropriate.
|
27048 |
|
|
* doc/extend.texi: Likewise.
|
27049 |
|
|
* doc/install.texi: Likewise.
|
27050 |
|
|
* doc/invoke.texi: Likewise.
|
27051 |
|
|
* doc/loop.texi: Likewise.
|
27052 |
|
|
* doc/makefile.texi: Likewise.
|
27053 |
|
|
* doc/md.texi: Likewise.
|
27054 |
|
|
* doc/passes.texi: Likewise.
|
27055 |
|
|
* doc/standards.texi: Likewise.
|
27056 |
|
|
* doc/tm.texi: Likewise.
|
27057 |
|
|
|
27058 |
|
|
2008-02-15 Jakub Jelinek
|
27059 |
|
|
|
27060 |
|
|
PR middle-end/35196
|
27061 |
|
|
* omp-low.c (expand_omp_for_generic): Don't initialize fd->v
|
27062 |
|
|
in entry_bb.
|
27063 |
|
|
(expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
|
27064 |
|
|
rather than in entry_bb.
|
27065 |
|
|
|
27066 |
|
|
2008-02-15 Uros Bizjak
|
27067 |
|
|
|
27068 |
|
|
* config/i386/sfp-machine.h (CMPtype): Define as typedef using
|
27069 |
|
|
libgcc_cmp_return mode.
|
27070 |
|
|
|
27071 |
|
|
2008-02-15 Jakub Jelinek
|
27072 |
|
|
|
27073 |
|
|
PR middle-end/35130
|
27074 |
|
|
* tree-nested.c (convert_call_expr): Put FRAME.* vars into
|
27075 |
|
|
OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
|
27076 |
|
|
|
27077 |
|
|
2008-02-15 Richard Guenther
|
27078 |
|
|
Zdenek Dvorak
|
27079 |
|
|
|
27080 |
|
|
PR tree-optimization/35164
|
27081 |
|
|
* tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
|
27082 |
|
|
* tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
|
27083 |
|
|
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
|
27084 |
|
|
Only propagate addresses which do not have abnormal SSA_NAMEs
|
27085 |
|
|
in their operands.
|
27086 |
|
|
|
27087 |
|
|
2008-02-15 Joseph Myers
|
27088 |
|
|
|
27089 |
|
|
PR target/35088
|
27090 |
|
|
* config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
|
27091 |
|
|
|
27092 |
|
|
2008-02-15 Jan Hubicka
|
27093 |
|
|
|
27094 |
|
|
PR middle-end/35149
|
27095 |
|
|
* ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
|
27096 |
|
|
|
27097 |
|
|
2008-02-15 Uros Bizjak
|
27098 |
|
|
|
27099 |
|
|
PR middle-end/34621
|
27100 |
|
|
* function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
|
27101 |
|
|
when calculating alignment_pad.
|
27102 |
|
|
|
27103 |
|
|
2008-02-15 Uros Bizjak
|
27104 |
|
|
|
27105 |
|
|
* config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
|
27106 |
|
|
(WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
|
27107 |
|
|
* config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
|
27108 |
|
|
and STACK_BOUNDARY define.
|
27109 |
|
|
|
27110 |
|
|
2008-02-14 Danny Smith
|
27111 |
|
|
|
27112 |
|
|
PR preprocessor/35061
|
27113 |
|
|
* c-pragma.c (handle_pragma_pop_macro): Check that
|
27114 |
|
|
pushed_macro_table has been allocated.
|
27115 |
|
|
|
27116 |
|
|
2008-02-14 Eric Botcazou
|
27117 |
|
|
|
27118 |
|
|
PR middle-end/35136
|
27119 |
|
|
* gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
|
27120 |
|
|
(force_gimple_operand): Likewise.
|
27121 |
|
|
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
|
27122 |
|
|
for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
|
27123 |
|
|
Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
|
27124 |
|
|
(find_interesting_uses_address): Check addressability and alignment
|
27125 |
|
|
of the base expression only after substituting bases of IVs into it.
|
27126 |
|
|
|
27127 |
|
|
2008-02-14 Michael Matz
|
27128 |
|
|
|
27129 |
|
|
PR target/34930
|
27130 |
|
|
* function.c (instantiate_virtual_regs_in_insn): Reload address
|
27131 |
|
|
before falling back to reloading the whole operand.
|
27132 |
|
|
|
27133 |
|
|
2008-02-14 Andreas Krebbel
|
27134 |
|
|
|
27135 |
|
|
* config/s390/s390.c (s390_mainpool_start): Emit the pool
|
27136 |
|
|
before the first section switch note.
|
27137 |
|
|
|
27138 |
|
|
2008-02-14 Ralf Wildenhues
|
27139 |
|
|
|
27140 |
|
|
* doc/bugreport.texi: Update copyright years.
|
27141 |
|
|
* doc/c-tree.texi: Likewise.
|
27142 |
|
|
* doc/cfg.texi: Likewise.
|
27143 |
|
|
* doc/cpp.texi: Likewise.
|
27144 |
|
|
* doc/cppinternals.texi: Likewise.
|
27145 |
|
|
* doc/fragments.texi: Likewise.
|
27146 |
|
|
* doc/frontends.texi: Likewise.
|
27147 |
|
|
* doc/gcc.texi: Likewise.
|
27148 |
|
|
* doc/gty.texi: Likewise.
|
27149 |
|
|
* doc/hostconfig.texi: Likewise.
|
27150 |
|
|
* doc/implement-c.texi: Likewise.
|
27151 |
|
|
* doc/libgcc.texi: Likewise.
|
27152 |
|
|
* doc/loop.texi: Likewise.
|
27153 |
|
|
* doc/makefile.texi: Likewise.
|
27154 |
|
|
* doc/options.texi: Likewise.
|
27155 |
|
|
* doc/passes.texi: Likewise.
|
27156 |
|
|
* doc/rtl.texi: Likewise.
|
27157 |
|
|
* doc/sourcebuild.texi: Likewise.
|
27158 |
|
|
* doc/standards.texi: Likewise.
|
27159 |
|
|
* doc/tree-ssa.texi: Likewise.
|
27160 |
|
|
* doc/trouble.texi: Likewise.
|
27161 |
|
|
|
27162 |
|
|
* doc/extend.texi: Use @: or add comma where appropriate.
|
27163 |
|
|
* doc/invoke.texi: Likewise.
|
27164 |
|
|
* doc/tm.texi: Likewise.
|
27165 |
|
|
|
27166 |
|
|
2008-02-14 Alan Modra
|
27167 |
|
|
|
27168 |
|
|
PR target/34393
|
27169 |
|
|
* config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
|
27170 |
|
|
to a reg.
|
27171 |
|
|
|
27172 |
|
|
2008-02-14 Jesper Nilsson
|
27173 |
|
|
|
27174 |
|
|
* doc/md.texi (clz, ctz): Add reference.
|
27175 |
|
|
* doc/rtl.texi (clz, ctz): Likewise.
|
27176 |
|
|
|
27177 |
|
|
2008-02-13 Ralf Wildenhues
|
27178 |
|
|
|
27179 |
|
|
PR other/35148
|
27180 |
|
|
* Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
|
27181 |
|
|
srcdir.
|
27182 |
|
|
|
27183 |
|
|
2008-02-13 Andreas Krebbel
|
27184 |
|
|
|
27185 |
|
|
* config/s390/s390.c (struct constant_pool): New field
|
27186 |
|
|
emit_pool_after added.
|
27187 |
|
|
(s390_mainpool_start): Set the emit_pool_after flag according
|
27188 |
|
|
to the section switch notes.
|
27189 |
|
|
(s390_mainpool_finish): Consider emit_pool_after when emitting
|
27190 |
|
|
the literal pool at the end of the function.
|
27191 |
|
|
(s390_chunkify_start): Force literal pool splits at section
|
27192 |
|
|
switch notes.
|
27193 |
|
|
|
27194 |
|
|
2008-02-13 Michael Matz
|
27195 |
|
|
|
27196 |
|
|
PR debug/35065
|
27197 |
|
|
* var-tracking.c (clobber_variable_part): Correctly traverse the
|
27198 |
|
|
list.
|
27199 |
|
|
|
27200 |
|
|
2008-02-13 Manuel Lopez-Ibanez
|
27201 |
|
|
|
27202 |
|
|
PR 29673
|
27203 |
|
|
* doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
|
27204 |
|
|
Add -fdump-ipa-inline.
|
27205 |
|
|
* tree-dump.c (dump_files): Remove tree-inlined dump.
|
27206 |
|
|
* tree-pass.h (tree_dump_index): Remove TDI_inlined.
|
27207 |
|
|
|
27208 |
|
|
2008-02-12 Richard Guenther
|
27209 |
|
|
|
27210 |
|
|
PR tree-optimization/35171
|
27211 |
|
|
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
|
27212 |
|
|
default defs.
|
27213 |
|
|
|
27214 |
|
|
2008-02-12 Richard Guenther
|
27215 |
|
|
|
27216 |
|
|
PR middle-end/35163
|
27217 |
|
|
* fold-const.c (fold_widened_comparison): Use get_unwidened in
|
27218 |
|
|
value-preserving mode. Disallow final truncation.
|
27219 |
|
|
|
27220 |
|
|
2008-02-12 Eric Botcazou
|
27221 |
|
|
|
27222 |
|
|
PR middle-end/35136
|
27223 |
|
|
* gimplify.c (force_gimple_operand_bsi): Move SSA renaming
|
27224 |
|
|
code from here to...
|
27225 |
|
|
(force_gimple_operand): ...here.
|
27226 |
|
|
|
27227 |
|
|
2008-02-12 Jakub Jelinek
|
27228 |
|
|
|
27229 |
|
|
PR c++/35144
|
27230 |
|
|
* tree-sra.c (sra_build_assignment): fold_convert SRC if copying
|
27231 |
|
|
non-compatible pointers.
|
27232 |
|
|
(generate_element_copy): If SRC and DST are RECORD_TYPEs with
|
27233 |
|
|
different FIELD_DECLs, try harder by comparing field offsets, sizes
|
27234 |
|
|
and types.
|
27235 |
|
|
|
27236 |
|
|
PR inline-asm/35160
|
27237 |
|
|
* function.c (match_asm_constraints_1): Don't replace the same input
|
27238 |
|
|
multiple times.
|
27239 |
|
|
|
27240 |
|
|
2008-02-12 Anatoly Sokolov
|
27241 |
|
|
|
27242 |
|
|
* config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
|
27243 |
|
|
* config/avr/avr.c (expand_prologue): Save RAMPZ register.
|
27244 |
|
|
(expand_epilogue): Restore RAMPZ register.
|
27245 |
|
|
* config/avr/avr.md (RAMPZ_ADDR): New constant.
|
27246 |
|
|
|
27247 |
|
|
2008-02-11 Kai Tietz
|
27248 |
|
|
|
27249 |
|
|
* config/i386/cygwin.asm (__alloca): Correct calling
|
27250 |
|
|
convention and alignment.
|
27251 |
|
|
(__chkstk): Force 8 byte stack alignment.
|
27252 |
|
|
|
27253 |
|
|
2008-02-11 Uros Bizjak
|
27254 |
|
|
Richard Guenther
|
27255 |
|
|
|
27256 |
|
|
PR tree-optimization/33992
|
27257 |
|
|
* tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
|
27258 |
|
|
the zero we compare against.
|
27259 |
|
|
|
27260 |
|
|
2008-02-10 Danny Smith
|
27261 |
|
|
|
27262 |
|
|
PR libfortran/35063
|
27263 |
|
|
* gthr-win32.h (__gthread_mutex_destroy_function): New function
|
27264 |
|
|
to CloseHandle after unlocking to prevent accumulation of handle
|
27265 |
|
|
count.
|
27266 |
|
|
|
27267 |
|
|
2008-02-09 John David Anglin
|
27268 |
|
|
|
27269 |
|
|
PR middle_end/34150
|
27270 |
|
|
* pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
|
27271 |
|
|
pic_label_operand source. Similarly, add a REG_LABEL_OPERAND note
|
27272 |
|
|
and update LABEL_NUSES during and after reload.
|
27273 |
|
|
|
27274 |
|
|
2008-02-08 Steven Bosscher
|
27275 |
|
|
|
27276 |
|
|
PR middle-end/34627
|
27277 |
|
|
* combine.c (simplify_if_then_else): Make sure the comparison is
|
27278 |
|
|
against const0_rtx when simplifying to (abs x) or (neg (abs X)).
|
27279 |
|
|
|
27280 |
|
|
2008-02-08 Richard Sandiford
|
27281 |
|
|
|
27282 |
|
|
PR bootstrap/35051
|
27283 |
|
|
* double-int.h: Don't include gmp.h for GENERATOR_FILEs.
|
27284 |
|
|
(mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
|
27285 |
|
|
* real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
|
27286 |
|
|
(real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
|
27287 |
|
|
* tree.h (get_type_static_bounds): Likewise.
|
27288 |
|
|
|
27289 |
|
|
2008-02-08 Ralf Wildenhues
|
27290 |
|
|
|
27291 |
|
|
* doc/invoke.texi (Option Summary, C++ Dialect Options)
|
27292 |
|
|
(Objective-C and Objective-C++ Dialect Options, Warning Options):
|
27293 |
|
|
Make -Wfoo language annotations match what the compiler outputs.
|
27294 |
|
|
|
27295 |
|
|
2008-02-08 Sa Liu
|
27296 |
|
|
|
27297 |
|
|
* config/spu/spu-builtins.def: Fixed wrong parameter type in spu
|
27298 |
|
|
intrinsics spu_convts, spu_convtu, spu_convtf.
|
27299 |
|
|
|
27300 |
|
|
2008-02-08 Hans-Peter Nilsson
|
27301 |
|
|
|
27302 |
|
|
* doc/extend.texi (Function Attributes) : Mention
|
27303 |
|
|
asm ("") as method to keep calls.
|
27304 |
|
|
|
27305 |
|
|
2008-02-07 Manuel Lopez-Ibanez
|
27306 |
|
|
|
27307 |
|
|
PR other/32754
|
27308 |
|
|
* doc/options.texi (Options): Replace references to opts.sh with
|
27309 |
|
|
optc-gen.awk.
|
27310 |
|
|
* opts-common.c: Likewise.
|
27311 |
|
|
* optc-gen.awk: Likewise.
|
27312 |
|
|
|
27313 |
|
|
2008-02-07 Andreas Krebbel
|
27314 |
|
|
|
27315 |
|
|
* config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
|
27316 |
|
|
|
27317 |
|
|
2008-02-07 Richard Henderson
|
27318 |
|
|
|
27319 |
|
|
PR rtl-opt/33410
|
27320 |
|
|
* config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
|
27321 |
|
|
EXPR_LIST for the REG_EQUAL instead of a comparison with a
|
27322 |
|
|
funny mode.
|
27323 |
|
|
|
27324 |
|
|
2008-02-07 Uros Bizjak
|
27325 |
|
|
|
27326 |
|
|
PR tree-optimization/35085
|
27327 |
|
|
* tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
|
27328 |
|
|
for operand entry oe2 in addition to operand entry oe3 in order to
|
27329 |
|
|
expose more opportunities for vectorizer sum reduction.
|
27330 |
|
|
|
27331 |
|
|
2008-02-06 Kaveh R. Ghazi
|
27332 |
|
|
|
27333 |
|
|
PR other/35107
|
27334 |
|
|
* Makefile.in (LIBS): Remove $(GMPLIBS).
|
27335 |
|
|
(cc1-dummy, cc1): Add $(GMPLIBS).
|
27336 |
|
|
|
27337 |
|
|
2008-02-06 Jan Hubicka
|
27338 |
|
|
|
27339 |
|
|
PR target/23322
|
27340 |
|
|
* i386.md (moddf_integer): Do not produce partial memory stalls for
|
27341 |
|
|
targets where it hurts.
|
27342 |
|
|
|
27343 |
|
|
2008-02-06 Uros Bizjak
|
27344 |
|
|
|
27345 |
|
|
PR target/35083
|
27346 |
|
|
* optabs.c (expand_float): Do not check for decimal modes when
|
27347 |
|
|
expanding unsigned integer through signed conversion.
|
27348 |
|
|
|
27349 |
|
|
2008-02-06 Nick Clifton
|
27350 |
|
|
|
27351 |
|
|
* config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
|
27352 |
|
|
inside the clobber with a match_operand and duplicated operand
|
27353 |
|
|
number in the constraint.
|
27354 |
|
|
(ineqbranchsi): Delete redundant comment.
|
27355 |
|
|
|
27356 |
|
|
2008-02-06 Ralf Corsepius
|
27357 |
|
|
|
27358 |
|
|
* config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
|
27359 |
|
|
builtin_define ("__USE_INIT_FINI__").
|
27360 |
|
|
* config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
|
27361 |
|
|
-msx multilibs.
|
27362 |
|
|
* gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
|
27363 |
|
|
|
27364 |
|
|
2008-02-06 Ralf Wildenhues
|
27365 |
|
|
|
27366 |
|
|
PR documentation/30330
|
27367 |
|
|
* doc/invoke.texi (C++ Dialect Options)
|
27368 |
|
|
(Objective-C and Objective-C++ Dialect Options, Warning Options):
|
27369 |
|
|
For each warning option -Wfoo that allows -Wno-foo, ensure both
|
27370 |
|
|
-Wfoo and -Wno-foo are listed in the option index. Fix index
|
27371 |
|
|
entry of -Wswitch-default, index -Wnormalized= including the
|
27372 |
|
|
`=', and -Wlarger-than-@var{len} including @var{len}.
|
27373 |
|
|
|
27374 |
|
|
2008-02-05 Uros Bizjak
|
27375 |
|
|
|
27376 |
|
|
* config/i386/i386.md (floatunssisf2): Use
|
27377 |
|
|
ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
|
27378 |
|
|
(floatunssi2): Rename from floatunssisf2 and floatunssidf2.
|
27379 |
|
|
Macroize expander using MODEF mode iterator.
|
27380 |
|
|
|
27381 |
|
|
2008-02-05 Diego Novillo
|
27382 |
|
|
|
27383 |
|
|
http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
|
27384 |
|
|
|
27385 |
|
|
PR 33738
|
27386 |
|
|
* tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
|
27387 |
|
|
|
27388 |
|
|
2008-02-05 Kaveh R. Ghazi
|
27389 |
|
|
|
27390 |
|
|
PR other/35070
|
27391 |
|
|
* toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
|
27392 |
|
|
|
27393 |
|
|
2008-02-05 H.J. Lu
|
27394 |
|
|
|
27395 |
|
|
PR target/35084
|
27396 |
|
|
* config/i386/i386.c (ix86_function_sseregparm): Add an arg
|
27397 |
|
|
to indicate if a message should be generated.
|
27398 |
|
|
(init_cumulative_args): Updated.
|
27399 |
|
|
(function_value_32): Likewise.
|
27400 |
|
|
|
27401 |
|
|
2008-02-05 Joseph Myers
|
27402 |
|
|
|
27403 |
|
|
* doc/include/texinfo.tex: Update to version 2008-02-04.16.
|
27404 |
|
|
|
27405 |
|
|
2008-02-05 Uros Bizjak
|
27406 |
|
|
|
27407 |
|
|
PR target/35083
|
27408 |
|
|
* config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
|
27409 |
|
|
Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
|
27410 |
|
|
|
27411 |
|
|
2008-02-04 Diego Novillo
|
27412 |
|
|
|
27413 |
|
|
http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
|
27414 |
|
|
|
27415 |
|
|
PR 33738
|
27416 |
|
|
* tree-vrp.c (vrp_evaluate_conditional): With
|
27417 |
|
|
-Wtype-limits, emit a warning when comparing against a
|
27418 |
|
|
constant outside the natural range of OP0's type.
|
27419 |
|
|
|
27420 |
|
|
2008-02-04 Richard Guenther
|
27421 |
|
|
|
27422 |
|
|
PR middle-end/33631
|
27423 |
|
|
* expr.c (count_type_elements): Give for unions instead of
|
27424 |
|
|
guessing.
|
27425 |
|
|
|
27426 |
|
|
2008-02-04 Richard Guenther
|
27427 |
|
|
|
27428 |
|
|
PR middle-end/35043
|
27429 |
|
|
* gimplify.c (gimplify_init_ctor_eval): Convert array indices
|
27430 |
|
|
to TYPE_DOMAINs base type instead of using bitsizetype here.
|
27431 |
|
|
|
27432 |
|
|
2008-02-03 Jason Merrill
|
27433 |
|
|
|
27434 |
|
|
* print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
|
27435 |
|
|
|
27436 |
|
|
2008-02-04 Ralf Wildenhues
|
27437 |
|
|
|
27438 |
|
|
PR other/29972
|
27439 |
|
|
* doc/invoke.texi (C++ Dialect Options, Optimize Options)
|
27440 |
|
|
(HPPA Options, i386 and x86-64 Options, IA-64 Options)
|
27441 |
|
|
(RS/6000 and PowerPC Options): Fix typos and markup.
|
27442 |
|
|
* doc/passes.texi (Tree-SSA passes): Likewise.
|
27443 |
|
|
|
27444 |
|
|
2008-02-02 Michael Matz
|
27445 |
|
|
|
27446 |
|
|
PR target/35045
|
27447 |
|
|
* postreload-gcse.c (record_last_reg_set_info_regno): Renamed
|
27448 |
|
|
from record_last_reg_set_info.
|
27449 |
|
|
(record_last_reg_set_info): Take an RTX argument, iterate over all
|
27450 |
|
|
constituent hardregs.
|
27451 |
|
|
(record_last_set_info, record_opr_changes): Change calls to
|
27452 |
|
|
new signature or to record_last_reg_set_info_regno.
|
27453 |
|
|
|
27454 |
|
|
2008-02-02 Gerald Pfeifer
|
27455 |
|
|
|
27456 |
|
|
* doc/extend.texi (X86 Built-in Functions): Fix grammar.
|
27457 |
|
|
|
27458 |
|
|
2008-02-01 Hans-Peter Nilsson
|
27459 |
|
|
|
27460 |
|
|
PR rtl-optimization/34773
|
27461 |
|
|
* reg-notes.def (EQUAL): Mention significance of combination of
|
27462 |
|
|
REG_EQUAL and REG_RETVAL.
|
27463 |
|
|
* fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
|
27464 |
|
|
insn that has a REG_RETVAL.
|
27465 |
|
|
|
27466 |
|
|
2008-02-01 Roger Sayle
|
27467 |
|
|
|
27468 |
|
|
PR bootstrap/33781
|
27469 |
|
|
* configure.ac (--enable-fixed-point): Disable unless explicitly
|
27470 |
|
|
requested on IRIX.
|
27471 |
|
|
* configure: Regenerate.
|
27472 |
|
|
|
27473 |
|
|
2008-02-01 Richard Guenther
|
27474 |
|
|
|
27475 |
|
|
PR other/35042
|
27476 |
|
|
* invoke.texi (-finline-limit): Remove no longer true parts
|
27477 |
|
|
of the documentation. Note that there is no default value.
|
27478 |
|
|
|
27479 |
|
|
2008-02-01 Andrew Pinski
|
27480 |
|
|
Mark Mitchell
|
27481 |
|
|
Ben Elliston
|
27482 |
|
|
|
27483 |
|
|
PR c/29326
|
27484 |
|
|
* doc/extend.texi (Other Builtins): Document.
|
27485 |
|
|
|
27486 |
|
|
2008-01-31 Tom Browder
|
27487 |
|
|
|
27488 |
|
|
* doc/c-tree.texi (Types): Fix grammar.
|
27489 |
|
|
(Expression trees): Ditto.
|
27490 |
|
|
* doc/passes.texi (Tree-SSA passes): Ditto.
|
27491 |
|
|
|
27492 |
|
|
* doc/configterms.texi (Configure Terms): Fix typo.
|
27493 |
|
|
* doc/cpp.texi (Common Predefined Macros): Ditto.
|
27494 |
|
|
* doc/md.texi (Machine Constraints): Ditto.
|
27495 |
|
|
|
27496 |
|
|
* doc/makefile.texi (Makefile): Add comma.
|
27497 |
|
|
|
27498 |
|
|
2008-01-31 Tom Browder
|
27499 |
|
|
Gerald Pfeifer
|
27500 |
|
|
|
27501 |
|
|
* doc/sourcebuild.texi (Front End): Remove references to CVS
|
27502 |
|
|
and CVSROOT/modules.
|
27503 |
|
|
(Texinfo Manuals): Replace reference to CVS by one to SVN.
|
27504 |
|
|
(Back End): Remove reference to CVS.
|
27505 |
|
|
|
27506 |
|
|
2008-01-31 Richard Sandiford
|
27507 |
|
|
|
27508 |
|
|
PR target/34900
|
27509 |
|
|
* config/mips/mips.c (gen_load_const_gp): New function, taking a
|
27510 |
|
|
comment from...
|
27511 |
|
|
(mips16_gp_pseudo_reg): ...here.
|
27512 |
|
|
* config/mips/mips.md (load_const_gp): Replace with...
|
27513 |
|
|
(load_const_gp_): ...this :P-based insn.
|
27514 |
|
|
|
27515 |
|
|
2008-01-31 Manuel Lopez-Ibanez
|
27516 |
|
|
|
27517 |
|
|
* doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
|
27518 |
|
|
options. Minor fixes.
|
27519 |
|
|
(-std): Move reference to standards closer to where language
|
27520 |
|
|
standards are first mentioned.
|
27521 |
|
|
|
27522 |
|
|
2008-01-31 Richard Sandiford
|
27523 |
|
|
|
27524 |
|
|
PR rtl-optimization/34995
|
27525 |
|
|
* reload.c (alternative_allows_const_pool_ref): Take an rtx
|
27526 |
|
|
parameter and return a bool. If the rtx parameter is nonnull,
|
27527 |
|
|
check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
|
27528 |
|
|
(find_reloads): Update call accordingly. Pass the new operand
|
27529 |
|
|
if it needed no address reloads, otherwise pass null.
|
27530 |
|
|
|
27531 |
|
|
2008-01-30 Richard Henderson
|
27532 |
|
|
|
27533 |
|
|
PR c/34993
|
27534 |
|
|
* tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
|
27535 |
|
|
for unbounded arrays.
|
27536 |
|
|
|
27537 |
|
|
2008-01-30 Silvius Rus
|
27538 |
|
|
|
27539 |
|
|
* config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
|
27540 |
|
|
|
27541 |
|
|
2008-01-30 Jan Hubicka
|
27542 |
|
|
|
27543 |
|
|
PR target/34982
|
27544 |
|
|
* i386.c (init_cumulative_args): Use real function declaration when
|
27545 |
|
|
calling locally.
|
27546 |
|
|
|
27547 |
|
|
2008-01-30 Richard Sandiford
|
27548 |
|
|
|
27549 |
|
|
PR rtl-optimization/34998
|
27550 |
|
|
* global.c (build_insn_chain): Treat non-subreg_lowpart
|
27551 |
|
|
SUBREGs of pseudos as clobbering all the words covered by the
|
27552 |
|
|
SUBREG, not just all the bytes.
|
27553 |
|
|
* ra-conflict.c (clear_reg_in_live): Likewise. Take the
|
27554 |
|
|
original df_ref rather than an extract parameter.
|
27555 |
|
|
(global_conflicts): Update call accordingly.
|
27556 |
|
|
|
27557 |
|
|
2008-01-30 Andreas Krebbel
|
27558 |
|
|
|
27559 |
|
|
* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
|
27560 |
|
|
the overflow check to make it easier to read.
|
27561 |
|
|
(__fixtfdi): Change the type of the ll member in union
|
27562 |
|
|
long_double to UDItype_x.
|
27563 |
|
|
|
27564 |
|
|
2008-01-30 Jakub Jelinek
|
27565 |
|
|
|
27566 |
|
|
PR middle-end/34969
|
27567 |
|
|
* cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
|
27568 |
|
|
* cgraph.c (cgraph_update_edges_for_call_stmt): New function.
|
27569 |
|
|
* tree-inline.c (fold_marked_statements): Call
|
27570 |
|
|
cgraph_update_edges_for_call_stmt if folding a call statement.
|
27571 |
|
|
* cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
|
27572 |
|
|
debug_generic_stmt calls, reset it back afterwards.
|
27573 |
|
|
|
27574 |
|
|
PR c/35017
|
27575 |
|
|
* c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
|
27576 |
|
|
static decls.
|
27577 |
|
|
* c-typeck.c (build_external_ref): Don't pedwarn about
|
27578 |
|
|
static vars in current function's scope.
|
27579 |
|
|
|
27580 |
|
|
2008-01-29 Joseph Myers
|
27581 |
|
|
|
27582 |
|
|
* config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
|
27583 |
|
|
|
27584 |
|
|
2008-01-29 Bernhard Fischer
|
27585 |
|
|
|
27586 |
|
|
PR c/35002
|
27587 |
|
|
* ipa-struct-reorg.c: Fix spelling.
|
27588 |
|
|
* params.def: Ditto.
|
27589 |
|
|
|
27590 |
|
|
2008-01-29 Richard Guenther
|
27591 |
|
|
|
27592 |
|
|
PR middle-end/35006
|
27593 |
|
|
* tree-inline.h (struct copy_body_data): Add remapping_type_depth
|
27594 |
|
|
field.
|
27595 |
|
|
* tree-inline.c (remap_type): Increment remapping_type_depth
|
27596 |
|
|
around remapping types.
|
27597 |
|
|
(copy_body_r): Only add referenced variables if they are referenced
|
27598 |
|
|
from code, not types.
|
27599 |
|
|
|
27600 |
|
|
2008-01-29 Douglas Gregor
|
27601 |
|
|
|
27602 |
|
|
PR c++/34055
|
27603 |
|
|
PR c++/34103
|
27604 |
|
|
PR c++/34219
|
27605 |
|
|
PR c++/34606
|
27606 |
|
|
PR c++/34753
|
27607 |
|
|
PR c++/34754
|
27608 |
|
|
PR c++/34755
|
27609 |
|
|
PR c++/34919
|
27610 |
|
|
PR c++/34961
|
27611 |
|
|
* c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
|
27612 |
|
|
qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
|
27613 |
|
|
|
27614 |
|
|
2008-01-28 Andy Hutchinson
|
27615 |
|
|
|
27616 |
|
|
PR target/34412
|
27617 |
|
|
* config/avr/avr.c (expand_prologue): Use correct QI mode frame
|
27618 |
|
|
pointer for tiny stack.
|
27619 |
|
|
|
27620 |
|
|
2008-01-28 Bernhard Fischer
|
27621 |
|
|
|
27622 |
|
|
* doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
|
27623 |
|
|
|
27624 |
|
|
2008-01-28 Bernhard Fischer
|
27625 |
|
|
|
27626 |
|
|
* config/vx-common.h: Fix typo in comment.
|
27627 |
|
|
|
27628 |
|
|
2008-01-28 Ian Lance Taylor
|
27629 |
|
|
|
27630 |
|
|
PR c++/34862
|
27631 |
|
|
PR c++/33407
|
27632 |
|
|
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
|
27633 |
|
|
coalesce pointers if they have different DECL_NO_TBAA_P values.
|
27634 |
|
|
* tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
|
27635 |
|
|
between variables with different DECL_NO_TBAA_P values.
|
27636 |
|
|
|
27637 |
|
|
2008-01-28 Nathan Froyd
|
27638 |
|
|
|
27639 |
|
|
PR 31535
|
27640 |
|
|
* config/rs6000/rs6000.c (small_data_operand): Vectors and floats
|
27641 |
|
|
are not legitimate small data references on SPE targets.
|
27642 |
|
|
|
27643 |
|
|
2008-01-28 David Daney
|
27644 |
|
|
|
27645 |
|
|
* doc/install.texi (mips-*-*): Recommend binutils 2.18.
|
27646 |
|
|
|
27647 |
|
|
2008-01-28 David Daney
|
27648 |
|
|
|
27649 |
|
|
* doc/install.texi (--disable-libgcj-bc): Reword documentation.
|
27650 |
|
|
|
27651 |
|
|
2008-01-27 Joseph Myers
|
27652 |
|
|
|
27653 |
|
|
* config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
|
27654 |
|
|
m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
|
27655 |
|
|
*-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
|
27656 |
|
|
*-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
|
27657 |
|
|
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
|
27658 |
|
|
i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
|
27659 |
|
|
i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
|
27660 |
|
|
vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
|
27661 |
|
|
|
27662 |
|
|
2008-01-27 Bernhard Fischer
|
27663 |
|
|
|
27664 |
|
|
* basic-block.h (condjump_equiv_p): Fix comment.
|
27665 |
|
|
|
27666 |
|
|
2008-01-27 Bernhard Fischer
|
27667 |
|
|
|
27668 |
|
|
* tree-pretty-print.c (print_generic_decl, print_generic_stmt,
|
27669 |
|
|
print_generic_stmt_indented): Fix comment.
|
27670 |
|
|
|
27671 |
|
|
2008-01-27 Bernhard Fischer
|
27672 |
|
|
|
27673 |
|
|
* configure.ac (__stack_chk_fail): Add detecion for availability
|
27674 |
|
|
of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
|
27675 |
|
|
* configure: Regenerate.
|
27676 |
|
|
|
27677 |
|
|
2008-01-26 Maxim Kuvyrkov
|
27678 |
|
|
|
27679 |
|
|
PR middle-end/34688
|
27680 |
|
|
* final.c (output_addr_const): Handle TRUNCATE.
|
27681 |
|
|
|
27682 |
|
|
2008-01-26 Zdenek Dvorak
|
27683 |
|
|
|
27684 |
|
|
PR target/34711
|
27685 |
|
|
* tree-ssa-loop-ivopts.c (comp_cost): New type.
|
27686 |
|
|
(zero_cost, infinite_cost): New constants.
|
27687 |
|
|
(struct cost_pair): Change type of cost to comp_cost.
|
27688 |
|
|
(struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
|
27689 |
|
|
(new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
|
27690 |
|
|
New functions.
|
27691 |
|
|
(set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
|
27692 |
|
|
split_address_cost, ptr_difference_cost, difference_cost,
|
27693 |
|
|
get_computation_cost_at, get_computation_cost,
|
27694 |
|
|
determine_use_iv_cost_generic, determine_use_iv_cost_address,
|
27695 |
|
|
determine_use_iv_cost_condition, determine_use_iv_costs,
|
27696 |
|
|
cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
|
27697 |
|
|
iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
|
27698 |
|
|
iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
|
27699 |
|
|
Change type of cost to comp_cost.
|
27700 |
|
|
(determine_iv_cost): Increase cost of non-original ivs, instead
|
27701 |
|
|
of decreasing the cost of original ones.
|
27702 |
|
|
(get_address_cost): Indicate the complexity of the addressing mode
|
27703 |
|
|
in comp_cost.
|
27704 |
|
|
(try_add_cand_for): Prefer using ivs not specific to some object.
|
27705 |
|
|
* tree-flow.h (force_expr_to_var_cost): Declaration removed.
|
27706 |
|
|
|
27707 |
|
|
2008-01-26 Peter Bergner
|
27708 |
|
|
Janis Johnson
|
27709 |
|
|
|
27710 |
|
|
PR target/34814
|
27711 |
|
|
* doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
|
27712 |
|
|
(TARGET_INSTANTIATE_DECLS): Likewise.
|
27713 |
|
|
* target.h (expand_to_rtl_hook): New target hook.
|
27714 |
|
|
(instantiate_decls): Likewise.
|
27715 |
|
|
* function.c (instantiate_decl): Make non-static. Rename to...
|
27716 |
|
|
(instantiate_decl_rtl): ... this.
|
27717 |
|
|
(instantiate_expr): Use instantiate_decl_rtl.
|
27718 |
|
|
(instantiate_decls_1): Likewise.
|
27719 |
|
|
(instantiate_decls): Likewise.
|
27720 |
|
|
(instantiate_virtual_regs: Call new instantiate_decls taget hook.
|
27721 |
|
|
* function.h (instantiate_decl_rtl): Add prototype.
|
27722 |
|
|
* cfgexpand.c (target.h): New include.
|
27723 |
|
|
(tree_expand_cfg): Call new expand_to_rtl_hook target hook.
|
27724 |
|
|
* target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
|
27725 |
|
|
(TARGET_INSTANTIATE_DECLS): Likewise.
|
27726 |
|
|
(TARGET_INITIALIZER): New target hooks added.
|
27727 |
|
|
* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
|
27728 |
|
|
New prototype.
|
27729 |
|
|
* config/rs6000/rs6000.c (tree-flow.h): New include.
|
27730 |
|
|
(machine_function): Add sdmode_stack_slot field.
|
27731 |
|
|
(rs6000_alloc_sdmode_stack_slot): New function.
|
27732 |
|
|
(rs6000_instantiate_decls): Likewise.
|
27733 |
|
|
(rs6000_secondary_memory_needed_rtx): Likewise.
|
27734 |
|
|
(rs6000_check_sdmode): Likewise.
|
27735 |
|
|
(TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
|
27736 |
|
|
(TARGET_INSTANTIATE_DECLS): Likewise.
|
27737 |
|
|
(rs6000_hard_regno_mode_ok): Allow SDmode.
|
27738 |
|
|
(num_insns_constant): Likewise. Handle _Decimal32 constants.
|
27739 |
|
|
(rs6000_emit_move): Handle SDmode.
|
27740 |
|
|
(function_arg_advance): Likewise.
|
27741 |
|
|
(function_arg): Likewise.
|
27742 |
|
|
(rs6000_gimplify_va_arg): Likewise. Add special handling of
|
27743 |
|
|
SDmode var args for 32-bit compiles.
|
27744 |
|
|
(rs6000_secondary_reload_class): Handle SDmode.
|
27745 |
|
|
(rs6000_output_function_epilogue): Likewise.
|
27746 |
|
|
(rs6000_function_value): Simplify if statement.
|
27747 |
|
|
(rs6000_libcall_value): Likewise.
|
27748 |
|
|
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
|
27749 |
|
|
(SECONDARY_MEMORY_NEEDED_RTX): Add define.
|
27750 |
|
|
* config/rs6000/dfp.md (movsd): New define_expand and splitter.
|
27751 |
|
|
(movsd_hardfloat): New define_insn.
|
27752 |
|
|
(movsd_softfloat): Likewise.
|
27753 |
|
|
(movsd_store): Likewise.
|
27754 |
|
|
(movsd_load): Likewise.
|
27755 |
|
|
(extendsddd2): Likewise.
|
27756 |
|
|
(extendsdtd2): Likewise.
|
27757 |
|
|
(truncddsd2): Likewise.
|
27758 |
|
|
(movdd_hardfloat64): Fixup comment.
|
27759 |
|
|
(UNSPEC_MOVSD_LOAD): New constant.
|
27760 |
|
|
(UNSPEC_MOVSD_STORE): Likewise.
|
27761 |
|
|
|
27762 |
|
|
2008-01-26 Jakub Jelinek
|
27763 |
|
|
|
27764 |
|
|
PR c++/34965
|
27765 |
|
|
* c-pretty-print.c (pp_c_exclusive_or_expression): Handle
|
27766 |
|
|
TRUTH_XOR_EXPR.
|
27767 |
|
|
(pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
|
27768 |
|
|
(pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
|
27769 |
|
|
(pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
|
27770 |
|
|
and TRUTH_XOR_EXPR.
|
27771 |
|
|
|
27772 |
|
|
2008-01-26 David Edelsohn
|
27773 |
|
|
|
27774 |
|
|
PR target/34794
|
27775 |
|
|
* config.gcc: Separate AIX 5.3 from AIX 6.1.
|
27776 |
|
|
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
|
27777 |
|
|
__LONGDOUBLE128 too.
|
27778 |
|
|
* config/rs6000/aix61.h: New file.
|
27779 |
|
|
|
27780 |
|
|
2008-01-26 Richard Sandiford
|
27781 |
|
|
|
27782 |
|
|
PR rtl-optimization/34959
|
27783 |
|
|
* optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
|
27784 |
|
|
popcount and parity rtxes the same mode as their operand.
|
27785 |
|
|
Truncate or extend the result to the return value's mode
|
27786 |
|
|
if necessary.
|
27787 |
|
|
|
27788 |
|
|
2008-01-26 Richard Sandiford
|
27789 |
|
|
|
27790 |
|
|
PR target/34981
|
27791 |
|
|
* config/mips/mips-protos.h (mips_expand_call): Return an rtx.
|
27792 |
|
|
* config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
|
27793 |
|
|
to GOT_VERSION_REGNUM.
|
27794 |
|
|
(CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
|
27795 |
|
|
(EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
|
27796 |
|
|
* config/mips/mips.c (mips_emit_call_insn): New function.
|
27797 |
|
|
(mips_call_tls_get_addr): Call mips_expand_call directly.
|
27798 |
|
|
(mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
|
27799 |
|
|
emit_call_insn.
|
27800 |
|
|
(mips16_build_call_stub): Likewise. Return the call insn or null.
|
27801 |
|
|
(mips_expand_call): Update the call to mips16_build_call_stub
|
27802 |
|
|
accordingly and a remove redundant condition. Assert that MIPS16
|
27803 |
|
|
stubs do not use lazy binding. Use mips_emit_call_insn and return
|
27804 |
|
|
the call insn.
|
27805 |
|
|
(mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
|
27806 |
|
|
TARGET_USE_GOT.
|
27807 |
|
|
(mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
|
27808 |
|
|
(mips_avoid_hazard): Remove hazard_set handling.
|
27809 |
|
|
* config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
|
27810 |
|
|
(UNSPEC_RESTORE_GP): ...this.
|
27811 |
|
|
(UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
|
27812 |
|
|
(FAKE_CALL_REGNO): Rename to...
|
27813 |
|
|
(GOT_VERSION_REGNUM): ...this.
|
27814 |
|
|
(type): Add "ghost" value. Add an associated insn reservation.
|
27815 |
|
|
(hazard_set): Remove.
|
27816 |
|
|
(exception_receiver): Rename to...
|
27817 |
|
|
(restore_gp): ...this and update the unspec identifier accordingly.
|
27818 |
|
|
(exception_receiver, nonlocal_got_receiver): New expanders.
|
27819 |
|
|
(load_call): Use GOT_VERSION_REGNUM. Don't set
|
27820 |
|
|
FAKE_CALL_REGNO. Remove hazard_set attribute.
|
27821 |
|
|
(set_got_version, update_got_version): New patterns.
|
27822 |
|
|
|
27823 |
|
|
2008-01-26 Danny Smith
|
27824 |
|
|
|
27825 |
|
|
PR target/34970
|
27826 |
|
|
* config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
|
27827 |
|
|
|
27828 |
|
|
2008-01-25 Joseph Myers
|
27829 |
|
|
|
27830 |
|
|
PR other/31955
|
27831 |
|
|
* doc/install.texi2html: Generate gcc-vers.texi.
|
27832 |
|
|
|
27833 |
|
|
2008-01-25 DJ Delorie
|
27834 |
|
|
|
27835 |
|
|
* config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
|
27836 |
|
|
|
27837 |
|
|
2008-01-25 Joseph Myers
|
27838 |
|
|
|
27839 |
|
|
* config/c4x: Remove directory.
|
27840 |
|
|
* config.gcc (crx-*, mt-*): Mark obsolete.
|
27841 |
|
|
(c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
|
27842 |
|
|
h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
|
27843 |
|
|
sh-*-rtemscoff*): Remove cases.
|
27844 |
|
|
* defaults.h (C4X_FLOAT_FORMAT): Remove.
|
27845 |
|
|
* real.c (encode_c4x_single, decode_c4x_single,
|
27846 |
|
|
encode_c4x_extended, decode_c4x_extended, c4x_single_format,
|
27847 |
|
|
c4x_extended_format): Remove.
|
27848 |
|
|
* real.h (c4x_single_format, c4x_extended_format): Remove.
|
27849 |
|
|
* doc/extend.texi (interrupt, naked): Remove mention of attributes
|
27850 |
|
|
on C4x.
|
27851 |
|
|
(Pragmas): Remove comment about c4x pragmas.
|
27852 |
|
|
* doc/install.texi (c4x): Remove target-specific instructions.
|
27853 |
|
|
* doc/invoke.texi (TMS320C3x/C4x Options): Remove.
|
27854 |
|
|
* doc/md.texi (Machine Constraints): Remove C4x documentation.
|
27855 |
|
|
* doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
|
27856 |
|
|
refer to C4x source files as examples.
|
27857 |
|
|
(C4X_FLOAT_FORMAT): Remove documentation.
|
27858 |
|
|
|
27859 |
|
|
2008-01-25 Bernd Schmidt
|
27860 |
|
|
|
27861 |
|
|
* config/bfin/bfin.c (override_options): Reorder tests so that
|
27862 |
|
|
flag_pic gets enabled for -msep-data.
|
27863 |
|
|
|
27864 |
|
|
2008-01-25 Richard Guenther
|
27865 |
|
|
|
27866 |
|
|
PR middle-end/32244
|
27867 |
|
|
* expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
|
27868 |
|
|
to its bitfield precision if required.
|
27869 |
|
|
|
27870 |
|
|
2008-01-25 Jakub Jelinek
|
27871 |
|
|
|
27872 |
|
|
PR middle-end/33880
|
27873 |
|
|
* tree-nested.c (walk_omp_for): New function.
|
27874 |
|
|
(convert_nonlocal_reference, convert_local_reference): Call
|
27875 |
|
|
walk_omp_for on OMP_FOR.
|
27876 |
|
|
(convert_call_expr): Call walk_body on OMP_FOR's
|
27877 |
|
|
OMP_FOR_PRE_INIT_BODY.
|
27878 |
|
|
|
27879 |
|
|
2008-01-25 Richard Guenther
|
27880 |
|
|
|
27881 |
|
|
PR tree-optimization/34966
|
27882 |
|
|
* tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
|
27883 |
|
|
default defs and PHI_NODEs we have to insert after the
|
27884 |
|
|
defining statement.
|
27885 |
|
|
|
27886 |
|
|
2008-01-24 Nick Clifton
|
27887 |
|
|
|
27888 |
|
|
* config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
|
27889 |
|
|
Provide a default definition.
|
27890 |
|
|
(LIBGCC2_UNITS_PER_WORD): Likewise.
|
27891 |
|
|
|
27892 |
|
|
* config/stormy16/stormy16.c: Include df.h for the prototype
|
27893 |
|
|
for df_regs_ever_live_p.
|
27894 |
|
|
(xstormy16_expand_builtin_va_start): Convert the stack offset
|
27895 |
|
|
into a component_ref and then use POINTER_PLUS_EXPR to add it
|
27896 |
|
|
to the incoming_virtual_args_rtx.
|
27897 |
|
|
(xstormy16_gimplify_va_arg_expr): Rename to
|
27898 |
|
|
xstormy16_gimplify_va_arg_expr.
|
27899 |
|
|
Use POINTER_PLUS_EXPR when performing pointer arithmetic.
|
27900 |
|
|
(TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
|
27901 |
|
|
xstormy16_gimplify_va_arg_expr.
|
27902 |
|
|
Fix up some formatting issues.
|
27903 |
|
|
|
27904 |
|
|
* config/stormy16/stormy16.c (xstormy16_carry_plus_operand):
|
27905 |
|
|
Move to predicates.md.
|
27906 |
|
|
(xs_hi_general_operand): Likewise.
|
27907 |
|
|
(xs_hi_nonmemory_operand): Likewise.
|
27908 |
|
|
* config/stormy16/predicates.md:
|
27909 |
|
|
(xstormy16_carry_plus_operand): New predicate.
|
27910 |
|
|
(xs_hi_general_operand): New predicate.
|
27911 |
|
|
(xs_hi_nonmemory_operand): New predicate.
|
27912 |
|
|
* config/stormy16/stormy16-protos.h:
|
27913 |
|
|
(xstormy16_carry_plus_operand): Delete prototype.
|
27914 |
|
|
(xs_hi_general_operand): Likewise.
|
27915 |
|
|
(xs_hi_nonmemory_operand): Likewise.
|
27916 |
|
|
|
27917 |
|
|
* config/storm16/stormy16.md (addhi3): Remove earlyclobber
|
27918 |
|
|
modifiers as they are no longer needed and they can trigger
|
27919 |
|
|
reload spill failures.
|
27920 |
|
|
|
27921 |
|
|
* config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
|
27922 |
|
|
with a match_operand in order to help reload.
|
27923 |
|
|
|
27924 |
|
|
* config/storm16/stormy16.md (movhi_internal): Replace 'r'
|
27925 |
|
|
constraint with 'e' for the 8th alternative as this version of
|
27926 |
|
|
the mov.w instruction only accepts the lower 8 registers.
|
27927 |
|
|
|
27928 |
|
|
2008-01-25 Uros Bizjak
|
27929 |
|
|
|
27930 |
|
|
PR target/34856
|
27931 |
|
|
* simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
|
27932 |
|
|
Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
|
27933 |
|
|
vector elements.
|
27934 |
|
|
|
27935 |
|
|
2008-01-25 Jakub Jelinek
|
27936 |
|
|
|
27937 |
|
|
PR middle-end/33333
|
27938 |
|
|
* gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
|
27939 |
|
|
|
27940 |
|
|
2008-01-25 Golovanevsky Olga
|
27941 |
|
|
|
27942 |
|
|
* ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
|
27943 |
|
|
New functions.
|
27944 |
|
|
(remove_structure): Update allocations list before removing structure.
|
27945 |
|
|
|
27946 |
|
|
2008-01-25 Golovanevsky Olga
|
27947 |
|
|
|
27948 |
|
|
* ipa-struct-reorg.c (is_safe_cond_expr,
|
27949 |
|
|
create_new_stmts_for_cond_expr): Use integer_zerop function,
|
27950 |
|
|
that recognize not only zero-pointer, but zero-integer too.
|
27951 |
|
|
|
27952 |
|
|
2008-01-25 Ben Elliston
|
27953 |
|
|
|
27954 |
|
|
PR other/22232
|
27955 |
|
|
* fixproto: Escape "." in sed expression that strips leading "./".
|
27956 |
|
|
|
27957 |
|
|
2008-01-24 H.J. Lu
|
27958 |
|
|
|
27959 |
|
|
PR driver/34904
|
27960 |
|
|
* gcc.c (SWITCH_OK): Removed.
|
27961 |
|
|
(SWITCH_LIVE): Changed to bit.
|
27962 |
|
|
(SWITCH_FALSE): Likewise.
|
27963 |
|
|
(SWITCH_IGNORE): Likewise.
|
27964 |
|
|
(switchstr): Change live_cond to unsigned int.
|
27965 |
|
|
(process_command): Replace SWITCH_OK with 0.
|
27966 |
|
|
(do_self_spec): Likewise.
|
27967 |
|
|
(set_collect_gcc_options): Check the SWITCH_IGNORE bit.
|
27968 |
|
|
(give_switch): Likewise.
|
27969 |
|
|
(used_arg): Likewise.
|
27970 |
|
|
(do_spec_1): Set the SWITCH_IGNORE bit.
|
27971 |
|
|
(check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
|
27972 |
|
|
bits. Set the SWITCH_LIVE bit.
|
27973 |
|
|
|
27974 |
|
|
2008-01-24 Andreas Krebbel
|
27975 |
|
|
|
27976 |
|
|
* config/s390/s390.h (MOVE_RATIO): Define new target macro.
|
27977 |
|
|
|
27978 |
|
|
2008-01-24 Richard Sandiford
|
27979 |
|
|
|
27980 |
|
|
PR tree-optimization/34472
|
27981 |
|
|
* ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
|
27982 |
|
|
parameter to a "bool *" and set *DATA to false if there is
|
27983 |
|
|
an unsafe access. Do not delete the structure here.
|
27984 |
|
|
(check_cond_exprs): Delete it here instead.
|
27985 |
|
|
(check_cond_exprs, exclude_cold_structs): Do not increase
|
27986 |
|
|
I when removing a structure.
|
27987 |
|
|
|
27988 |
|
|
2008-01-24 Uros Bizjak
|
27989 |
|
|
|
27990 |
|
|
PR target/34856
|
27991 |
|
|
* config/i386/i386.c (ix86_expand_vector_init): Consider only
|
27992 |
|
|
CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
|
27993 |
|
|
|
27994 |
|
|
2008-01-24 Jakub Jakub Jelinek
|
27995 |
|
|
|
27996 |
|
|
PR middle-end/34934
|
27997 |
|
|
* tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
|
27998 |
|
|
a fixed vector for stack.
|
27999 |
|
|
|
28000 |
|
|
2008-01-24 Ben Elliston
|
28001 |
|
|
|
28002 |
|
|
PR c++/25701
|
28003 |
|
|
* doc/gcc.texi (Software development): Add a direntry for g++.
|
28004 |
|
|
|
28005 |
|
|
2008-01-23 Hans-Peter Nilsson
|
28006 |
|
|
|
28007 |
|
|
* config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
|
28008 |
|
|
stale and straggling -fforce-addr comments above.
|
28009 |
|
|
|
28010 |
|
|
* config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
|
28011 |
|
|
define.
|
28012 |
|
|
* config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
|
28013 |
|
|
* config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
|
28014 |
|
|
|
28015 |
|
|
2008-01-23 Michael Matz
|
28016 |
|
|
|
28017 |
|
|
PR debug/34895
|
28018 |
|
|
* dwarf2out.c (force_type_die): Use modified_type_die instead of
|
28019 |
|
|
gen_type_die.
|
28020 |
|
|
|
28021 |
|
|
2008-01-23 Andreas Krebbel
|
28022 |
|
|
|
28023 |
|
|
* ipa-struct-reorg.c (create_new_malloc): Use pointer type as
|
28024 |
|
|
malloc result type.
|
28025 |
|
|
|
28026 |
|
|
2008-01-23 Anatoly Sokolov
|
28027 |
|
|
|
28028 |
|
|
* config/avr/avr.c (avr_current_arch): New variable.
|
28029 |
|
|
(avr_arch_types): Add 'avr31' and 'avr51' entries.
|
28030 |
|
|
(avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
|
28031 |
|
|
(avr_mcu_types): Add 'avr31' and 'avr51' architectures.
|
28032 |
|
|
(avr_override_options): Init 'avr_current_arch'.
|
28033 |
|
|
(base_arch_s): Move from here...
|
28034 |
|
|
* config/avr/avr.h (base_arch_s): ... here. Add new members
|
28035 |
|
|
'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename
|
28036 |
|
|
'mega' to 'have_jmp_call'.
|
28037 |
|
|
(TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__",
|
28038 |
|
|
"__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__"
|
28039 |
|
|
macros.
|
28040 |
|
|
(LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
|
28041 |
|
|
architectures.
|
28042 |
|
|
* config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
|
28043 |
|
|
MULTILIB_MATCHES): Ditto.
|
28044 |
|
|
|
28045 |
|
|
2008-01-23 Richard Guenther
|
28046 |
|
|
|
28047 |
|
|
PR middle-end/31529
|
28048 |
|
|
* cgraphunit.c (cgraph_reset_node): Always mark the node
|
28049 |
|
|
not reachable if it is not queued already.
|
28050 |
|
|
|
28051 |
|
|
2008-01-23 Bernd Schmidt
|
28052 |
|
|
|
28053 |
|
|
* config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
|
28054 |
|
|
* config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
|
28055 |
|
|
(cputype_selected): New static variable.
|
28056 |
|
|
(bfin_handle_option): Set it if -mcpu is used.
|
28057 |
|
|
(override_option): Select default set of workarounds if no cpu type
|
28058 |
|
|
selected on the command line.
|
28059 |
|
|
(workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
|
28060 |
|
|
|
28061 |
|
|
From Michael Frysinger
|
28062 |
|
|
* config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
|
28063 |
|
|
BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
|
28064 |
|
|
|
28065 |
|
|
* config/bfin/elf.h (LIB_SPEC): Use proper linker script
|
28066 |
|
|
for bf547, bf523, bf524, and bf526.
|
28067 |
|
|
* config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
|
28068 |
|
|
bf526.
|
28069 |
|
|
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
|
28070 |
|
|
__ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
|
28071 |
|
|
__ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
|
28072 |
|
|
__ADSPBF547__ and __ADSPBF54x__ for bf547.
|
28073 |
|
|
* doc/invoke.texi (Blackfin Options): Document that
|
28074 |
|
|
-mcpu now accept bf547, bf523, bf524, and bf526.
|
28075 |
|
|
|
28076 |
|
|
2008-01-22 Eric Botcazou
|
28077 |
|
|
|
28078 |
|
|
PR rtl-optimization/34628
|
28079 |
|
|
* combine.c (try_combine): Stop and undo after the first combination
|
28080 |
|
|
if an autoincrement side-effect on the first insn has effectively
|
28081 |
|
|
been lost.
|
28082 |
|
|
|
28083 |
|
|
2008-01-22 David Edelsohn
|
28084 |
|
|
|
28085 |
|
|
PR target/34529
|
28086 |
|
|
* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
|
28087 |
|
|
Offset addresses are not valid for Altivec or paired float modes.
|
28088 |
|
|
|
28089 |
|
|
2008-01-22 Jakub Jelinek
|
28090 |
|
|
|
28091 |
|
|
PR c++/34607
|
28092 |
|
|
* c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
|
28093 |
|
|
if DECL_INITIAL (decl) is error_mark_node.
|
28094 |
|
|
|
28095 |
|
|
PR c++/34914
|
28096 |
|
|
* c-common.c (handle_vector_size_attribute): Only allow
|
28097 |
|
|
integral, scalar float and fixed point types. Handle OFFSET_TYPE
|
28098 |
|
|
the same way as pointer, array etc. types.
|
28099 |
|
|
* tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
|
28100 |
|
|
|
28101 |
|
|
PR c++/34917
|
28102 |
|
|
* tree.c (build_type_attribute_qual_variant): Call
|
28103 |
|
|
build_qualified_type if attributes are equal, but quals are not.
|
28104 |
|
|
|
28105 |
|
|
2008-01-22 Manuel Lopez-Ibanez
|
28106 |
|
|
|
28107 |
|
|
PR 32102
|
28108 |
|
|
* doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
|
28109 |
|
|
* flags.h (warn_strict_aliasing): Remove.
|
28110 |
|
|
(warn_strict_overflow): Remove.
|
28111 |
|
|
* opts.c (warn_strict_aliasing): Remove.
|
28112 |
|
|
(warn_strict_overflow): Remove.
|
28113 |
|
|
* c-opts.c (c_common_handle_option): -Wall only sets
|
28114 |
|
|
-Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
|
28115 |
|
|
(c_common_post_options): Give default values to -Wstrict-aliasing
|
28116 |
|
|
and -Wstrict-overflow if they are uninitialized.
|
28117 |
|
|
* common.opt (Wstrict-aliasing): Specify Var and Init.
|
28118 |
|
|
(Wstrict-overflow): Likewise.
|
28119 |
|
|
|
28120 |
|
|
2008-01-22 Kenneth Zadeck
|
28121 |
|
|
|
28122 |
|
|
PR rtl-optimization/26854
|
28123 |
|
|
PR rtl-optimization/34400
|
28124 |
|
|
PR rtl-optimization/34884
|
28125 |
|
|
* ddg.c (create_ddg_dep_from_intra_loop_link): Use
|
28126 |
|
|
DF_RD->gen.
|
28127 |
|
|
* df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
|
28128 |
|
|
(df_rd_bb_info.expanded_lr_out): Deleted
|
28129 |
|
|
* loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
|
28130 |
|
|
* loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c
|
28131 |
|
|
(df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
|
28132 |
|
|
df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
|
28133 |
|
|
Removed code to allocate, initialize or free expanded_lr_out.
|
28134 |
|
|
(df_rd_bb_local_compute_process_def): Restructured to make more
|
28135 |
|
|
understandable.
|
28136 |
|
|
(df_rd_confluence_n): Removed code to no apply invalidate_by_call
|
28137 |
|
|
sets if the sets are being trimmed.
|
28138 |
|
|
|
28139 |
|
|
2008-01-22 H.J. Lu
|
28140 |
|
|
|
28141 |
|
|
PR bootstrap/32287
|
28142 |
|
|
* configure.ac (ld_vers): Support GNU linker version xx.xx.*
|
28143 |
|
|
(as_vers): Likewise.
|
28144 |
|
|
* configure: Regenerated.
|
28145 |
|
|
|
28146 |
|
|
2008-01-22 Manuel Lopez-Ibanez
|
28147 |
|
|
|
28148 |
|
|
PR middle-end/33092
|
28149 |
|
|
* tree-pass.h (pass_build_alias): New pass.
|
28150 |
|
|
* tree-ssa-alias.c (gate_build_alias): New.
|
28151 |
|
|
(pass_build_alias): New.
|
28152 |
|
|
* passes.c (init_optimization_passes): Add pass_build_alias after
|
28153 |
|
|
pass_create_structure_vars.
|
28154 |
|
|
|
28155 |
|
|
2008-01-22 Wolfgang Gellerich
|
28156 |
|
|
|
28157 |
|
|
* config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
|
28158 |
|
|
Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
|
28159 |
|
|
(S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
|
28160 |
|
|
S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
|
28161 |
|
|
(S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
|
28162 |
|
|
S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
|
28163 |
|
|
(S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
|
28164 |
|
|
S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
|
28165 |
|
|
(S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
|
28166 |
|
|
(S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
|
28167 |
|
|
(S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
|
28168 |
|
|
(S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
|
28169 |
|
|
* config/s390/s390.md (FP_ALL): New mode iterator.
|
28170 |
|
|
(_d): New mode attribute.
|
28171 |
|
|
("*signbit2>"): Changed mode of first operand.
|
28172 |
|
|
("isinf2"): Changed mode of first operand.
|
28173 |
|
|
("*TDC_insn"): Adaptation for DFP modes.
|
28174 |
|
|
|
28175 |
|
|
2008-01-22 Ben Elliston
|
28176 |
|
|
|
28177 |
|
|
* tree.c (check_qualified_type): Improve function description.
|
28178 |
|
|
|
28179 |
|
|
2008-01-21 Jason Merrill
|
28180 |
|
|
|
28181 |
|
|
PR c++/34196
|
28182 |
|
|
* tree.h (TRY_CATCH_IS_CLEANUP): New macro.
|
28183 |
|
|
* tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
|
28184 |
|
|
if it is set.
|
28185 |
|
|
|
28186 |
|
|
2008-01-21 DJ Delorie
|
28187 |
|
|
|
28188 |
|
|
* doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
|
28189 |
|
|
return zero.
|
28190 |
|
|
|
28191 |
|
|
2008-01-21 Richard Guenther
|
28192 |
|
|
|
28193 |
|
|
PR middle-end/34856
|
28194 |
|
|
* tree-cfg.c (verify_expr): Allow all invariant expressions
|
28195 |
|
|
instead of just constant class ones as reference argument.
|
28196 |
|
|
* tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
|
28197 |
|
|
like any other constant.
|
28198 |
|
|
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
|
28199 |
|
|
|
28200 |
|
|
2008-01-21 H.J. Lu
|
28201 |
|
|
|
28202 |
|
|
* regmove.c (fixup_match_1): Update call crossed frequencies.
|
28203 |
|
|
|
28204 |
|
|
2008-01-21 Richard Guenther
|
28205 |
|
|
|
28206 |
|
|
PR c/34885
|
28207 |
|
|
* tree-inline.c (setup_one_parameter): Deal with mismatched
|
28208 |
|
|
types using a VIEW_CONVERT_EXPR.
|
28209 |
|
|
|
28210 |
|
|
2008-01-21 Alon Dayan
|
28211 |
|
|
Olga Golovanevsky
|
28212 |
|
|
|
28213 |
|
|
PR tree-optimization/34701
|
28214 |
|
|
* ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
|
28215 |
|
|
when the structure size is not a power of 2.
|
28216 |
|
|
|
28217 |
|
|
2008-01-20 Kenneth Zadeck
|
28218 |
|
|
|
28219 |
|
|
* doc/install.texi: Add doc for --enable-checking=df.
|
28220 |
|
|
|
28221 |
|
|
2008-01-20 Kaz Kojima
|
28222 |
|
|
|
28223 |
|
|
PR rtl-optimization/34808
|
28224 |
|
|
* emit-rtl.c (try_split): Handle REG_RETVAL notes.
|
28225 |
|
|
|
28226 |
|
|
2008-01-20 Richard Sandiford
|
28227 |
|
|
|
28228 |
|
|
* global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
|
28229 |
|
|
input.
|
28230 |
|
|
|
28231 |
|
|
2008-01-19 Kenneth Zadeck
|
28232 |
|
|
|
28233 |
|
|
PR rtl-optimization/26854
|
28234 |
|
|
PR rtl-optimization/34400
|
28235 |
|
|
* ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
|
28236 |
|
|
DF_RD->gen.
|
28237 |
|
|
* df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
|
28238 |
|
|
(df_rd_bb_info.expanded_lr_out): New.
|
28239 |
|
|
* loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
|
28240 |
|
|
* loop_iv.c (iv_analysis_loop_init): Ditto.
|
28241 |
|
|
* df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
|
28242 |
|
|
df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
|
28243 |
|
|
Added code to allocate, initialize or free expanded_lr_out.
|
28244 |
|
|
(df_rd_bb_local_compute_process_def): Restructured to make
|
28245 |
|
|
more understandable.
|
28246 |
|
|
(df_rd_confluence_n): Add code to do nothing with fake edges and
|
28247 |
|
|
code to no apply invalidate_by_call sets if the sets are being trimmed.
|
28248 |
|
|
(df_lr_local_finalize): Renamed to df_lr_finalize.
|
28249 |
|
|
(df_live_local_finalize): Renamed to df_live_finalize.
|
28250 |
|
|
|
28251 |
|
|
2008-01-20 Richard Sandiford
|
28252 |
|
|
|
28253 |
|
|
PR target/34831
|
28254 |
|
|
* config/mips/mips.md (div3): Use when
|
28255 |
|
|
deciding whether to use reciprocal instructions.
|
28256 |
|
|
|
28257 |
|
|
2008-01-19 Uros Bizjak
|
28258 |
|
|
|
28259 |
|
|
* dwarf2out.c (dwarf2out_switch_text_section): Do not call
|
28260 |
|
|
dwarf2out_note_section_used if cold_text_section is NULL.
|
28261 |
|
|
|
28262 |
|
|
2008-01-19 Jakub Jelinek
|
28263 |
|
|
|
28264 |
|
|
PR gcov-profile/34610
|
28265 |
|
|
* tree-cfg.c (make_edges): Mark both outgoing edges from
|
28266 |
|
|
OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
|
28267 |
|
|
* omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
|
28268 |
|
|
from OMP_FOR and OMP_CONTINUE outgoing edges.
|
28269 |
|
|
|
28270 |
|
|
* tree-profile.c (tree_profiling): Return early if
|
28271 |
|
|
cfun->after_tree_profile != 0. Set cfun->after_tree_profile
|
28272 |
|
|
at the end.
|
28273 |
|
|
* omp-low.c (expand_omp_parallel): Copy after_tree_profile
|
28274 |
|
|
from cfun to child_cfun.
|
28275 |
|
|
* function.h (struct function): Add after_tree_profile bit.
|
28276 |
|
|
|
28277 |
|
|
2008-01-19 Anatoly Sokolov
|
28278 |
|
|
|
28279 |
|
|
* config/avr/avr.S (_exit): Disable interrupt.
|
28280 |
|
|
|
28281 |
|
|
2008-01-18 Kenneth Zadeck
|
28282 |
|
|
Steven Bosscher
|
28283 |
|
|
|
28284 |
|
|
PR rtl-optimization/26854
|
28285 |
|
|
PR rtl-optimization/34400
|
28286 |
|
|
* df-problems.c (df_live_scratch): New scratch bitmap.
|
28287 |
|
|
(df_live_alloc): Allocate df_live_scratch when doing df_live.
|
28288 |
|
|
(df_live_reset): Clear the proper bitmaps.
|
28289 |
|
|
(df_live_bb_local_compute): Only process the artificial defs once
|
28290 |
|
|
since the order is not important.
|
28291 |
|
|
(df_live_init): Init the df_live sets only with the variables
|
28292 |
|
|
found live by df_lr.
|
28293 |
|
|
(df_live_transfer_function): Use the df_lr sets to prune the
|
28294 |
|
|
df_live sets as they are being computed.
|
28295 |
|
|
(df_live_free): Free df_live_scratch.
|
28296 |
|
|
|
28297 |
|
|
2008-01-18 Ian Lance Taylor
|
28298 |
|
|
|
28299 |
|
|
* common.opt: Add fmerge-debug-strings.
|
28300 |
|
|
* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
|
28301 |
|
|
flag_merge_debug_strings rather than flag_merge_constants.
|
28302 |
|
|
* doc/invoke.texi (Option Summary): Mention
|
28303 |
|
|
-fmerge-debug-strings.
|
28304 |
|
|
(Debugging Options): Document -fmerge-debug-strings.
|
28305 |
|
|
|
28306 |
|
|
2008-01-18 Ian Lance Taylor
|
28307 |
|
|
|
28308 |
|
|
PR c++/33407
|
28309 |
|
|
* tree.h (DECL_IS_OPERATOR_NEW): Define.
|
28310 |
|
|
(struct tree_function_decl): Add new field operator_new_flag.
|
28311 |
|
|
* tree-inline.c (expand_call_inline): When inlining a call to
|
28312 |
|
|
operator new, force the return value to go into a variable, and
|
28313 |
|
|
set DECL_NO_TBAA_P on that variable.
|
28314 |
|
|
* c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
|
28315 |
|
|
|
28316 |
|
|
2008-01-18 Uros Bizjak
|
28317 |
|
|
|
28318 |
|
|
PR debug/34484
|
28319 |
|
|
* dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
|
28320 |
|
|
DWARF2_DEBUGGING_INFO.
|
28321 |
|
|
(dwarf2out_note_section_used): Ditto. Add prototype.
|
28322 |
|
|
(have_multiple_function_sections, text_section_used,
|
28323 |
|
|
cold_text_section_used, *cold_text_sections): Move declarations
|
28324 |
|
|
before their uses.
|
28325 |
|
|
|
28326 |
|
|
2008-01-17 Bob Wilson
|
28327 |
|
|
|
28328 |
|
|
* config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
|
28329 |
|
|
field and add signal_ra.
|
28330 |
|
|
* config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
|
28331 |
|
|
assignments to frame state pc. Move end of stack check after
|
28332 |
|
|
MD_FALLBACK_FRAME_STATE_FOR.
|
28333 |
|
|
(uw_update_context_1): Use frame state signal_regs if set, instead
|
28334 |
|
|
of checking signal_frame flag.
|
28335 |
|
|
(uw_update_context): Use frame state signal_ra if set.
|
28336 |
|
|
* config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
|
28337 |
|
|
* config/xtensa/linux-unwind.h: New file.
|
28338 |
|
|
|
28339 |
|
|
2008-01-18 Bernhard Fischer
|
28340 |
|
|
|
28341 |
|
|
* modulo-sched.c (get_sched_window): Fix comment typo.
|
28342 |
|
|
|
28343 |
|
|
2008-01-17 Andrew MacLeod
|
28344 |
|
|
|
28345 |
|
|
PR tree-optimization/34648
|
28346 |
|
|
* tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
|
28347 |
|
|
|
28348 |
|
|
2008-01-17 Anatoly Sokolov
|
28349 |
|
|
|
28350 |
|
|
* config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
|
28351 |
|
|
* config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
|
28352 |
|
|
|
28353 |
|
|
2008-01-17 Seongbae Park
|
28354 |
|
|
|
28355 |
|
|
PR rtl-optimization/34400
|
28356 |
|
|
* df-core.c (df_worklist_dataflow_overeager,
|
28357 |
|
|
df_worklist_dataflow_doublequeue): New functions.
|
28358 |
|
|
(df_worklist_dataflow): Two different worklist solvers.
|
28359 |
|
|
* params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
|
28360 |
|
|
New param.
|
28361 |
|
|
|
28362 |
|
|
2008-01-16 Sebastian Pop
|
28363 |
|
|
|
28364 |
|
|
PR testsuite/34821
|
28365 |
|
|
* doc/invoke.texi: Document the dependence on pthread for fopenmp
|
28366 |
|
|
and ftree-parallelize-loops.
|
28367 |
|
|
|
28368 |
|
|
2008-01-17 Mircea Namolaru
|
28369 |
|
|
|
28370 |
|
|
PR rtl-optimization/34826
|
28371 |
|
|
* loop-doloop (doloop_modify): Update the REG_BR_PROB note.
|
28372 |
|
|
|
28373 |
|
|
2008-01-17 Andreas Krebbel
|
28374 |
|
|
|
28375 |
|
|
* global.c (find_reg): Mark the eh regs as used if necessary.
|
28376 |
|
|
* ra-conflict.c (global_conflicts): Set no_eh_reg flag.
|
28377 |
|
|
* ra.h (struct allocno): no_eh_reg field added. Changed
|
28378 |
|
|
no_stack_reg type to bitfield.
|
28379 |
|
|
|
28380 |
|
|
2008-01-17 Eric Botcazou
|
28381 |
|
|
|
28382 |
|
|
* tree.c (substitute_in_expr): Add missing 'break'.
|
28383 |
|
|
|
28384 |
|
|
2008-01-17 Richard Guenther
|
28385 |
|
|
|
28386 |
|
|
PR tree-optimization/34825
|
28387 |
|
|
* tree-ssa-math-opts.c (is_division_by): Do not recognize
|
28388 |
|
|
x / x as division to handle.
|
28389 |
|
|
|
28390 |
|
|
2008-01-16 John David Anglin
|
28391 |
|
|
|
28392 |
|
|
* pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
|
28393 |
|
|
"-pthread" is specified.
|
28394 |
|
|
* pa-hpux11.h (LIB_SPEC): Likewise.
|
28395 |
|
|
|
28396 |
|
|
2008-01-16 Janis Johnson
|
28397 |
|
|
Peter Bergner
|
28398 |
|
|
|
28399 |
|
|
PR rtl-optimization/33796
|
28400 |
|
|
* sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
|
28401 |
|
|
|
28402 |
|
|
2008-01-16 John David Anglin
|
28403 |
|
|
|
28404 |
|
|
PR libgfortran/34699
|
28405 |
|
|
* pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
|
28406 |
|
|
static links.
|
28407 |
|
|
* pa-hpux10.h (LINK_SPEC): Likewise.
|
28408 |
|
|
* pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
|
28409 |
|
|
|
28410 |
|
|
2008-01-16 Richard Guenther
|
28411 |
|
|
|
28412 |
|
|
PR middle-end/32628
|
28413 |
|
|
* fold-const.c (fold_convert_const_int_from_int): Do not
|
28414 |
|
|
set overflow if that occured only because of a sign extension
|
28415 |
|
|
change when converting from/to a sizetype with the same
|
28416 |
|
|
precision and signedness.
|
28417 |
|
|
|
28418 |
|
|
2008-01-16 Uros Bizjak
|
28419 |
|
|
|
28420 |
|
|
PR debug/34249
|
28421 |
|
|
* dwarf2out.c (output_call_frame_info): Move output of FDE initial
|
28422 |
|
|
location address to the correct place. Update copyright year.
|
28423 |
|
|
|
28424 |
|
|
2008-01-16 Sebastian Pop
|
28425 |
|
|
|
28426 |
|
|
* lambda-code.c (lambda_transform_legal_p): Handle the case of
|
28427 |
|
|
no dependences in the dependence_relations vector.
|
28428 |
|
|
|
28429 |
|
|
2008-01-16 Jan Hubicka
|
28430 |
|
|
|
28431 |
|
|
PR rtl-optimization/31396
|
28432 |
|
|
* regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
|
28433 |
|
|
* cfg.c (dump_reg_info): Print it.
|
28434 |
|
|
* regs.h (struct reg_info_t): add freq_calls_crossed.
|
28435 |
|
|
(REG_FREQ_CALLS_CROSSED): New macro.
|
28436 |
|
|
* global.c (global_alloc): Compute freq_calls_crossed for allocno.
|
28437 |
|
|
(find_reg): Update call of CALLER_SAVE_PROFITABLE.
|
28438 |
|
|
* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
|
28439 |
|
|
regmove_optimize): Update call crossed frequencies.
|
28440 |
|
|
* local-alloc.c (struct qty): Add freq_calls_crossed.
|
28441 |
|
|
(alloc_qty): Copute freq_calls_crossed.
|
28442 |
|
|
(update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
|
28443 |
|
|
(find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
|
28444 |
|
|
* ra.h (struct allocno): Add freq_calls_crossed.
|
28445 |
|
|
|
28446 |
|
|
2008-01-16 Sebastian Pop
|
28447 |
|
|
|
28448 |
|
|
* gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
|
28449 |
|
|
libgomp when compiling with ftree-parallelize-loops.
|
28450 |
|
|
(GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
|
28451 |
|
|
|
28452 |
|
|
2008-01-16 Richard Guenther
|
28453 |
|
|
|
28454 |
|
|
PR tree-optimization/34769
|
28455 |
|
|
* tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
|
28456 |
|
|
* tree.c (int_cst_value): Instead make this function more
|
28457 |
|
|
permissive in what it accepts as valid input. Document this
|
28458 |
|
|
function always sign-extends the value.
|
28459 |
|
|
|
28460 |
|
|
2008-01-16 Jakub Jelinek
|
28461 |
|
|
Richard Guenther
|
28462 |
|
|
|
28463 |
|
|
PR c/34668
|
28464 |
|
|
* gimplify.c (fold_indirect_ref_rhs): Rename to ...
|
28465 |
|
|
(gimple_fold_indirect_ref_rhs): ... this.
|
28466 |
|
|
(gimple_fold_indirect_ref): New function with foldings
|
28467 |
|
|
that preserve lvalueness.
|
28468 |
|
|
(gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
|
28469 |
|
|
* tree-flow.h (gimple_fold_indirect_ref): Declare.
|
28470 |
|
|
* tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
|
28471 |
|
|
to fold an INDIRECT_REF, fall back to the old use of
|
28472 |
|
|
fold_indirect_ref_1.
|
28473 |
|
|
|
28474 |
|
|
2008-01-16 Sebastian Pop
|
28475 |
|
|
|
28476 |
|
|
* tree-data-ref.c (subscript_dependence_tester_1): Call
|
28477 |
|
|
free_conflict_function.
|
28478 |
|
|
(compute_self_dependence): Same.
|
28479 |
|
|
|
28480 |
|
|
2008-01-16 Uros Bizjak
|
28481 |
|
|
|
28482 |
|
|
PR debug/34249
|
28483 |
|
|
* debug.h (dwarf2out_switch_text_section): Move declaration from ...
|
28484 |
|
|
* dwarf2out.c (dwarf2out_switch_text_section): ... here. Make
|
28485 |
|
|
function global.
|
28486 |
|
|
* final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
|
28487 |
|
|
Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
|
28488 |
|
|
for DWARF2_UNWIND_INFO targets.
|
28489 |
|
|
|
28490 |
|
|
2008-01-16 Richard Guenther
|
28491 |
|
|
|
28492 |
|
|
PR c/34768
|
28493 |
|
|
* c-typeck.c (common_pointer_type): Do not merge inconsistent
|
28494 |
|
|
type qualifiers for function types.
|
28495 |
|
|
|
28496 |
|
|
2008-01-15 Jerry DeLisle
|
28497 |
|
|
|
28498 |
|
|
* tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
|
28499 |
|
|
loop_iterator li from previous commit.
|
28500 |
|
|
|
28501 |
|
|
2008-01-15 Sebastian Pop
|
28502 |
|
|
|
28503 |
|
|
* tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
|
28504 |
|
|
|
28505 |
|
|
2008-01-12 Sebastian Pop
|
28506 |
|
|
|
28507 |
|
|
* tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
|
28508 |
|
|
(parallelize_loops): Don't parallelize irreducible components.
|
28509 |
|
|
|
28510 |
|
|
2008-01-14 Manuel Lopez-Ibanez
|
28511 |
|
|
|
28512 |
|
|
PR c++/24924
|
28513 |
|
|
* c-opts (c_common_post_options): Do not enable CPP
|
28514 |
|
|
flag_pedantic_errors by default.
|
28515 |
|
|
|
28516 |
|
|
2008-01-14 Eric Botcazou
|
28517 |
|
|
|
28518 |
|
|
PR rtl-optimization/31944
|
28519 |
|
|
* cse.c (remove_pseudo_from_table): New function.
|
28520 |
|
|
(merge_equiv_classes): Use above function to remove pseudo-registers.
|
28521 |
|
|
(invalidate): Likewise.
|
28522 |
|
|
|
28523 |
|
|
2008-01-13 Richard Guenther
|
28524 |
|
|
|
28525 |
|
|
PR middle-end/34601
|
28526 |
|
|
* emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
|
28527 |
|
|
instead of TYPE_MODE to deal with calls from expand_one_error_var.
|
28528 |
|
|
|
28529 |
|
|
2008-01-13 Uros Bizjak
|
28530 |
|
|
|
28531 |
|
|
* gcse.c (cprop_jump): Call validate_unshare_change instead of
|
28532 |
|
|
validate_change to unshare the source of the PC set.
|
28533 |
|
|
|
28534 |
|
|
2008-01-12 Jan Hubicka
|
28535 |
|
|
|
28536 |
|
|
PR middle-end/32135
|
28537 |
|
|
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
|
28538 |
|
|
references above array bounds. This might trigger bounds checks for
|
28539 |
|
|
pointers to arrays.
|
28540 |
|
|
|
28541 |
|
|
2008-01-12 Sebastian Pop
|
28542 |
|
|
|
28543 |
|
|
* tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
|
28544 |
|
|
new_replaceable_dependencies.
|
28545 |
|
|
|
28546 |
|
|
2008-01-12 Doug Kwan
|
28547 |
|
|
|
28548 |
|
|
* c-decl.c (grokdeclarator): Use OPT_Wignored_qualifiers
|
28549 |
|
|
instead of OPT_Wreturn_type in warning due to ignored return type
|
28550 |
|
|
qualifiers.
|
28551 |
|
|
* c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
|
28552 |
|
|
options included in -Wextra.
|
28553 |
|
|
* c.opt: New option -Wignored_qualifiers.
|
28554 |
|
|
* doc/invoke.texi (Warning Options, -Wextra): Add new option
|
28555 |
|
|
-Wignore_qualifiers.
|
28556 |
|
|
(-Wignored-qualifiers): Document.
|
28557 |
|
|
(-Wreturn-type): Remove description of functionality now handled
|
28558 |
|
|
by -Wignored-qualifiers.
|
28559 |
|
|
|
28560 |
|
|
2008-01-12 Eric Botcazou
|
28561 |
|
|
|
28562 |
|
|
PR ada/33788
|
28563 |
|
|
* fold-const.c (fold_unary) : Fold an existing
|
28564 |
|
|
NOP_EXPR if it is between integral types with the same precision.
|
28565 |
|
|
|
28566 |
|
|
2008-01-12 Jan Hubicka
|
28567 |
|
|
|
28568 |
|
|
PR other/28023
|
28569 |
|
|
* invoke.texi (max-inline-recursive-depth): Fix default value.
|
28570 |
|
|
|
28571 |
|
|
2008-01-12 Zdenek Dvorak
|
28572 |
|
|
|
28573 |
|
|
* tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
|
28574 |
|
|
correct type.
|
28575 |
|
|
|
28576 |
|
|
2008-01-11 Bob Wilson
|
28577 |
|
|
|
28578 |
|
|
* config/xtensa/xtensa.c (override_options): Set flag_shlib.
|
28579 |
|
|
|
28580 |
|
|
2008-01-11 James E. Wilson
|
28581 |
|
|
|
28582 |
|
|
PR target/26015
|
28583 |
|
|
* config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
|
28584 |
|
|
|
28585 |
|
|
2008-01-11 Anatoly Sokolov
|
28586 |
|
|
|
28587 |
|
|
* config/avr/avr.c (expand_prologue, expand_epilogue): Don't
|
28588 |
|
|
save/restore frame pointer register and don't use 'call-prologues'
|
28589 |
|
|
optimization in function with "OS_task" attribute.
|
28590 |
|
|
|
28591 |
|
|
2008-01-11 Eric Botcazou
|
28592 |
|
|
|
28593 |
|
|
PR middle-end/31309
|
28594 |
|
|
* expr.c (copy_blkmode_from_reg): Use a mode suited to the size
|
28595 |
|
|
when copying to memory.
|
28596 |
|
|
|
28597 |
|
|
2008-01-11 Steven Bosscher
|
28598 |
|
|
|
28599 |
|
|
PR rtl-optimization/30905
|
28600 |
|
|
* cfgcleanup.c: Include dce.h
|
28601 |
|
|
(crossjumps_occured): New global variable.
|
28602 |
|
|
(try_crossjump_bb): Exit loop after finding a fallthru edge.
|
28603 |
|
|
If something changed, set crossjumps_occured to true.
|
28604 |
|
|
(try_optimize_cfg): Clear crossjumps_occured at the beginning.
|
28605 |
|
|
Don't add/remove fake edges to exit here...
|
28606 |
|
|
(cleanup_cfg): ...but do it here, when crossjumping.
|
28607 |
|
|
Run a fast DCE when successful crossjumps occured in the latest
|
28608 |
|
|
iteration of try_optimize_cfg.
|
28609 |
|
|
|
28610 |
|
|
2008-01-11 Richard Guenther
|
28611 |
|
|
|
28612 |
|
|
* tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
|
28613 |
|
|
(struct vn_unary_op_s): Likewise.
|
28614 |
|
|
(vn_reference_insert): Free old reference on hash collision.
|
28615 |
|
|
|
28616 |
|
|
2008-01-10 Raksit Ashok
|
28617 |
|
|
|
28618 |
|
|
PR rtl-optimization/27971
|
28619 |
|
|
* combine.c (find_split_point): Split PLUS expressions which are
|
28620 |
|
|
inside a MEM rtx, and whose first operand is complex.
|
28621 |
|
|
|
28622 |
|
|
2008-01-10 DJ Delorie
|
28623 |
|
|
|
28624 |
|
|
* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
|
28625 |
|
|
(m32c_hard_regno_nregs): ...this, which is now a wrapper.
|
28626 |
|
|
(m32c_hard_regno_ok): Call the underlying function.
|
28627 |
|
|
|
28628 |
|
|
2008-01-10 Richard Guenther
|
28629 |
|
|
|
28630 |
|
|
PR middle-end/34683
|
28631 |
|
|
* tree-cfg.c (tree_merge_blocks): Do not go through the
|
28632 |
|
|
full-blown folding and stmt updating path if we just deal
|
28633 |
|
|
with virtual operands.
|
28634 |
|
|
* tree-ssa-copy.c (may_propagate_copy): Do not short-cut
|
28635 |
|
|
test for abnormal SSA_NAMEs.
|
28636 |
|
|
|
28637 |
|
|
2008-01-10 Andreas Krebbel
|
28638 |
|
|
|
28639 |
|
|
PR middle-end/34641
|
28640 |
|
|
* reload.c (push_reload): Add assertions. All constants from
|
28641 |
|
|
reg_equiv_constant should have been used for replacing the respective
|
28642 |
|
|
pseudo earlier.
|
28643 |
|
|
(find_reloads_address): Invoke find_reloads_address_part for
|
28644 |
|
|
constant taken from the reg_equiv_constant array.
|
28645 |
|
|
|
28646 |
|
|
2008-01-10 Steven Bosscher
|
28647 |
|
|
|
28648 |
|
|
* tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
|
28649 |
|
|
field (valnum) the first in the struct. Replace bools with
|
28650 |
|
|
unit bit fields.
|
28651 |
|
|
|
28652 |
|
|
2008-01-10 Richard Guenther
|
28653 |
|
|
|
28654 |
|
|
PR tree-optimization/34651
|
28655 |
|
|
* tree-sra.c (sra_build_assignment): Sanitize. Use the correct
|
28656 |
|
|
types and ordering for masking and converting.
|
28657 |
|
|
|
28658 |
|
|
2008-01-09 Sebastian Pop
|
28659 |
|
|
|
28660 |
|
|
PR tree-optimization/34017
|
28661 |
|
|
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
|
28662 |
|
|
also for PHI_NODE expressions.
|
28663 |
|
|
|
28664 |
|
|
2008-01-09 Jan Hubicka
|
28665 |
|
|
|
28666 |
|
|
PR tree-optimization/34708
|
28667 |
|
|
* tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
|
28668 |
|
|
based on number of case labels.
|
28669 |
|
|
(init_inline_once): Remove switch_cost.
|
28670 |
|
|
* tree-inline.h (eni_weights_d): Remove switch_cost.
|
28671 |
|
|
|
28672 |
|
|
2008-01-09 Richard Guenther
|
28673 |
|
|
Andrew Pinski
|
28674 |
|
|
|
28675 |
|
|
PR middle-end/30132
|
28676 |
|
|
* gimplify.c (gimplify_cond_expr): Do not create an addressable
|
28677 |
|
|
temporary if an rvalue is ok or an lvalue is not required.
|
28678 |
|
|
|
28679 |
|
|
2008-01-09 Richard Guenther
|
28680 |
|
|
|
28681 |
|
|
PR middle-end/34458
|
28682 |
|
|
* tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
|
28683 |
|
|
adjust return type.
|
28684 |
|
|
|
28685 |
|
|
2008-01-09 Richard Guenther
|
28686 |
|
|
|
28687 |
|
|
PR middle-end/34679
|
28688 |
|
|
* tree.c (host_integerp): Check for sizetype only if the
|
28689 |
|
|
type is an integer type.
|
28690 |
|
|
|
28691 |
|
|
2008-01-09 Steven Bosscher
|
28692 |
|
|
|
28693 |
|
|
PR debug/26364
|
28694 |
|
|
* opts.c (decode_options): Disable inlining of functions called
|
28695 |
|
|
once if not in unit-at-a-time mode.
|
28696 |
|
|
|
28697 |
|
|
2008-01-09 Alexandre Oliva
|
28698 |
|
|
|
28699 |
|
|
* Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
|
28700 |
|
|
|
28701 |
|
|
2008-01-08 Richard Guenther
|
28702 |
|
|
|
28703 |
|
|
PR middle-end/31863
|
28704 |
|
|
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
|
28705 |
|
|
out early if the result will be unused.
|
28706 |
|
|
|
28707 |
|
|
2008-01-08 Uros Bizjak
|
28708 |
|
|
|
28709 |
|
|
PR target/34709
|
28710 |
|
|
Revert:
|
28711 |
|
|
|
28712 |
|
|
2008-01-05 Uros Bizjak
|
28713 |
|
|
* config/i386/i386.c (ix86_builtin_reciprocal): Remove check
|
28714 |
|
|
for TARGET_RECIP.
|
28715 |
|
|
|
28716 |
|
|
2008-01-08 Jan Sjodin
|
28717 |
|
|
|
28718 |
|
|
* config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
|
28719 |
|
|
for vectorization tuned.
|
28720 |
|
|
|
28721 |
|
|
2008-01-08 Richard Guenther
|
28722 |
|
|
|
28723 |
|
|
PR tree-optimization/34683
|
28724 |
|
|
* tree-ssa-operands.c (operand_build_cmp): Export.
|
28725 |
|
|
* tree-ssa-operands.h (operand_build_cmp): Declare.
|
28726 |
|
|
* tree-vn.c (vuses_compare): Remove.
|
28727 |
|
|
(sort_vuses): Use operand_build_cmp.
|
28728 |
|
|
(sort_vuses_heap): Likewise.
|
28729 |
|
|
* tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
|
28730 |
|
|
to re-use old VEC if available. Do not sort already sorted VUSEs.
|
28731 |
|
|
(vdefs_to_vec): Do not sort already sorted VDEFs.
|
28732 |
|
|
|
28733 |
|
|
2008-01-08 Jakub Jelinek
|
28734 |
|
|
|
28735 |
|
|
PR middle-end/34694
|
28736 |
|
|
* omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
|
28737 |
|
|
|
28738 |
|
|
2008-01-08 Uros Bizjak
|
28739 |
|
|
|
28740 |
|
|
PR target/34702
|
28741 |
|
|
* doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
|
28742 |
|
|
limitations of reciprocal sequences on x86 targets.
|
28743 |
|
|
|
28744 |
|
|
2008-01-08 Richard Guenther
|
28745 |
|
|
|
28746 |
|
|
PR tree-optimization/34683
|
28747 |
|
|
* tree-flow-inline.h (var_ann): Remove overzealous asserts.
|
28748 |
|
|
|
28749 |
|
|
2008-01-07 Jakub Jelinek
|
28750 |
|
|
|
28751 |
|
|
PR target/34622
|
28752 |
|
|
* config/darwin.c (darwin_mergeable_string_section): Don't use
|
28753 |
|
|
.cstring if int_size_in_bytes != TREE_STRING_LENGTH.
|
28754 |
|
|
|
28755 |
|
|
2008-01-07 Uros Bizjak
|
28756 |
|
|
|
28757 |
|
|
PR target/34682
|
28758 |
|
|
* config/i386/i386.md (neg2): Rename from negsf2, negdf2 and
|
28759 |
|
|
negxf2. Macroize expander using X87MODEF mode iterator. Change
|
28760 |
|
|
predicates of op0 and op1 to register_operand.
|
28761 |
|
|
(abs2): Rename from abssf2, absdf2 and negxf2. Macroize
|
28762 |
|
|
expander using X87MODEF mode iterator. Change predicates of
|
28763 |
|
|
op0 and op1 to register_operand.
|
28764 |
|
|
("*absneg2_mixed", "*absneg2_sse"): Rename from
|
28765 |
|
|
corresponding patterns and macroize using MODEF macro. Change
|
28766 |
|
|
predicates of op0 and op1 to register_operand and remove
|
28767 |
|
|
"m" constraint. Disparage "r" alternative with "!".
|
28768 |
|
|
("*absneg2_i387"): Rename from corresponding patterns and
|
28769 |
|
|
macroize using X87MODEF macro. Change predicates of op0 and op1
|
28770 |
|
|
to register_operand and remove "m" constraint. Disparage "r"
|
28771 |
|
|
alternative with "!".
|
28772 |
|
|
(absneg splitter with memory operands): Remove.
|
28773 |
|
|
("*neg2_1", "*abs2_1"): Rename from corresponding
|
28774 |
|
|
patterns and macroize using X87MODEF mode iterator.
|
28775 |
|
|
* config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
|
28776 |
|
|
Change predicate of op1 to register_operand.
|
28777 |
|
|
* config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
|
28778 |
|
|
for memory operands.
|
28779 |
|
|
|
28780 |
|
|
2008-01-07 Nathan Froyd
|
28781 |
|
|
|
28782 |
|
|
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
|
28783 |
|
|
|
28784 |
|
|
2008-01-07 Richard Guenther
|
28785 |
|
|
|
28786 |
|
|
* basic-block.h (struct edge_def): Pair dest_idx with goto_locus
|
28787 |
|
|
fields.
|
28788 |
|
|
|
28789 |
|
|
2008-01-07 Richard Guenther
|
28790 |
|
|
|
28791 |
|
|
PR tree-optimization/34683
|
28792 |
|
|
* tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
|
28793 |
|
|
VOPs of the needed size to save memory. Use VEC_quick_push
|
28794 |
|
|
to save compile-time.
|
28795 |
|
|
(vdefs_to_vec): Likewise.
|
28796 |
|
|
|
28797 |
|
|
2008-01-07 Sa Liu
|
28798 |
|
|
|
28799 |
|
|
* config/spu/spu.md (divdf3): Genetate inline code for double
|
28800 |
|
|
division. The implementation doesn't handle INF or NAN, therefore it
|
28801 |
|
|
only applies when -ffinite-math-only is given.
|
28802 |
|
|
|
28803 |
|
|
2008-01-06 Paolo Carlini
|
28804 |
|
|
|
28805 |
|
|
PR libstdc++/34680
|
28806 |
|
|
* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
|
28807 |
|
|
* doc/cpp.texi ([Common Predefined Macros]): Document.
|
28808 |
|
|
|
28809 |
|
|
2008-01-06 Uros Bizjak
|
28810 |
|
|
|
28811 |
|
|
* config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
|
28812 |
|
|
order to use commutative addition instead of subtraction.
|
28813 |
|
|
|
28814 |
|
|
2008-01-06 Andrew Pinski
|
28815 |
|
|
Mircea Namolaru
|
28816 |
|
|
Vladimir Yanovsky
|
28817 |
|
|
Revital Eres
|
28818 |
|
|
|
28819 |
|
|
PR tree-optimization/34263
|
28820 |
|
|
* tree-outof-ssa.c (process_single_block_loop_latch,
|
28821 |
|
|
contains_tree_r): New functions.
|
28822 |
|
|
(analyze_edges_for_bb): Call process_single_block_loop_latch
|
28823 |
|
|
function to empty single-basic-block latch block if possible.
|
28824 |
|
|
|
28825 |
|
|
2008-01-05 Uros Bizjak
|
28826 |
|
|
|
28827 |
|
|
* config/i386/i386.c (ix86_builtin_reciprocal): Remove check
|
28828 |
|
|
for TARGET_RECIP.
|
28829 |
|
|
(ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
|
28830 |
|
|
|
28831 |
|
|
2008-01-05 Richard Sandiford
|
28832 |
|
|
|
28833 |
|
|
* c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
|
28834 |
|
|
|
28835 |
|
|
2008-01-05 Richard Sandiford
|
28836 |
|
|
|
28837 |
|
|
* config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
|
28838 |
|
|
|
28839 |
|
|
2008-01-05 Jakub Jelinek
|
28840 |
|
|
|
28841 |
|
|
PR tree-optimization/34618
|
28842 |
|
|
* tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
|
28843 |
|
|
flag from T.
|
28844 |
|
|
|
28845 |
|
|
2008-01-05 Uros Bizjak
|
28846 |
|
|
|
28847 |
|
|
PR target/34673
|
28848 |
|
|
* config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
|
28849 |
|
|
in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check.
|
28850 |
|
|
Update copyright year.
|
28851 |
|
|
|
28852 |
|
|
* config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
|
28853 |
|
|
Update copyright year.
|
28854 |
|
|
* config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
|
28855 |
|
|
using NR fixup.
|
28856 |
|
|
|
28857 |
|
|
2008-01-05 Zhouyi Zhou
|
28858 |
|
|
|
28859 |
|
|
* tree-vrp.c (find_conditional_asserts): Remove redundant check that
|
28860 |
|
|
edge does not point to current bb before changing need_assert.
|
28861 |
|
|
|
28862 |
|
|
2008-01-04 Richard Guenther
|
28863 |
|
|
|
28864 |
|
|
PR middle-end/34029
|
28865 |
|
|
* tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
|
28866 |
|
|
for verifying purposes if they are is_gimple_min_invariant.
|
28867 |
|
|
|
28868 |
|
|
2008-01-04 Aldy Hernandez
|
28869 |
|
|
|
28870 |
|
|
PR tree-optimization/34448
|
28871 |
|
|
PR tree-optimization/34465
|
28872 |
|
|
* gimplify.c (gimplify_init_constructor): Add new parameter
|
28873 |
|
|
notify_temp_creation. Use it.
|
28874 |
|
|
(gimplify_modify_expr_rhs): Take volatiles into account when
|
28875 |
|
|
optimizing constructors.
|
28876 |
|
|
Do not optimize constructors if gimplify_init_constructor will dump to
|
28877 |
|
|
memory.
|
28878 |
|
|
* gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
|
28879 |
|
|
* gcc.c-torture/compile/pr34448.c: New.
|
28880 |
|
|
|
28881 |
|
|
2008-01-04 Jakub Jelinek
|
28882 |
|
|
|
28883 |
|
|
PR gcov-profile/34609
|
28884 |
|
|
* tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
|
28885 |
|
|
return_slot if result is TREE_ADDRESSABLE.
|
28886 |
|
|
|
28887 |
|
|
2008-01-04 Richard Sandiford
|
28888 |
|
|
|
28889 |
|
|
* config/mips/mips.md (sqrt_condition): Tweak comment.
|
28890 |
|
|
(recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode.
|
28891 |
|
|
|
28892 |
|
|
2008-01-03 Tom Tromey
|
28893 |
|
|
|
28894 |
|
|
PR c/34457
|
28895 |
|
|
* c-common.c (c_type_hash): Handle VLAs.
|
28896 |
|
|
|
28897 |
|
|
2008-01-03 Jan Hubicka
|
28898 |
|
|
|
28899 |
|
|
PR tree-optimization/31081
|
28900 |
|
|
* tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
|
28901 |
|
|
|
28902 |
|
|
(remap_decl): When var is initialized to 0, don't set default_def.
|
28903 |
|
|
(expand_call_inline): Set entry_bb.
|
28904 |
|
|
* tree-inline.h (copy_body_data): Add entry_bb.
|
28905 |
|
|
|
28906 |
|
|
2008-01-03 Jakub Jelinek
|
28907 |
|
|
|
28908 |
|
|
PR c++/34619
|
28909 |
|
|
* cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
|
28910 |
|
|
before returning.
|
28911 |
|
|
|
28912 |
|
|
PR tree-optimization/29484
|
28913 |
|
|
* tree-inline.c (inline_forbidden_p_2): New function.
|
28914 |
|
|
(inline_forbidden_p): Disallow inlining if some static var
|
28915 |
|
|
has an address of a local LABEL_DECL in its initializer.
|
28916 |
|
|
* doc/extend.texi (Labels as Values): Document &&foo behaviour
|
28917 |
|
|
vs. inlining.
|
28918 |
|
|
|
28919 |
|
|
2008-01-03 Sebastian Pop
|
28920 |
|
|
|
28921 |
|
|
PR tree-optimization/34635
|
28922 |
|
|
* tree-data-ref.c (add_other_self_distances): Make sure that the
|
28923 |
|
|
evolution step is constant.
|
28924 |
|
|
|
28925 |
|
|
2008-01-03 Jakub Jelinek
|
28926 |
|
|
|
28927 |
|
|
PR middle-end/34608
|
28928 |
|
|
* omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
|
28929 |
|
|
|
28930 |
|
|
2008-01-02 Richard Sandiford
|
28931 |
|
|
|
28932 |
|
|
* tree-sra.c (scalarize_init): Insert the generate_element_init
|
28933 |
|
|
statements after the generate_element_zero statements.
|
28934 |
|
|
|
28935 |
|
|
2008-01-02 Richard Guenther
|
28936 |
|
|
|
28937 |
|
|
PR middle-end/34093
|
28938 |
|
|
PR middle-end/31976
|
28939 |
|
|
* tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
|
28940 |
|
|
for very large number of operands instead of ICEing.
|
28941 |
|
|
|
28942 |
|
|
2008-01-02 Arthur Norman
|
28943 |
|
|
|
28944 |
|
|
PR target/34013
|
28945 |
|
|
* config/i386/i386.c (ix86_expand_prologue): Save red-zone
|
28946 |
|
|
while stack probing.
|
28947 |
|
|
|
28948 |
|
|
2008-01-01 Douglas Gregor
|
28949 |
|
|
|
28950 |
|
|
* c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
|
28951 |
|
|
in C++0x mode.
|
28952 |
|
|
|
28953 |
|
|
2008-01-01 Volker Reichelt
|
28954 |
|
|
|
28955 |
|
|
PR libmudflap/26442
|
28956 |
|
|
* tree-mudflap.c (mx_register_decls): Guard warning by
|
28957 |
|
|
!DECL_ARTIFICIAL check.
|
28958 |
|
|
|
28959 |
|
|
2008-01-01 Jakub Jelinek
|
28960 |
|
|
|
28961 |
|
|
* config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
|
28962 |
|
|
sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
|
28963 |
|
|
sse5_perm): Fix constraints.
|
28964 |
|
|
|
28965 |
|
|
|
28966 |
|
|
Copyright (C) 2008 Free Software Foundation, Inc.
|
28967 |
|
|
|
28968 |
|
|
Copying and distribution of this file, with or without modification,
|
28969 |
|
|
are permitted in any medium without royalty provided the copyright
|
28970 |
|
|
notice and this notice are preserved.
|