]>
Commit | Line | Data |
---|---|---|
0e4744ac | 1 | 2007-04-16 Lawrence Crowl <crowl@google.com> |
2 | ||
3 | * doc/invoke.texi (Debugging Options): Add documentation for the | |
4 | -femit-struct-debug options -femit-struct-debug-baseonly, | |
5 | -femit-struct-debug-reduced, and | |
6 | -femit-struct-debug-detailed[=...]. | |
7 | ||
8 | * c-opts.c (c_common_handle_option): Add | |
9 | OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced, | |
10 | and OPT_femit_struct_debug_detailed_. | |
11 | * c.opt: Add specifications for | |
12 | -femit-struct-debug-baseonly, -femit-struct-debug-reduced, | |
13 | and -femit-struct-debug-detailed[=...]. | |
14 | * opts.c (set_struct_debug_option): Parse the | |
15 | -femit-struct-debug-... options. | |
16 | * opts.c (matches_main_base, main_input_basename, | |
17 | main_input_baselength, base_of_path, matches_main_base): Add | |
18 | variables and functions to compare header base name to compilation | |
19 | unit base name. | |
20 | * opts.c (should_emit_struct_debug): Add to determine to emit a | |
21 | structure based on the option. | |
22 | (dump_struct_debug) Also disabled function to debug this | |
23 | function. | |
24 | * opts.c (handle_options): Save the base name of the | |
25 | compilation unit. | |
26 | ||
27 | * langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define. | |
28 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add. | |
29 | This hook indicates if a type is generic. Set it by default | |
30 | to "never generic". | |
31 | * langhooks.h (struct lang_hooks_for_types): Add a new hook | |
32 | to determine if a struct type is generic or not. | |
33 | * cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook. | |
34 | * cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook. | |
35 | * cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook | |
36 | with live C++ hook. | |
37 | ||
38 | * flags.h (enum debug_info_usage): Add an enumeration to describe | |
39 | a program's use of a structure type. | |
40 | * dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter | |
41 | to indicate the program's usage of the type. Filter structs based | |
42 | on the -femit-struct-debug-... specification. | |
43 | (gen_type_die): Split into two routines, gen_type_die and | |
44 | gen_type_die_with_usage. gen_type_die is now a wrapper | |
45 | that assumes direct usage. | |
46 | (gen_type_die_with_usage): Replace calls to gen_type_die | |
47 | with gen_type_die_with_usage adding the program usage of | |
48 | the referenced type. | |
49 | (dwarf2out_imported_module_or_decl): Suppress struct debug | |
50 | information using should_emit_struct_debug when appropriate. | |
51 | ||
91c9ef60 | 52 | 2007-04-16 Ian Lance Taylor <iant@google.com> |
53 | ||
5c7155ca | 54 | PR tree-optimization/31522 |
55 | * tree-vrp.c (vr_phi_edge_counts): New static variable. | |
56 | (vrp_initialize): Allocate vr_phi_edge_counts. | |
57 | (vrp_visit_phi_node): Don't push to infinity if we saw a new | |
58 | executable edge. Drop test for all constants. | |
59 | (vrp_finalize): Free vrp_phi_edge_counts. | |
60 | ||
40b49e8f | 61 | * doc/cpp.texi (Common Predefined Macros): Clarify description of |
62 | __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__. | |
63 | ||
91c9ef60 | 64 | * tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer |
65 | predecessors at head rather than tail. | |
66 | ||
fc7dfeb9 | 67 | 2007-04-16 Matthias Klose <doko@debian.org> |
68 | ||
69 | * gcc/config/alpha/linux.h (CPP_SPEC): Define. | |
70 | * gcc/config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend. | |
71 | ||
c085e9f9 | 72 | 2007-04-16 Aldy Hernandez <aldyh@redhat.com> |
73 | ||
74 | * function.h: Remove sequence_stack extern declaration. | |
75 | ||
98d02c10 | 76 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
77 | ||
78 | * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Change to 64 on | |
79 | TARGET_FIDOA. | |
80 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Change to 64 if __mfido__ is | |
81 | defined. | |
82 | ||
8c23ba29 | 83 | 2007-04-16 Anatoly Sokolov <aesok@post.ru> |
84 | ||
85 | * config/avr/avr.c (avr_arch_types): Rearranging array. | |
86 | (enum avr_arch): Add. | |
87 | (avr_mcu_types): Use avr_arch enumeration constants instead of | |
88 | numbers. | |
89 | * config/avr/avr.h (LINK_SPEC): Simplify. | |
90 | ||
dbaae14a | 91 | 2007-04-16 Kazu Hirata <kazu@codesourcery.com> |
92 | ||
93 | * config/m68k/m68k.c (m68k_libcall_value, | |
94 | m68k_function_value): Use macros for register names more. | |
95 | ||
47313d14 | 96 | * config/m68k/m68k.h (FRAME_POINTER_REGNUM): Use A6_REG |
97 | instead. | |
98 | (M68K_REGNAME): Use A6_REG. | |
99 | * config/m68k/m68k.md (FP_REG): Rename to A6_REG. | |
100 | ||
c5947ab7 | 101 | 2007-04-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> |
102 | ||
103 | PR middle-end/28071 | |
104 | * sched-int.h (struct deps): Split field 'pending_lists_length' into | |
105 | 'pending_read_list_length' and 'pending_write_list_length'. Update | |
106 | comment. | |
107 | * sched-deps.c (add_insn_mem_dependence): Change signature. Update | |
108 | to handle two length counters instead of one. Update all uses. | |
109 | (flush_pending_lists, sched_analyze_1, init_deps): Update to handle | |
110 | two length counters instead of one. | |
111 | * sched-rgn.c (propagate_deps): Update to handle two length counters | |
112 | instead of one. | |
113 | ||
c3a50b15 | 114 | 2007-04-16 H.J. Lu <hongjiu.lu@intel.com> |
115 | ||
116 | PR target/31582 | |
117 | * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a | |
118 | copy of source, pass it to ix86_expand_vector_set and return | |
119 | it as target. | |
120 | ||
11b70d7d | 121 | 2007-04-16 David Ung <davidu@mips.com> |
c3a50b15 | 122 | Joseph Myers <joseph@codesourcery.com> |
11b70d7d | 123 | |
124 | * config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF, | |
125 | PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define. | |
126 | * config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data): | |
127 | Add 74K processor information. | |
128 | * config/mips/mips.md: Include 74k.md. | |
129 | (cpu): Add 74kc,74kf,74kx. | |
130 | (ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout. | |
131 | * config/mips/74k.md: New. | |
132 | * doc/invoke.texi (MIPS Options): Document 74K support. | |
133 | ||
29696c95 | 134 | 2007-04-16 Dorit Nuzman <dorit@il.ibm.com> |
135 | ||
136 | * tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to | |
137 | vectorizable_* functions. | |
138 | * tree-vect-transform.c (vectorizable_call): Add check for | |
139 | STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P. | |
140 | (vectorizable_store): likewise. | |
141 | (vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE. | |
142 | Add comments. | |
143 | (vectorizable_operation, vectorizable_type_demotion): Likewise. | |
144 | (vectorizable_type_promotion, vectorizable_load): Likewise. | |
145 | (vectorizable_live_operation, vectorizable_condition): Likewise. | |
146 | (vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and | |
147 | STMT_VINFO_LIVE_P. | |
148 | (vect_transform_stmt): Reorganize calls to vectorizable_* functions. | |
149 | ||
9d463c3d | 150 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
151 | ||
152 | * config/m68k/linux.h (FUNCTION_VALUE_REGNO_P): Use macros for | |
153 | register numbers more. | |
154 | * config/m68k/m68k.h (STACK_POINTER_REGNUM, | |
155 | FRAME_POINTER_REGNUM, STATIC_CHAIN_REGNUM, | |
156 | M68K_STRUCT_VALUE_REGNUM, FUNCTION_VALUE, LIBCALL_VALUE, | |
157 | FUNCTION_VALUE_REGNO_P): Likewise. | |
158 | * config/m68k/m68kelf.h (M68K_STRUCT_VALUE_REGNUM, | |
159 | STATIC_CHAIN_REGNUM): Likewise. | |
160 | * config/m68k/m68kemb.h (FUNCTION_VALUE_REGNO_P): Likewise. | |
161 | * config/m68k/netbsd-elf.h (M68K_STRUCT_VALUE_REGNUM, | |
162 | STATIC_CHAIN_REGNUM, FUNCTION_VALUE_REGNO_P): Likewise. | |
163 | * config/m68k/m68k.md (FP_REG): New. | |
164 | ||
35387ada | 165 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
166 | ||
167 | * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Prefer 32-bit | |
168 | alignment on fido. | |
169 | ||
efec32e0 | 170 | 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
171 | ||
172 | * config/i386/i386.c, config/s390/s390.c, config/s390/s390.md, | |
173 | tree-ssa-loop-niter.c, tree-ssa-structalias.c, tree-vrp.c: Fix | |
174 | comment typos. | |
175 | ||
a30d0a5b | 176 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
177 | ||
178 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Ignore | |
179 | cold loops. | |
180 | ||
0dd13847 | 181 | 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> |
182 | ||
183 | PR c/31520 | |
ebbb4483 | 184 | * c-decl.c (finish_decl): Grab the type of the decl after the call |
0dd13847 | 185 | to store_init_value. |
186 | ||
55d51835 | 187 | 2007-04-14 Steven Bosscher <steven@gcc.gnu.org> |
188 | ||
189 | * common.opt (fforward-propagate): Fix "Optimization" annotation. | |
190 | ||
480e5bc3 | 191 | 2007-04-14 Jakub Jelinek <jakub@redhat.com> |
192 | ||
193 | PR c++/25874 | |
194 | * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators, | |
195 | post dominators and cleanup cfg before returning. | |
196 | ||
5ff4f029 | 197 | 2007-04-14 Bernd Schmidt <bernd.schmidt@analog.com> |
198 | ||
199 | * config/bfin/bfin.h (MODES_TIEABLE_P): Allow more modes to be tied. | |
200 | * config/bfin/bfin.md (movsi_insn): Delete two unused alternatives. | |
201 | ||
278e2fd1 | 202 | 2007-04-14 Kazu Hirata <kazu@codesourcery.com> |
203 | ||
204 | * config.gcc: Recognize fido. | |
205 | * config/m68k/m68k-devices.def (fidoa): New. | |
206 | * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define | |
207 | __mfido__. | |
208 | (FL_FIDOA, TARGET_FIDOA): New. | |
209 | * config/m68k/m68k.opt (mfidoa): New. | |
210 | ||
849ea31c | 211 | 2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
212 | ||
213 | PR middle-end/31322 | |
214 | * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall | |
215 | when a personality function is used. | |
216 | ||
d4c45216 | 217 | 2007-04-13 Bob Wilson <bob.wilson@acm.org> |
218 | ||
219 | * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN. | |
220 | ||
2775d4b5 | 221 | 2007-04-13 Mike Stump <mrs@apple.com> |
222 | ||
223 | * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so | |
224 | we can... | |
225 | * config/darwin.opt (fapple-kext): Make C++ only. | |
226 | * config/darwin.c (darwin_override_options): Remove code to ensure | |
227 | -fapple-kext is given for C++ only. | |
228 | ||
e7fb4953 | 229 | 2007-04-13 Richard Sandiford <richard@codesourcery.com> |
230 | ||
231 | * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define. | |
232 | * config/mips/mips.c (override_options): Call | |
233 | SUBTARGET_OVERRIDE_OPTIONS, if defined. | |
234 | ||
ba47d267 | 235 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
236 | ||
237 | * config/i386/i386.opt (msvr3-shlib): Removed. | |
238 | ||
239 | * doc/invoke.texi: Remove -msvr3-shlib. | |
240 | ||
1b89f7c8 | 241 | 2007-04-13 H.J. Lu <hongjiu.lu@intel.com> |
242 | ||
243 | * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction | |
244 | with "popcnt" instruction. | |
245 | ||
f3d56fef | 246 | 2007-04-13 Richard Guenther <rguenther@suse.de> |
247 | ||
248 | PR tree-optimization/21258 | |
249 | * tree-vrp.c (compare_case_labels): New helper. | |
250 | (find_switch_asserts): New function. | |
251 | (find_assert_locations): Call it for SWITCH_EXPRs. | |
252 | ||
d26e00d8 | 253 | 2007-04-13 Uros Bizjak <ubizjak@gmail.com> |
254 | ||
255 | * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387. | |
256 | * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this | |
257 | check is now implied in X87_FLOAT_MODE_P. | |
258 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
259 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
260 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
261 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
262 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
263 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
264 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
265 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
266 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
267 | (unnamed_splitters): Ditto. | |
268 | * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG | |
269 | for X87_FLOAT_MODE_P mode. Override FIRST_FLOAT_REG with | |
270 | FIRST_SSE_REG for local functions when SSE math is enabled or | |
271 | for functions with sseregparm attribute. | |
272 | (standard_80387_constant_p): Return -1 if mode is not | |
273 | X87_FLOAT_MODE_P. | |
274 | (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P. | |
275 | (ix86_expand_compare): Ditto. | |
276 | (ix86_expand_carry_flag_compare): Ditto. | |
277 | (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead | |
278 | of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not | |
279 | DECIMAL_FLOAT_MODE_P. | |
280 | (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead | |
281 | of SCALAR_FLOAT_MODE_P. | |
282 | (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ... | |
283 | [MINUS]: ... here. Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P | |
284 | checks before FLOAT_MODE_P. | |
285 | [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks | |
286 | before FLOAT_MODE_P. | |
287 | [DIV]: Ditto. | |
288 | [NEG]: Ditto. | |
289 | [ABS]: Ditto. | |
290 | [SQRT]: Ditto. | |
291 | [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P. | |
292 | ||
bdbe7091 | 293 | 2007-04-12 Paolo Bonzini <bonzini@gnu.org> |
294 | Charles Wilson <libtool@cwilson.fastmail.fm> | |
295 | ||
296 | * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove. | |
297 | (libgcc.mvars): Don't depend on them. | |
298 | * configure.ac (as, collect-ld, nm): Create from exec-tool.in. | |
299 | * exec-tool.in: New. | |
300 | ||
2211b4ca | 301 | 2007-04-12 Brooks Moses <brooks.moses@codesourcery.com> |
302 | ||
303 | * doc/invoke.text (--help): Document --help=common. | |
304 | ||
cab08a39 | 305 | 2007-04-12 Thomas Neumann <tneumann@users.sourceforge.net> |
306 | ||
307 | * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords. | |
308 | ||
a8a393cb | 309 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
310 | ||
311 | * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H). | |
312 | * genemit.c (main): Emit #include "integrate.h". | |
313 | * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type. | |
314 | (LOADGP_RTP): New mips_loadgp_style. | |
315 | * config/mips/mips.h: Include config/vxworks-dummy.h. | |
316 | (TARGET_RTP_PIC): New macro. | |
317 | (TARGET_USE_GOT): Return true for TARGET_RTP_PIC. | |
318 | (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP. | |
319 | (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables | |
320 | for TARGET_RTP_PIC. | |
321 | * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define. Pass down | |
322 | -mvxworks-pic when using -mrtp and a PIC option. | |
323 | * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP | |
324 | for RTP PIC. | |
325 | (mips_symbolic_constant_p, mips_symbolic_address_p) | |
326 | (mips_symbol_insns): Handle SYMBOL_HALF. | |
327 | (override_options): Warn about -G and -mrtp being used together. | |
328 | Initialize mips_lo_relocs[SYMBOL_HALF]. | |
329 | (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC. | |
330 | (mips_emit_loadgp): Handle LOADGP_RTP. | |
331 | (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP. | |
332 | * config/mips/mips.md (loadgp_rtp): New insn and splitter. | |
333 | (tablejump): Handle function-relative case table entries if | |
334 | TARGET_RTP_PIC. | |
335 | * config/mips/predicates.md (symbol_ref_operand): New predicate. | |
336 | ||
d1b79aba | 337 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
338 | ||
339 | * config/mips/mips.md (load_call<mode>): Allow any general register. | |
340 | destination. | |
341 | (sibcall_value_internal, sibcall_value_multiple_internal) | |
342 | (call_value_internal, call_value_split, call_value_multiple_internal) | |
343 | (call_value_multiple_split): Remove constraints from operand 0. | |
344 | ||
de604551 | 345 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
346 | ||
347 | * config/mips/mips-protos.h: In comments, refer to loadgp_absolute | |
348 | rather than loadgp_noshared. | |
349 | * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute | |
350 | instead of gen_loadgp_noshared. Use gen_loadgp_newabi instead of | |
351 | gen_loadgp. | |
352 | * config/mips/mips.md (loadgp): Rename to... | |
353 | (loadgp_newabi): ...this. | |
354 | (loadgp_noshared): Rename to... | |
355 | (loadgp_absolute): ...this. | |
356 | ||
ffe0cc16 | 357 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
358 | ||
359 | * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return | |
360 | false for locally-binding symbols. | |
361 | (mips_dangerous_for_la25_p): Check mips_global_symbol_p. | |
362 | ||
4cb04729 | 363 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
364 | ||
365 | * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to... | |
366 | (SYMBOL_GOT_PAGE_OFST): ...this. | |
367 | (SYMBOL_GOT_GLOBAL): Rename to... | |
368 | (SYMBOL_GOT_DISP): ...this. | |
369 | (SYMBOL_GOTOFF_GLOBAL): Rename to... | |
370 | (SYMBOL_GOTOFF_DISP): ...this. Update comments accordingly. | |
371 | * config/mips/mips.c (mips_global_symbol_p): New function. | |
372 | (mips_symbol_binds_local_p): Likewise. | |
373 | (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP | |
374 | and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST. Use mips_global_symbol_p | |
375 | and mips_symbol_binds_local_p. | |
376 | (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns) | |
377 | (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP, | |
378 | SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to | |
379 | SYMBOL_GOTOFF_DISP. | |
380 | (mips_ok_for_lazy_binding_p): New function. | |
381 | (mips_load_call_address, mips_expand_call): Use it. | |
382 | (mips_dangerous_for_la25_p): Likewise. | |
383 | * config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>) | |
384 | (*got_disp<mode>): Use got_disp_operand instead of | |
385 | global_got_operand. Use SYMBOL_GOTOFF_DISP instead of | |
386 | SYMBOL_GOTOFF_GLOBAL. | |
387 | (*got_page<mode>): Use got_page_ofst_operand instead of | |
388 | local_got_operand. | |
389 | * config/mips/predicates.md (const_call_insn_operand): Use | |
390 | SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL. | |
391 | (global_got_operand): Rename to... | |
392 | (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of | |
393 | SYMBOL_GOT_GLOBAL. | |
394 | (local_got_operand): Rename to... | |
395 | (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead | |
396 | of SYMBOL_GOT_LOCAL. | |
397 | ||
46414626 | 398 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
399 | ||
400 | * config/mips/mips.h (TARGET_SPLIT_CALLS): Check | |
401 | TARGET_CALL_CLOBBERED_GP. | |
402 | (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
403 | (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros. | |
404 | (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise. | |
405 | (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead | |
406 | of TARGET_ABICALLS && !TARGET_NEWABI. | |
407 | (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
408 | * config/mips/mips.c (mips_load_call_address): Check | |
409 | TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
410 | (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
411 | Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI. | |
412 | (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of | |
413 | TARGET_ABICALLS && TARGET_NEWABI. | |
414 | (mips_current_loadgp_style): Check TARGET_USE_GOT instead of | |
415 | TARGET_ABICALLS. | |
416 | (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI. | |
417 | (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of | |
418 | TARGET_ABICALLS && TARGET_NEWABI. | |
419 | (mips_output_mi_thunk): Check TARGET_USE_GOT instead of | |
420 | TARGET_ABICALLS. Check TARGET_CALL_SAVED_GP instead of | |
421 | TARGET_NEWABI. Use TARGET_USE_PIC_FN_ADDR_REG to decide | |
422 | whether indirect calls must use $25. | |
423 | (mips_extra_live_on_entry): Check TARGET_GOT instead of | |
424 | TARGET_ABICALLS. | |
425 | * config/mips/mips.md (jal_macro): Check flag_pic and | |
426 | TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI. | |
427 | (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT | |
428 | instead of TARGET_ABICALLS. | |
429 | (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of | |
430 | TARGET_ABICALLS && TARGET_OLDABI. | |
431 | (load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS. | |
432 | (sibcall): In the comment above the define_insn, mention | |
433 | TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS. | |
434 | * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG | |
435 | instead of TARGET_ABICALLS. | |
436 | ||
9422b03b | 437 | 2007-04-12 Bernd Schmidt <bernd.schmidt@analog.com> |
438 | ||
439 | * doc/md.texi (Blackfin family constraints): Document PA and PB. | |
440 | * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB. | |
441 | (MACFLAGS_MATCH_P): New macro. | |
442 | * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M. | |
443 | (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS. | |
444 | * config/bfin/bfin.md (MACFLAG_IS_M): New constant. Renumber some of | |
445 | the other MACFLAG constants. | |
446 | (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns. | |
447 | (flag_machi): Tighten constraints. Renumber some of the operands. | |
448 | (flag_machi_acconly): Tighten constraints. Correct operand numbers in | |
449 | output template. | |
450 | (flag_machi_parts_acconly): New pattern. | |
451 | (flag_macinithi): Tighten constraints. Allow any accumulator to be | |
452 | used. | |
453 | (flag_macinit1hi): Tighten constraints. | |
454 | (flag_mul_macv2hi_parts_acconly): New pattern. | |
455 | ||
6daa377b | 456 | * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart): |
457 | Use a more efficient implementation. | |
458 | * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit | |
459 | inline sequences when not optimizing for size. | |
460 | ||
4462e6ac | 461 | * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low, |
462 | movhi_high2low): Delete, merge functionality into... | |
463 | (packv2hi): ... this pattern. | |
464 | ||
c9ddd413 | 465 | 2007-02-11 Jie Zhang <jie.zhang@analog.com> |
466 | * config/bfin/bfin.opt (msim): New option. | |
467 | (mcpu=): New option. | |
468 | * config/bfin/bfin-protos.h (enum bfin_cpu): New. | |
469 | (bfin_cpu_t): Typedef of enum bfin_cpu. | |
470 | (bfin_cpu_type): New declaration. | |
471 | * config/bfin/elf.h (STARTFILE_SPEC): Add support for | |
472 | -msim and -mcpu= options. | |
473 | (LIB_SPEC): Likewise. | |
474 | * config/bfin/bfin.c (bfin_cpu_type): Define. | |
475 | (bfin_handle_option): Handle -mcpu= option. | |
476 | * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532. | |
477 | (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__, | |
478 | __ADSPBF533__ or __ADSPBF537__ according to the cpu type. | |
479 | ||
c77a1c92 | 480 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
481 | ||
482 | * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza. | |
483 | (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks) | |
484 | (powerpc-wrs-vxworksae): Use ${tm_file}. | |
485 | (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h | |
486 | after elfos.h. Remove i386/sysv4.h and add i386/vx-common.h. | |
487 | * config/i386/vx-common.h: New file. | |
488 | ||
6f3d6768 | 489 | 2007-04-12 Richard Sandiford <richard@codesourcery.com> |
490 | ||
491 | * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead | |
492 | of crt0.o%s. | |
493 | ||
47d34a13 | 494 | 2007-04-12 Andreas Krebbel <krebbel1@de.ibm.com> |
495 | ||
496 | * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of | |
497 | ldxtr. | |
498 | ||
5bfe6313 | 499 | 2007-04-12 Douglas Gregor <doug.gregor@gmail.com> |
500 | ||
501 | PR c++/31078 | |
502 | PR c++/31103 | |
503 | * c-common.c (c_build_qualified_type): Set canonical type | |
504 | appropriately. | |
505 | ||
a128a28f | 506 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
507 | ||
508 | * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF | |
509 | lower bound and element size if lower bound is not zero | |
510 | or either of the ARRAY_REF operands is set. | |
511 | ||
a2501610 | 512 | 2007-04-12 Richard Guenther <rguenther@suse.de> |
513 | ||
514 | PR tree-optimization/24689 | |
515 | PR tree-optimization/31307 | |
516 | * fold-const.c (operand_equal_p): Compare INTEGER_CST array | |
517 | indices by value. | |
518 | * gimplify.c (canonicalize_addr_expr): To be consistent with | |
519 | gimplify_compound_lval only set operands two and three of | |
520 | ARRAY_REFs if they are not gimple_min_invariant. This makes | |
521 | it never at this place. | |
522 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. | |
523 | ||
9f4a0384 | 524 | 2007-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
525 | ||
526 | * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not | |
527 | null before emitting a .nsubspa directive. | |
528 | ||
12a2c9ea | 529 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
530 | ||
531 | * tree-ssa-alias.c (dump_mem_ref_stats): Do not call | |
532 | need_to_partition_p if there are no memory statements in the | |
533 | function. | |
534 | ||
cabedb72 | 535 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
536 | ||
537 | * tree-data-ref.c (chrec_steps_divide_constant_p): Removed. | |
538 | (gcd_of_steps_may_divide_p): New function. | |
539 | (analyze_miv_subscript): Use gcd_of_steps_may_divide_p. | |
540 | ||
c89e828f | 541 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
542 | ||
543 | * reload.c (find_reloads_toplev, find_reloads_address, | |
544 | find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p, | |
545 | not a pointer equality test, to decide if we need to call | |
546 | push_reg_equiv_alt_mem. | |
547 | ||
2a21a5df | 548 | 2007-04-11 Sebastian Pop <sebastian.pop@inria.fr> |
549 | ||
550 | * tree-data-ref.c (affine_function_zero_p, constant_access_functions, | |
551 | insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New. | |
552 | (build_classic_dist_vector): Call add_distance_for_zero_overlaps. | |
553 | ||
cabedb72 | 554 | 2007-04-11 Zdenek Dvorak <dvorakz@suse.cz> |
8fb896c4 | 555 | |
556 | * tree-data-ref.c (add_multivariate_self_dist): Force the distance | |
557 | vector to be positive. | |
558 | ||
c227f8de | 559 | 2007-04-11 Diego Novillo <dnovillo@redhat.com> |
560 | ||
561 | PR 30735 | |
562 | PR 31090 | |
563 | * doc/invoke.texi: Document --params max-aliased-vops and | |
564 | avg-aliased-vops. | |
565 | * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions, | |
566 | debug_memory_partitions): Move to tree-flow.h | |
567 | * params.h (AVG_ALIASED_VOPS): Define. | |
568 | * tree-ssa-alias.c (struct mp_info_def): Remove. Update all | |
569 | users. | |
570 | (mp_info_t): Likewise. | |
571 | (get_mem_sym_stats_for): New. | |
572 | (set_memory_partition): Move from tree-flow-inline.h. | |
573 | (mark_non_addressable): Only clear the set of symbols for the | |
574 | partition if it exists. | |
575 | (dump_memory_partitions): Move from tree-ssa-operands.c | |
576 | (debug_memory_partitions): Likewise. | |
577 | (need_to_partition_p): New. | |
578 | (dump_mem_ref_stats): New. | |
579 | (debug_mem_ref_stats): New. | |
580 | (dump_mem_sym_stats): New. | |
581 | (debug_mem_sym_stats): New. | |
582 | (update_mem_sym_stats_from_stmt): New. | |
583 | (compare_mp_info_entries): New. | |
584 | (mp_info_cmp): Call it. | |
585 | (sort_mp_info): Change argument to a list of mem_sym_stats_t | |
586 | objects. | |
587 | (get_mpt_for): Move from tree-ssa-operands.c. | |
588 | (find_partition_for): New. | |
589 | (create_partition_for): Remove. | |
590 | (estimate_vop_reduction): New. | |
591 | (update_reference_counts): New. | |
592 | (build_mp_info): New. | |
593 | (compute_memory_partitions): Refactor. | |
594 | Document new heuristic. | |
595 | Call build_mp_info, update_reference_counts, | |
596 | find_partition_for and estimate_vop_reduction. | |
597 | (compute_may_aliases): Populate virtual operands before | |
598 | calling debugging dumps. | |
599 | (delete_mem_sym_stats): New. | |
600 | (delete_mem_ref_stats): New. | |
601 | (init_mem_ref_stats): New. | |
602 | (init_alias_info): Call it. | |
603 | (maybe_create_global_var): Remove alias_info argument. | |
604 | Get number of call sites and number of pure/const call sites | |
605 | from gimple_mem_ref_stats(). | |
606 | (dump_alias_info): Call dump_memory_partitions first. | |
607 | (dump_points_to_info_for): Show how many times a pointer has | |
608 | been dereferenced. | |
609 | * opts.c (decode_options): For -O2 set --param | |
610 | max-aliased-vops to 500. | |
611 | For -O3 set --param max-aliased-vops to 1000 and --param | |
612 | avg-aliased-vops to 3. | |
613 | * fortran/options.c (gfc_init_options): Remove assignment to | |
614 | MAX_ALIASED_VOPS. | |
615 | * tree-flow-inline.h (gimple_mem_ref_stats): New. | |
616 | * tree-dfa.c (dump_variable): Dump memory reference | |
617 | statistics. | |
618 | Dump NO_ALIAS* settings. | |
619 | (referenced_var_lookup): Tidy. | |
620 | (mem_sym_stats): New. | |
621 | * tree-ssa-copy.c (may_propagate_copy): Return true if DEST | |
622 | and ORIG are different SSA names for a memory partition. | |
623 | * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats. | |
624 | * tree-flow.h (struct mem_sym_stats_d): Define. | |
625 | (mem_sym_stats_t): Define. | |
626 | (struct mem_ref_stats_d): Define. | |
627 | (struct gimple_df): Add field mem_ref_stats. | |
628 | (enum noalias_state): Define. | |
629 | (struct var_ann_d): Add bitfield noalias_state. | |
630 | (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats, | |
631 | debug_mem_ref_stats, debug_memory_partitions, | |
632 | debug_mem_sym_stats): Declare. | |
633 | * tree-ssa-structalias.c (update_alias_info): Update call | |
634 | sites, pure/const call sites and asm sites in structure | |
635 | returned by gimple_mem_ref_stats. | |
636 | Remove local variable IS_POTENTIAL_DEREF. | |
637 | Increase NUM_DEREFS if the memory expression is a potential | |
638 | dereference. | |
639 | Call update_mem_sym_stats_from_stmt. | |
640 | If the memory references memory, call | |
641 | update_mem_sym_stats_from_stmt for all the direct memory | |
642 | symbol references found. | |
643 | (intra_create_variable_infos): Set noalias_state field for | |
644 | pointer arguments according to the value of | |
645 | flag_argument_noalias. | |
646 | * tree-ssa-structalias.h (struct alias_info): Remove fields | |
647 | num_calls_found and num_pure_const_calls_found. | |
648 | (update_mem_sym_stats_from_stmt): Declare. | |
649 | * params.def (PARAM_MAX_ALIASED_VOPS): Change description. | |
650 | Set default value to 100. | |
651 | (PARAM_AVG_ALIASED_VOPS): Define. | |
652 | ||
516aa37d | 653 | 2007-04-11 Richard Guenther <rguenther@suse.de> |
654 | ||
655 | PR middle-end/31530 | |
656 | * simplify-rtx.c (simplify_binary_operation_1): Do not simplify | |
657 | a * -b + c as c - a * b if we honor sign dependent rounding. | |
658 | ||
2b8e874f | 659 | 2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> |
660 | ||
661 | * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from | |
662 | bfin_expand_strmov. | |
663 | * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address, | |
664 | bfin_function_ok_for_sibcall, split_load_immediate): Remove unused | |
665 | variables. | |
666 | (initialize_trampoline): Don't use old-style function definition. | |
667 | (bfin_secondary_reload): Mark IN_P argument as unused. | |
668 | ||
3e6bc865 | 669 | 2007-04-10 Sebastian Pop <sebastian.pop@inria.fr> |
670 | ||
671 | PR tree-optimization/31343 | |
672 | * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec. | |
673 | (build_polynomial_chrec): Return a scalar when the evolution is zero. | |
674 | * testsuite/gcc.dg/vect/pr31343.c: New. | |
675 | ||
ed01e173 | 676 | 2007-04-10 Eric Christopher <echristo@apple.com> |
677 | ||
678 | * config/i386/i386.h (X87_FLOAT_MODE_P): New. | |
679 | * config/i386/i386.md (*cmpfp0): Use. | |
680 | (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto. | |
681 | (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto. | |
682 | (fix_trunc<mode>_i386_fisttp): Ditto. | |
683 | (fix_trunc<mode>_i387_fisttp_with_temp): Ditto. | |
684 | (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto. | |
685 | (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto. | |
686 | (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto. | |
687 | (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto. | |
688 | (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto. | |
689 | (unnamed_splitters): Ditto. | |
690 | * config/i386/i386.c (output_fix_trunc): Assert that | |
691 | we're not being passed a TFmode operand. | |
692 | ||
944cca50 | 693 | 2007-04-10 Zdenek Dvorak <dvorakz@suse.cz> |
694 | ||
695 | PR tree-optimization/31526 | |
696 | * tree-inline.c (copy_cfg_body): Use last_basic_block instead of | |
697 | n_basic_blocks to find newly added blocks. | |
698 | ||
c778ae84 | 699 | 2007-04-10 Uros Bizjak <ubizjak@gmail.com> |
700 | ||
701 | * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm" | |
702 | alternative. | |
703 | (fix_trunc<mode>si_sse): Ditto. | |
704 | (*floatsisf2_mixed, *floatsisf2_sse): Ditto. | |
705 | (*floatsidf2_mixed, *floatsidf2_sse): Ditto. | |
706 | (*floatdisf2_mixed, *floatdisf2_sse): Ditto. | |
707 | (*floatdidf2_mixed, *floatdidf2_sse): Ditto. | |
708 | (floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize | |
709 | expander using SSEMODEF mode macro. | |
710 | (floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize | |
711 | expander using SSEMODEF mode macro. | |
712 | (*floathi<mode>2_i387): Rename from *floathisf2_i387 and | |
713 | *floathidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
714 | (*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and | |
715 | *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
716 | (*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and | |
717 | *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro. | |
718 | (float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2. | |
719 | Macroize insn using X87MODEF mode macro. | |
720 | ||
d8d6e6ac | 721 | 2007-04-09 H.J. Lu <hongjiu.lu@intel.com> |
722 | ||
723 | * config/i386/sse.md (sse2_pinsrw): Removed. | |
724 | (sse2_pextrw): Renamed to ... | |
725 | (*sse2_pextrw): This. | |
726 | ||
cb00447a | 727 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
728 | ||
729 | PR target/27869 | |
730 | * config/i386/sse.md | |
731 | (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. | |
732 | (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. | |
733 | (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. | |
734 | (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. | |
735 | ||
d9745cea | 736 | 2007-04-09 Jan Hubicka <jh@suse.cz> |
737 | ||
738 | * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into | |
739 | multiple fields of union. | |
740 | ||
d8a0d6b8 | 741 | 2007-04-09 Zdenek Dvorak <dvorakz@suse.cz> |
742 | ||
743 | * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge. | |
744 | (create_preheaders): Check that loops are available. | |
745 | (fix_loop_structure): Clean up, improve comments. | |
746 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): | |
747 | Check that loops are available. Set LOOP_CLOSED_SSA to the loops | |
748 | state flags. | |
749 | * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info. | |
750 | * predict.c (tree_estimate_probability): Do not call | |
751 | calculate_dominance_info. Call create_preheaders. | |
752 | * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call | |
753 | rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state | |
754 | flags. | |
755 | * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders. | |
756 | * cfgloop.h (LOOP_CLOSED_SSA): New constant. | |
757 | * tree-cfg.c (tree_split_edge): Make an assert more precise. | |
758 | * tree-ssa-threadedge.c (thread_across_edge): Comment the function | |
759 | arguments. | |
760 | ||
27290809 | 761 | 2007-04-08 Jan Hubicka <jh@suse.cz> |
762 | ||
763 | * tree.h (maybe_fold_offset_to_component_ref): Declare. | |
764 | * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export. | |
765 | * fold-const.c (fold_unary): Use it. | |
766 | ||
bbdc7974 | 767 | 2007-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com> |
768 | ||
769 | * varasm.c (assemble_variable): Remove call to | |
770 | lang_hooks.decls.prepare_assemble_variable. | |
771 | * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill. | |
772 | (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE. | |
773 | * langhooks.h (lang_hooks_for_decls): Remove | |
774 | prepare_assemble_variable. | |
775 | ||
105eb9b9 | 776 | 2007-04-08 Mike Stump <mrs@apple.com> |
777 | ||
778 | * config/i386/i386.c: Use inc/dec on Core2. | |
779 | ||
94be3290 | 780 | 2007-04-08 Steven Bosscher <steven@gcc.gnu.org> |
781 | ||
782 | * langhooks.c (lhd_tree_inlining_add_pending_fn_decls, | |
783 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
784 | lhd_tree_inlining_end_inlining): Remove. | |
785 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then | |
786 | add_pending_fn_decls, anon_aggr_type_p, start_inlining, and | |
787 | end_inlining hooks. | |
788 | * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls, | |
789 | lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining, | |
790 | lhd_tree_inlining_end_inlining): Remove prototypes. | |
791 | (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS, | |
792 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
793 | LANG_HOOKS_TREE_INLINING_START_INLINING, | |
794 | LANG_HOOKS_TREE_INLINING_END_INLINING): Remove. | |
795 | ||
796 | * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do | |
797 | not set it. | |
798 | ||
8e5f08fe | 799 | 2007-04-08 Anatoly Sokolov <aesok@post.ru> |
800 | ||
801 | PR target/29932 | |
802 | * config/avr/predicates.md (io_address_operand): Delete predicate. | |
803 | (low_io_address_operand): Don't use 'mode' argument. | |
804 | (higth_io_address_operand): Rename ... | |
805 | (high_io_address_operand): ... to this. Don't use 'mode' argument. | |
806 | * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust | |
807 | for above change. | |
808 | ||
cf484390 | 809 | 2007-04-07 Daniel Berlin <dberlin@dberlin.org> |
810 | ||
811 | Revert change removing staticp. | |
812 | ||
4704b743 | 813 | 2007-04-07 Anatoly Sokolov <aesok@post.ru> |
814 | ||
815 | PR target/30289 | |
ed01e173 | 816 | * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as |
4704b743 | 817 | earlyclobber. |
818 | ||
0e9b4e74 | 819 | 2007-04-07 Bruce Korb <bkorb@gnu.org> |
820 | ||
821 | * c.opt: Add -Wformat-contains-nul. | |
822 | * c-format.c (set_Wformat): Set warn_format_contains_nul to the | |
823 | -Wformat setting. | |
824 | (check_format_info_main): Check OPT_Wformat_contains_nul before emitting | |
825 | the NUL byte warning. | |
826 | ||
918ee506 | 827 | 2007-04-07 H.J. Lu <hongjiu.lu@intel.com> |
828 | ||
829 | * config/i386/i386.c (ix86_handle_option): Handle SSSE3. | |
830 | ||
57d1a308 | 831 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
832 | ||
833 | * tree.c (staticp): No longer use staticp langhook. | |
834 | * langhooks.c (lhd_staticp): Removed. | |
835 | * langhooks.h (struct lang_hooks): Remove staticp. | |
836 | * c-common.c (c_staticp): Remove. | |
837 | * c-common.h (c_staticp): Ditto. | |
838 | * langhooks-defs.h (lhd_staticp): Ditto. | |
839 | (LHD_HOOKS_STATICP): Ditto | |
840 | * tree.h (gcc_assert_lowered): New macro. | |
841 | ||
d97e22fb | 842 | 2007-04-06 Zdenek Dvorak <dvorakz@suse.cz> |
843 | ||
844 | * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use | |
845 | argument "reliable". | |
846 | (infer_loop_bounds_from_ref, infer_loop_bounds_from_array): | |
847 | Add argument "reliable". Propagate it through calls. | |
848 | (infer_loop_bounds_from_undefined): Derive number of iterations | |
849 | estimates from references in blocks that do not dominate loop latch. | |
850 | (gcov_type_to_double_int): New function. | |
851 | (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int | |
852 | and expected_loop_iterations_unbounded. | |
853 | * cfgloopanal.c (expected_loop_iterations_unbounded): New function. | |
854 | (expected_loop_iterations): Use expected_loop_iterations_unbounded. | |
855 | * tree-data-ref.c (estimated_loop_iterations): Export. | |
856 | (get_references_in_stmt): Fix -- do not return addresses of local | |
857 | objects. | |
858 | * cfgloop.h (expected_loop_iterations_unbounded, | |
859 | estimated_loop_iterations): Declare. | |
860 | ||
fe0b46c1 | 861 | 2007-04-06 Andreas Tobler <a.tobler@schweiz.org> |
862 | ||
863 | * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. | |
864 | ||
9926a1b3 | 865 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
866 | ||
867 | * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2 | |
868 | and extenddfxf2. Macroize expander using X87MODEF12 mode macro. | |
869 | (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1): | |
870 | Use output_387_reg_move(). | |
871 | (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize | |
872 | expander using X87MODEF12 mode macro. | |
873 | (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when | |
874 | choosing register preferences. Use output_387_reg_move(). | |
875 | (*truncxfdf2_mixed): Combine alternatives, use "r" alternative | |
876 | instead of "x". Use output_387_reg_move(). | |
877 | (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and | |
878 | *truncxfdf2_i387_noop. Macroize insn using X87MODEF12 mode macro. | |
879 | (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and | |
880 | *truncxfdf2_i387. Macroize insn using X87MODEF12 mode macro. | |
881 | Use output_387_reg_move(). | |
882 | (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12 | |
883 | mode macro. | |
884 | (*truncxf?f_i387 splitter): Ditto. | |
885 | ||
b140c9fd | 886 | 2007-04-06 Daniel Berlin <dberlin@dberlin.org> |
887 | ||
888 | * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove | |
889 | LANG_HOOKS_SAFE_FROM_P. | |
890 | * expr.c (safe_from_p): Remove langhook call. | |
891 | * langhooks.h (lang_hooks): Remove safe_from_p. | |
892 | (lhd_safe_from_p): Remove prototype. | |
893 | * langhooks.c (lhd_safe_from_p): Remove. | |
ed01e173 | 894 | |
316ef6d8 | 895 | 2007-04-06 Jan Hubicka <jh@suse.cz> |
896 | ||
897 | * cgraphunit.c (decide_is_function_needed): Do not keep always_inline | |
898 | functions. | |
899 | ||
4c756287 | 900 | 2007-04-06 Uros Bizjak <ubizjak@gmail.com> |
901 | ||
902 | * config/i386/i386.c (output_387_reg_move): Handle memory operand[0]. | |
903 | * config/i386/i386.md (*movsf_1, *movdf_nointeger, | |
904 | *movdf_integer_rex64, *movdf_integer, *movxf_nointeger, | |
905 | *movxf_integer): Use output_387_reg_move() for x87 reg->mem | |
906 | alternative. | |
907 | (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387, | |
908 | *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto. | |
909 | ||
32a8f747 | 910 | 2007-04-05 Richard Henderson <rth@redhat.com> |
911 | ||
912 | * config/alpha/alpha.c (print_operand) [+]: Remove. | |
913 | (alpha_end_function): Print nop if call at end of function. | |
914 | * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +. | |
915 | * config/alpha/alpha.md (UNSPEC_LDGP1): New. | |
916 | (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New. | |
917 | (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New. | |
918 | (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into | |
919 | the call pattern. Update peepholes to match. | |
920 | ||
004e23c4 | 921 | 2007-04-05 Janis Johnson <janis187@us.ibm.com> |
922 | ||
923 | * doc/extend.texi (Other Builtins): Add decimal float variants | |
924 | of signbit. | |
925 | * builtins.def: Ditto. | |
926 | * builtins.c (expand_builtin): Ditto. | |
927 | ||
70169283 | 928 | 2007-04-05 Uros Bizjak <ubizjak@gmail.com> |
929 | H.J. Lu <hongjiu.lu@intel.com> | |
930 | ||
931 | PR target/31478 | |
932 | * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead | |
933 | of V8HImode when calling ix86_binary_operator_ok. | |
934 | (sse2_pmaddwd): Call ix86_binary_operator_ok. | |
935 | (sdot_prodv8hi): Operands 1 and 2 must be register. | |
936 | ||
f3e8be3e | 937 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
938 | ||
939 | * tree-sra.c (try_instantiate_multiple_fields): Needlessly | |
940 | initialize align to silence bogus warning. | |
941 | ||
2e4b8bcd | 942 | 2007-04-05 Alexandre Oliva <aoliva@redhat.com> |
943 | ||
944 | PR middle-end/22156 | |
945 | * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove | |
946 | all_no_warning. | |
947 | (struct sra_walk_fns): Remove use_all parameter from use. | |
948 | (sra_hash_tree): Handle BIT_FIELD_REFs. | |
949 | (sra_elt_hash): Don't hash bitfld blocks. | |
950 | (sra_elt_eq): Skip them in parent compares as well. Handle | |
951 | BIT_FIELD_REFs. | |
952 | (sra_walk_expr): Don't maintain or pass down use_all_p. | |
953 | (scan_use): Remove use_all parameter. | |
954 | (scalarize_use): Likewise. Re-expand assignment to | |
955 | BIT_FIELD_REF of gimple_reg. De-scalarize before input or | |
956 | output, and re-scalarize after output. Don't mark anything | |
957 | for no warning. | |
958 | (scalarize_ldst): Adjust. | |
959 | (scalarize_walk_gimple_modify_statement): Likewise. | |
960 | (build_element_name_1): Handle BIT_FIELD_REFs. | |
961 | (instantiate_element): Don't warn for any element whose parent | |
962 | is used as a whole. | |
963 | (instantiate_missing_elements_1): Return the sra_elt. | |
964 | (canon_type_for_field): New. | |
965 | (try_instantiate_multiple_fields): New. | |
966 | (instantiate_missing_elemnts): Use them. | |
967 | (mark_no_warning): Removed. | |
968 | (generate_one_element_ref): Handle BIT_FIELD_REFs. | |
969 | (REPLDUP, sra_build_elt_assignment): New. | |
970 | (generate_copy_inout): Use them. | |
971 | (generate_element_copy): Likewise. Handle bitfld differences. | |
972 | (generate_element_zero): Don't recurse for blocks. Use | |
973 | sra_build_elt_assignment. | |
974 | (generate_one_element_int): Take elt instead of var. Use | |
975 | sra_build_elt_assignment. | |
976 | (generate_element_init_1): Adjust. | |
977 | (scalarize_use, scalarize_copy): Use REPLDUP. | |
978 | (scalarize_ldst): Move assert before dereference. | |
979 | (dump_sra_elt_name): Handle BIT_FIELD_REFs. | |
980 | ||
2a515194 | 981 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
982 | ||
983 | * regmove.c: Fix unused variable warnings due to previous commit. | |
984 | ||
f9f428c6 | 985 | 2007-04-05 Steven Bosscher <steven@gcc.gnu.org> |
986 | ||
987 | * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. | |
988 | (regmove_bb_head): Remove. | |
989 | (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD. | |
990 | (regmove_optimize): Don't do unnecessary CFG fixes for non-existing | |
991 | problems with fixup_match_1. | |
992 | Don't initialize/free regmove_bb_head. | |
993 | ||
994 | (reg_is_remote_constant_p): If an insn is in the same basic block | |
995 | but not before INSN, consider it remote, too. | |
996 | ||
0d528483 | 997 | 2007-04-05 Anatoly Sokolov <aesok@post.ru> |
998 | ||
999 | PR target/25448 | |
ed01e173 | 1000 | * config/avr/avr.c (avr_handle_fndecl_attribute): Use the |
0d528483 | 1001 | DECL_ASSEMBLER_NAME, not the DECL_NAME. |
1002 | ||
9f525417 | 1003 | 2007-04-05 H.J. Lu <hongjiu.lu@intel.com> |
1004 | ||
1005 | * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. | |
1006 | (CONDITIONAL_REGISTER_USAGE): Likewise. | |
1007 | ||
de13ca97 | 1008 | 2007-04-04 Richard Henderson <rth@redhat.com> |
1009 | ||
1010 | * config/alpha/lib1funcs.asm: Remove unused file. | |
1011 | ||
7fbbfa9f | 1012 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
1013 | ||
1014 | PR other/31356 | |
1015 | * opts.c (print_specific_help): Fix --help=<language> | |
1016 | header line. | |
1017 | (common_handle_option): Support --help=common. | |
1018 | ||
4b70b183 | 1019 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
1020 | ||
1021 | PR other/31353 | |
1022 | * gcc.c (main): Do not run the linker if | |
1023 | print_subprocess_help indicates that it shouldn't be | |
1024 | run. | |
1025 | ||
a1d3fae9 | 1026 | 2007-04-04 Brooks Moses <brooks.moses@codesourcery.com> |
1027 | ||
1028 | PR doc/31355 | |
1029 | * doc/invoke.texi (--help=): Document <languages> value, fix | |
1030 | formatting in tables of values. | |
1031 | ||
f5b1f90b | 1032 | 2007-04-04 Danny Smith <dannysmith.users.sourceforge.net> |
1033 | ||
1034 | * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore | |
1035 | dllimport attribute of virtual methods. | |
1036 | ||
0875e592 | 1037 | 2007-04-04 Chen Liqin <liqin@sunnorth.com.cn> |
1038 | ||
1039 | * config/score/crti.asm: Change _bss_start to __bss_start. | |
1040 | * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. | |
1041 | (OUTGOING_REG_PARM_STACK_SPACE) update. | |
1042 | * config/score/score.opt: add options to make backend support | |
1043 | score5, score5u, score7 and score7d. | |
1044 | * config/score/score.md: Likewise. | |
1045 | * config/score/misc.md: Likewise. | |
1046 | * config/score/mac.md: Likewise. | |
1047 | * doc/invoke.texi: Likewise. | |
1048 | * doc/md.texi: update constraints define. | |
1049 | ||
a4521f7e | 1050 | 2007-04-03 Richard Henderson <rth@redhat.com> |
1051 | ||
1052 | * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield | |
1053 | an appropriate type, use the mode instead. | |
1054 | ||
223f6dbc | 1055 | 2007-04-03 Richard Sandiford <richard@codesourcery.com> |
1056 | ||
1057 | * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file. | |
1058 | Set the default --with-arch setting to mips2. | |
1059 | * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES) | |
1060 | (MULTILIB_EXCEPTIONS): Redefine with new multilibs. | |
1061 | (MULTILIB_OSDIRNAMES): Delete. | |
1062 | (MULTILIB_DIRNAMES): Define. | |
1063 | * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC. | |
1064 | (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define. | |
1065 | (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC | |
1066 | definitions, except for _WRS_R3K_EXC_SUPPORT. Call | |
1067 | VXWORKS_OS_CPP_BUILTINS. | |
1068 | (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC. | |
1069 | (MIPS_DEBUGGING_INFO): Undefine. | |
1070 | (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER. | |
1071 | ||
f83924bb | 1072 | 2007-04-03 Jakub Jelinek <jakub@redhat.com> |
1073 | ||
1074 | PR middle-end/30704 | |
1075 | * fold-const.c (native_encode_real): Encode real.c provided longs | |
1076 | as a series of 32-bit native integers. | |
1077 | (native_interpret_real): Interpret buffer as a series of 32-bit | |
1078 | native integers. | |
1079 | ||
b0ecf094 | 1080 | 2007-04-03 Richard Guenther <rguenther@suse.de> |
1081 | ||
1082 | * genpreds.c (write_insn_constraint_len): Write function | |
1083 | optimized for CONSTRAINT_LEN implementation. | |
1084 | (write_tm_preds_h): Output insn_constraint_len inline and | |
1085 | use it for CONSTRAINT_LEN. | |
1086 | (write_insn_preds_c): Don't output insn_constraint_len. | |
1087 | * doc/md.texi (define_register_constraint): Document multi-letter | |
1088 | constraints shall have the same length if they start with the same | |
1089 | letter. | |
1090 | ||
79959616 | 1091 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
1092 | ||
1093 | PR target/31175 | |
1094 | * config/i386/i386.md (isinf<mode>2): Expand only when | |
1095 | TARGET_C99_FUNCTIONS is set. | |
1096 | ||
6d057ce8 | 1097 | 2007-04-03 Uros Bizjak <ubizjak@gmail.com> |
1098 | ||
1099 | * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. | |
1100 | (x86_64-*-linux*): Ditto. | |
1101 | * config/i386/i386.opt (mpc): New option. | |
1102 | * config/i386/i386.c (overrride_options): Handle | |
1103 | ix87_precision_string. | |
1104 | * config/i386/crtprec.c: New file. | |
1105 | * config/i386/t-crtpc: Ditto. | |
1106 | * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64 | |
1107 | and -mpc80 options. | |
1108 | * config/i386/linux64.h (ENDFILE_SPEC): Ditto. | |
1109 | * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add | |
1110 | crtprec32.o, crtprec64.o and crtprec80.o. | |
1111 | ||
1112 | * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64 | |
1113 | and -mpc80 options. | |
1114 | (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options. | |
1115 | ||
924dc384 | 1116 | 2007-04-02 Eric Christopher <echristo@apple.com> |
1117 | ||
1118 | * doc/invoke.texi (i386 and x86-64 Options): Document -m64 | |
1119 | limitations on darwin. | |
1120 | ||
ba92127f | 1121 | 2007-04-02 Anatoly Sokolov <aesok@post.ru> |
1122 | ||
1123 | PR target/31137 | |
1124 | * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. | |
1125 | ||
8995c1df | 1126 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
1127 | ||
bda7c187 | 1128 | * doc/tm.texi (FUNCTION_MODE): Update and extend documentation. |
924dc384 | 1129 | |
ac7d39a1 | 1130 | 2007-04-02 Dave Korn <dave.korn@artimi.com> |
1131 | ||
bda7c187 | 1132 | * libgcc2.h (exception_descriptor): Don't forward-declare. |
1133 | (__get_eh_table_language, __get_eh_table_version): Delete | |
ac7d39a1 | 1134 | prototypes of long-dead functions. |
1135 | ||
bcb0e3ff | 1136 | 2007-04-01 Daniel Berlin <dberlin@dberlin.org> |
1137 | ||
1138 | * ebitmap.h: New file | |
1139 | * ebitmap.c: New file | |
1140 | * Makefile.in (ebitmap.o): New target. | |
1141 | ||
4486418e | 1142 | 2007-04-01 Jan Hubicka <jh@suse.cz> |
1143 | ||
1144 | * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit | |
1145 | before very first instruction. | |
1146 | ||
1147 | 2007-04-01 Jan Hubicka <jh@suse.cz> | |
1148 | ||
1149 | * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid | |
1150 | waring on 64bit hosts. | |
1151 | * bitmap.h: Fix typo in bitmap_head_def. | |
1152 | ||
6ca330f8 | 1153 | 2007-04-01 Steven Bosscher <steven@gcc.gnu.org> |
1154 | ||
1155 | PR rtl-optimization/31391 | |
1156 | * cfgcleanup.c (try_optimize_cfg): If a removed label is turned | |
1157 | into a DELETED_LABEL note, and the label is in an empty basic | |
1158 | block, update BB_END as well as BB_HEAD. | |
1159 | ||
6291249b | 1160 | 2007-04-01 Richard Henderson <rth@redhat.com> |
1161 | ||
1162 | PR tree-optimization/31169 | |
1163 | * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop | |
1164 | to varying if the range is outside [0, prec-1]. | |
1165 | ||
34a43822 | 1166 | 2007-04-01 Richard Sandiford <richard@codesourcery.com> |
1167 | ||
1168 | PR target/31388 | |
1169 | * config/mips/mips.md (load_const_gp): New insn. | |
1170 | * config/mips/mips.c (mips_split_symbol): Avoid using or creating | |
1171 | the MIPS16 GP pseudo register if no_new_pseudos. | |
1172 | (mips16_gp_pseudo_reg): Use gen_load_const_gp. | |
1173 | ||
0eafba8d | 1174 | 2007-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com> |
1175 | ||
1176 | PR target/31364 | |
1177 | * config/rs6000/rs6000.md (call): Convert to LR hard reg for | |
1178 | secureplt. | |
1179 | (call_value): Likewise. | |
1180 | ||
42cef9df | 1181 | 2007-03-31 Wolfgang Bangerth <bangerth@dealii.org> |
6d057ce8 | 1182 | Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
42cef9df | 1183 | |
1184 | PR 14737 | |
1185 | * doc/invoke.texi: (optimization options): Reword description | |
1186 | of -ffast-math. Document its primary purpose. | |
924dc384 | 1187 | |
e3022db7 | 1188 | 2007-03-31 Richard Guenther <rguenther@suse.de> |
1189 | ||
1190 | * omp-low.c (splay-tree.h): Include. | |
1191 | (lookup_decl): Replace splay-tree usage by pointer-map. | |
1192 | (maybe_lookup_decl): Likewise. | |
1193 | (new_omp_context): Likewise. | |
1194 | (delete_omp_context): Likewise. | |
1195 | * gimplify.c (splay-tree.h): Include. | |
1196 | * tree-inline.c (insert_decl_map): Replace splay-tree usage by | |
1197 | pointer-map. | |
1198 | (remap_ssa_name): Likewise. | |
1199 | (remap_decl): Likewise. | |
1200 | (remap_type_1): Likewise. | |
1201 | (remap_type): Likewise. | |
1202 | (copy_body_r): Likewise. | |
1203 | (expand_call_inline): Likewise. | |
1204 | (clone_body): Likewise. | |
1205 | (copy_tree_r): Likewise. | |
1206 | (remap_save_expr): Likewise. | |
1207 | (unsave_r): Likewise. | |
1208 | (unsave_expr_now): Likewise. | |
1209 | (tree_function_versioning): Likewise. | |
1210 | (build_duplicate_type): Likewise. | |
1211 | * tree-inline.h (pointer-set.h): Include instead of splay-tree.h. | |
1212 | (struct copy_body_data): Replace splay-tree by pointer-map. | |
1213 | * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, | |
1214 | not $(SPLAY_TREE_H). | |
1215 | (gimplify.o): Depend on $(SPLAY_TREE_H). | |
1216 | (omp-low.p): Likewise. | |
1217 | ||
db54c785 | 1218 | 2007-03-31 Anatoly Sokolov <aesok@post.ru> |
1219 | ||
924dc384 | 1220 | * config/avr/predicates.md (even_register_operand, |
db54c785 | 1221 | odd_register_operand): New predicates. |
1222 | * config/avr/avr.md (movw peephole2): New. | |
1223 | (movw_r peephole2): New. | |
1224 | ||
81e897e4 | 1225 | 2007-03-30 Rafael Avila de Espindola <espindola@google.com> |
1226 | ||
1227 | * tree.h (get_signed_or_unsigned_type): New. | |
1228 | * fold-const.c (operand_equal_for_comparison_p): Use | |
1229 | get_signed_or_unsigned_type instead of | |
1230 | lang_hooks.types.signed_or_unsigned_type. | |
1231 | * expr.c (store_expr): Ditto. | |
1232 | * langhooks.c (get_signed_or_unsigned_type): New. | |
1233 | (lhd_signed_or_unsigned_type): New. | |
1234 | * langhooks.h (lhd_signed_or_unsigned_type): New. | |
1235 | * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define. | |
1236 | ||
0bbe9142 | 1237 | 2007-03-30 Richard Henderson <rth@redhat.com> |
1238 | ||
1239 | * tree-ssa-loop-ivopts.c: Include target.h. | |
1240 | (produce_memory_decl_rtl): Pass the rtx through encode_section_info. | |
1241 | (get_address_cost): Force SYMBOL_FLAG_LOCAL set. | |
1242 | (force_expr_to_var_cost): Use produce_memory_decl_rtl. | |
1243 | * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H. | |
1244 | ||
1245 | 2007-03-30 Richard Henderson <rth@redhat.com> | |
1246 | Kai Tietz <kai.tietz@onevision.com> | |
1247 | ||
1248 | * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by | |
1249 | default for 64-bit. | |
1250 | (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit. | |
1251 | (TARGET_64BIT_MS_ABI): New. | |
1252 | (DBX_REGISTER_NUMBER): Handle 64-bit. | |
1253 | (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit. | |
1254 | (LONG_TYPE_SIZE): Force to 32. | |
1255 | (REG_PARM_STACK_SPACE): New. | |
1256 | (OUTGOING_REG_PARM_STACK_SPACE): New. | |
1257 | (REGPARM_MAX, SSE_REGPARM_MAX): New. | |
1258 | (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
1259 | (STACK_BOUNDARY): Use 128 for 64-bit. | |
1260 | * config/i386/cygwin.asm: Use push/ret to preserve call stack. | |
1261 | Add 64-bit implementation. | |
1262 | * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor | |
1263 | argument unused. | |
1264 | * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New. | |
1265 | (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI. | |
1266 | Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm | |
1267 | for 64-bit; use TARGET_SUBTARGET64_DEFAULT. | |
1268 | (ix86_handle_cconv_attribute): Don't warn when ignoring if | |
1269 | TARGET_64BIT_MS_ABI. | |
1270 | (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI. | |
1271 | (ix86_pass_by_reference): Likewise. | |
1272 | (ix86_function_value_regno_p): Likewise. | |
1273 | (ix86_build_builtin_va_list): Likewise. | |
1274 | (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
1275 | (function_arg_advance_ms_64): New. | |
1276 | (function_arg_advance): Call it. | |
1277 | (function_arg_ms_64): New. | |
1278 | (function_arg): Call it. | |
1279 | (function_value_ms_64): New. | |
1280 | (ix86_function_value_1): Call it. | |
1281 | (return_in_memory_ms_64): New. | |
1282 | (ix86_return_in_memory): Call it. | |
1283 | (setup_incoming_varargs_ms_64): New. | |
1284 | (ix86_setup_incoming_varargs): Call it. | |
1285 | (ix86_expand_prologue): Handle 64-bit stack probing. | |
1286 | (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI. | |
1287 | (output_pic_addr_const): Likewise. | |
1288 | (x86_this_parameter): Likewise. | |
1289 | (x86_output_mi_thunk): Likewise. | |
1290 | (x86_function_profiler): Likewise. | |
1291 | (TARGET_STRICT_ARGUMENT_NAMING): New. | |
1292 | * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New. | |
1293 | (TARGET_64BIT_MS_ABI): New. | |
1294 | (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI. | |
1295 | * config/i386/i386.md (allocate_stack_worker): Remove. | |
1296 | (allocate_stack_worker_32): Rename from allocate_stack_worker_1; | |
1297 | describe the clobber of eax without a match_scratch. | |
1298 | (allocate_stack_worker_postreload): Remove. | |
1299 | (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64; | |
1300 | describe the clobbers of rax, r10, r11 properly; use __chkstk symbol. | |
1301 | (allocate_stack_worker_rex64_postreload): Remove. | |
1302 | (allocate_stack): Handle 64-bit. | |
1303 | * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove. | |
1304 | * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit. | |
1305 | (EXTRA_OS_CPP_BUILTINS): Handle 64-bit. | |
1306 | (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT. | |
1307 | (STANDARD_STARTFILE_PREFIX_1): Likewise. | |
1308 | * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New. | |
1309 | * config.build (x86_64-*-mingw*): New host. | |
1310 | * config.host (x86_64-*-mingw*): New host. | |
1311 | * config.gcc (x86_64-*-mingw*): New target. | |
1312 | * gthr-win32.h (__gthread_key_create): Mark dtor unused. | |
1313 | ||
3fa3949d | 1314 | 2007-03-30 Richard Henderson <rth@redhat.com> |
1315 | Kai Tietz <kai.tietz@onevision.com> | |
1316 | ||
1317 | * c-pragma.c (struct def_pragma_macro_value): New. | |
1318 | (struct def_pragma_macro): New. | |
1319 | (pushed_macro_table): New. | |
1320 | (dpm_hash, dpm_eq): New. | |
1321 | (handle_pragma_push_macro, handle_pragma_pop_macro): New. | |
1322 | (init_pragma): Install them. | |
1323 | * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. | |
1324 | ||
6e9e3dbe | 1325 | 2007-03-30 Anatoly Sokolov <aesok@post.ru> |
1326 | ||
924dc384 | 1327 | * config/avr/avr.c (avr_override_options): Clear |
6e9e3dbe | 1328 | 'flag_delete_null_pointer_checks'. |
1329 | ||
481451eb | 1330 | 2007-03-30 Paolo Carlini <pcarlini@suse.de> |
1331 | ||
1332 | PR c++/26099 | |
1333 | * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, | |
1334 | RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, | |
1335 | RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, | |
1336 | RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, | |
1337 | RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, | |
1338 | RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, | |
1339 | RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as | |
1340 | C++ extensions. | |
1341 | * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. | |
1342 | ||
e1caca42 | 1343 | 2007-03-30 Steven Bosscher <steven@gcc.gnu.org> |
1344 | ||
1345 | * regmove.c: Move all of pass_stack_adjustments from here... | |
1346 | * combine-stack-adj.c: ...to this new file. | |
1347 | * Makefile.in: Add rules for combine-stack-adj.o. | |
1348 | ||
de33470d | 1349 | 2007-03-30 Zdenek Dvorak <dvorakz@suse.cz> |
1350 | ||
1351 | PR tree-optimization/31383 | |
1352 | * tree-data-ref.c (affine_function_equal_p): Do not require the vectors | |
1353 | to have the same length. | |
1354 | ||
5615be0f | 1355 | 2007-03-30 Jan Hubicka <jh@suse.cz> |
1356 | ||
b2e3c5f9 | 1357 | PR middle-end/30700 |
924dc384 | 1358 | * dwarf2out.c (reference_to_unused): Ask cgraph for functions |
5615be0f | 1359 | availablility; add more sanity checking; ask varpool only about |
1360 | VAR_DECL. | |
1361 | ||
9c0794a1 | 1362 | 2007-03-29 Richard Henderson <rth@redhat.com> |
1363 | ||
1364 | * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG | |
1365 | to decide, but __SIZEOF_LONG_LONG__. | |
1366 | ||
bedbe58b | 1367 | 2007-03-29 Richard Henderson <rth@redhat.com> |
1368 | ||
1369 | * emutls.c (struct __emutls_array): New. | |
1370 | (emutls_destroy): Use it instead of casting element 0 from void*. | |
1371 | (__emutls_get_address): Likewise. | |
1372 | ||
dd1a226e | 1373 | 2007-03-29 Richard Henderson <rth@redhat.com> |
1374 | ||
1375 | * varasm.c (initializer_constant_valid_p): Don't deny | |
1376 | DECL_DLLIMPORT_P on functions. | |
1377 | ||
1378 | * config/i386/cygming.h: Remove function declarations. | |
1379 | (SUBTARGET_ENCODE_SECTION_INFO): Don't undef first. | |
1380 | (ASM_OUTPUT_LABELREF): Remove. | |
1381 | (COMMON_ASM_OP): Remove. | |
1382 | (ASM_OUTPUT_COMMON): Remove. | |
1383 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. | |
1384 | (ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol. | |
1385 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
1386 | * config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO): | |
1387 | Rename from TARGET_ENCODE_SECTION_INFO. | |
1388 | * config/i386/netware.h: Likewise. | |
1389 | * config/i386/i386-protos.h: Update. | |
1390 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef | |
1391 | of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if. | |
1392 | (legitimate_constant_p): Reject dllimports. | |
1393 | (dllimport_map, get_dllimport_decl): New. | |
1394 | (legitimize_dllimport_symbol): New. | |
1395 | (legitimize_address, ix86_expand_move): Use it. | |
1396 | (TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES. | |
1397 | * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove. | |
1398 | (SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New. | |
1399 | (SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New. | |
1400 | * config/i386/predicates.md (constant_call_address_operand): Only | |
1401 | accept symbols; reject dllimport_p symbols. | |
1402 | * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use | |
1403 | i386_pe_maybe_record_exported_symbol. | |
1404 | * config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove. | |
1405 | (i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p. | |
1406 | (i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p; | |
1407 | trust the setting of DECL_DLLIMPORT_P. | |
1408 | (i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove. | |
1409 | (i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove. | |
1410 | (gen_stdcall_or_fastcall_suffix): Return NULL if no change required; | |
1411 | tidy the argument scanning loop. | |
1412 | (i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and | |
1413 | SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS. | |
1414 | (i386_pe_strip_name_encoding): Remove. | |
1415 | (i386_pe_binds_local_p): New. | |
1416 | (i386_pe_strip_name_encoding_full): Use default_strip_name_encoding. | |
1417 | (i386_pe_output_labelref): Remove. | |
1418 | (i386_pe_asm_output_aligned_decl_common): New. | |
1419 | (i386_pe_maybe_record_exported_symbol): Rename from | |
1420 | i386_pe_record_exported_symbol; check for dllexported symbols. | |
1421 | ||
409f9175 | 1422 | 2007-03-29 Zack Weinberg <zack@mrtock.ucsd.edu> |
1423 | ||
1424 | * gengtype.c (oprintf): Mostly revert changes from 2007-03-26; | |
1425 | add comment explaining why vsnprintf cannot be used. | |
1426 | ||
a024c245 | 1427 | 2007-03-29 Douglas Gregor <doug.gregor@gmail.com> |
1428 | ||
1429 | PR tree-optimization/30666 | |
1430 | * tree.c (build_complex_type): When creating type names for DWARF2 | |
1431 | debug info, create TYPE_DECLs for TYPE_NAME instead of | |
1432 | IDENTIFIER_NODEs. | |
1433 | (build_common_tree_nodes_2): Use build_complex_type when building | |
1434 | predefined complex types, to preserve canonical types. | |
1435 | ||
ba45c933 | 1436 | 2007-03-29 Steven Bosscher <steven@gcc.gnu.org> |
1437 | ||
1438 | * ifcvt.c (struct noce_if_info): Add then_else_reversed field. | |
1439 | (noce_get_alt_condition): Look at it to determine whether to | |
1440 | reverse the condition or not. | |
1441 | (noce_get_condition): Substitute the truth for lies. | |
1442 | (noce_find_if_block): Set the then_else_reversed field. | |
1443 | ||
5e8ebe59 | 1444 | 2007-03-29 Lars Poeschel <larsi@wh2.tu-dresden.de> |
1445 | ||
1446 | * config/fr30/fr30.md (movdi): Do not accept immediates as the | |
1447 | destination of this insn. | |
1448 | * config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather | |
1449 | than calling gen_rtx_SET directly. Use r0 to hold the value of | |
1450 | 'address + 4' rather than a stack based temporary which can be | |
1451 | mis-optimized away. | |
924dc384 | 1452 | |
328d5423 | 1453 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
1454 | ||
1455 | * config/s390/s390.c (s390_secondary_input_reload_class, | |
1456 | s390_secondary_output_reload_class): Functions removed. | |
1457 | (s390_secondary_reload): New function. | |
1458 | (TARGET_SECONDARY_RELOAD): Target macro defined. | |
1459 | * config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS, | |
1460 | SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed. | |
1461 | * config/s390/s390.md ("reload_outti", "reload_outdi", | |
1462 | "reload_indi", "reload_insi", "reload_out<mode>", "reload_in<mode>", | |
1463 | "reload_out<mode>"): Expanders removed. | |
1464 | ("reload<mode>_plus", "reload<mode>_nonoffmem_in", | |
1465 | "reload<mode>_nonoffmem_out"): Expanders added. | |
1466 | ||
fc7c3aae | 1467 | 2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com> |
1468 | ||
1469 | * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if | |
1470 | SRC->DEST replacement failed anyway. | |
1471 | ||
f3e0a067 | 1472 | 2007-03-28 Mike Stump <mrs@apple.com> |
1473 | ||
1474 | * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. | |
1475 | * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. | |
a8654287 | 1476 | * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. |
f3e0a067 | 1477 | |
d80b6b7d | 1478 | 2007-03-28 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> |
1479 | ||
1480 | * config.gcc: Accept barcelona as a variant of amdfam10. | |
1481 | * config/i386/i386.c (override_options): Likewise. | |
1482 | * doc/invoke.texi: Likewise. | |
924dc384 | 1483 | |
74aab153 | 1484 | 2007-03-28 Eric Botcazou <ebotcazou@adacore.com> |
1485 | ||
1486 | * tree-dfa.c (get_ref_base_and_extent): Do not expect positive | |
1487 | offsets for BIT_FIELD_REF and COMPONENT_REF. | |
1488 | ||
dc6fafc6 | 1489 | 2007-03-28 Richard Guenther <rguenther@suse.de> |
1490 | ||
1491 | * tree.c (is_global_var): Move ... | |
1492 | * tree-flow-inline.h (is_global_var): ... here. | |
1493 | * tree.h (is_global_var): Remove declaration. | |
1494 | ||
58c9a086 | 1495 | 2007-03-28 Uros Bizjak <ubizjak@gmail.com> |
1496 | ||
1497 | * config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning | |
1498 | option. | |
1499 | (TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option. | |
1500 | * config/i386/i386.c (ix86_tune_features): Initialize new | |
1501 | tuning option. | |
1502 | * config/i386/predicates.md (promotable_binary_operator): Use | |
1503 | TARGET_TUNE_PROMOTE_HIMODE_IMUL. | |
1504 | ||
41b0d74f | 1505 | 2007-03-28 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> |
1506 | ||
1507 | PR target/31380 | |
1508 | * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. | |
1509 | ||
0c570b19 | 1510 | 2007-03-28 Lars Poeschel <larsi@wh2.tu-dresden.de> |
95175695 | 1511 | |
1512 | * config/fr30/fr30.md (movsi_internal): Change destination | |
924dc384 | 1513 | constraint from m to V and add m to the end. |
95175695 | 1514 | |
4a98dc74 | 1515 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
1516 | ||
1517 | * config/sh/sh.md (movsi_i): Fix type attribute. | |
1518 | ||
0c570b19 | 1519 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
e661b951 | 1520 | |
1521 | * config/sh/sh.md (movsi_ie): Fix memory constraints attribute length. | |
1522 | (movsf_ie): Likewise. | |
1523 | ||
99b0f6d9 | 1524 | 2007-03-28 Christian Bruel <christian.bruel@st.com> |
1525 | ||
1526 | * config.gcc: Add sh4-300 to multilib. | |
1527 | * config/sh/t-mlib-sh4-300: New file. | |
1528 | ||
37e3ac7e | 1529 | 2007-03-28 Andreas Krebbel <krebbel1@de.ibm.com> |
1530 | ||
1531 | * config/s390/s390.md ("fix_trunc<mode>di2"): New expander. | |
1532 | ("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from | |
1533 | fix_trunc<mode>di2. | |
924dc384 | 1534 | ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use |
37e3ac7e | 1535 | fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2. |
1536 | ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2", | |
1537 | "fixuns_trunctddi2"): Whitespace fix. | |
1538 | ||
f328f118 | 1539 | 2007-03-28 Kaz Kojima <kkojima@gcc.gnu.org> |
1540 | ||
1541 | * config/sh/sh.h (CALL_COOKIE_RET_TRAMP_SHIFT): Move after | |
1542 | the definition of struct sh_args. | |
1543 | (CALL_COOKIE_RET_TRAMP, CALL_COOKIE_STACKSEQ_SHIFT, | |
1544 | CALL_COOKIE_INT_REG_GET): Likewise. | |
1545 | ||
0fffdebc | 1546 | 2007-03-28 Steven Bosscher <steven@gcc.gnu.org> |
1547 | ||
1548 | * ifcvt.c (cond_exec_find_if_block): Return FALSE if no | |
1549 | transformations are applied successfully. | |
1550 | ||
5ca99950 | 1551 | 2007-03-27 Douglas Gregor <doug.gregor@gmail.com> |
1552 | ||
1553 | * tree.c (tree_contains_struct): Permit 512 tree codes. | |
1554 | * tree.h (tree_contains_struct): Ditto. | |
1555 | (MAX_TREE_CODES): Ditto. | |
1556 | (struct tree_base): Make CODE 16 bits, instead of 8 bits. Add | |
1557 | SPARE member to store remaining padding bits. | |
1558 | ||
097373ae | 1559 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> |
1560 | ||
924dc384 | 1561 | * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' |
097373ae | 1562 | architecture. |
1563 | ||
ca0d2b55 | 1564 | 2007-03-27 Janis Johnson <janis187@us.ibm.com> |
1565 | ||
88f38265 | 1566 | * configure.ac: Fix assembler test for powerpc*-linux decimal float. |
1567 | * configure: Regenerate. | |
1568 | ||
ca0d2b55 | 1569 | * configure: Regenerate using the correct version of autoconf. |
1570 | ||
1571 | 2007-03-27 Anatoly Sokolov <aesok@post.ru> | |
dc39da57 | 1572 | |
1573 | * config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack | |
1574 | pointer regs. | |
1575 | * config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__" | |
1576 | regs to "__SP_L__" and "__SP_H__". | |
1577 | ||
209f25b9 | 1578 | 2007-03-27 Richard Guenther <rguenther@suse.de> |
1579 | ||
1580 | * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and | |
924dc384 | 1581 | computations with it with a HOST_WIDE_INT variable. |
209f25b9 | 1582 | |
45ccdeb8 | 1583 | 2007-03-26 Mike Stump <mrs@apple.com> |
1584 | ||
1585 | * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add | |
1586 | objective-c-header, objective-c++-header and objc++-cpp-output | |
1587 | support. | |
1588 | * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. | |
1589 | ||
1a510660 | 1590 | 2007-03-26 Richard Henderson <rth@redhat.com> |
1591 | ||
58c9a086 | 1592 | PR target/31361 |
1593 | * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128, | |
1594 | IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128, | |
1595 | IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, | |
1596 | IX86_BUILTIN_PSRLQ128): New. | |
1597 | (ix86_init_mmx_sse_builtins): Add them. | |
1598 | (ix86_expand_builtin): Expand them. | |
1599 | * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make | |
1600 | operand 2 be TImode. | |
1601 | * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16, | |
1602 | _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, | |
1603 | _mm_srli_epi64): Mark __B const. | |
1604 | (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. | |
1605 | (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, | |
924dc384 | 1606 | _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use |
58c9a086 | 1607 | new two-vector shift builtins. |
1a510660 | 1608 | |
c68b42d2 | 1609 | 2007-03-26 Ian Lance Taylor <iant@google.com> |
1610 | ||
1611 | PR tree-optimization/31345 | |
1612 | * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like | |
1613 | [+INF, +INF(OVF)] into VARYING. | |
1614 | ||
f8be92ce | 1615 | 2007-03-26 Zack Weinberg <zackw@panix.com> |
1616 | ||
1e837561 | 1617 | * gengtype-parse.c: New file. |
1618 | * gengtype-yacc.y: Delete. | |
1619 | * gengtype-lex.l: Don't include gengtype-yacc.h. | |
1620 | Define YY_DECL and yyterminate appropriately for recursive | |
1621 | descent parser. yylval is now a string out-parameter to yylex. | |
1622 | (HWS, EOID): New shorthand. | |
1623 | (IWORD): Add a couple more types. | |
1624 | (yylex): Add a setup stanza. Remove the complex rules for | |
1625 | detecting GTY'ed types and typedefs; replace with simple | |
1626 | keyword detectors. Adjust everything for the changed | |
1627 | definition of yylval. Ignore all pp-directives, not just #define. | |
1628 | (yyerror): Delete. | |
1629 | (parse_file): Rename yybegin; do not call yyparse. | |
1630 | (yyend): New. | |
1631 | * gengtype.c (xasprintf): Export again. | |
1632 | (this_file): New. Use everywhere __FILE__ was being used. | |
1633 | (get_lang_bitmap): Special case types defined in gengtype.c. | |
1634 | (do_typedef, new_structure): Suppress definition of certain types. | |
1635 | (new_structure): Improve diagnostics of duplicate definitions. | |
1636 | Make sure location_s is associated with input.h. | |
1637 | (nreverse_pairs, define_location_structures): New functions. | |
1638 | (main): Improve tagging of kludge types. Remove old kludges | |
1639 | for input.h types; use define_location_structures. | |
1640 | * gengtype.h: Update prototypes. Define token codes here. | |
1641 | * Makefile.in: Remove all references to gengtype-yacc. | |
1642 | Add rules for gengtype-parse.o. Adjust rules for gengtype-lex.o | |
1643 | and gengtype. | |
1644 | * bitmap.h (struct bitmap_head_def): Coalesce definitions, | |
1645 | add GTY((skip)) to the field that's only conditionally there. | |
1646 | * doc/install.texi: Document that Bison is no longer required | |
1647 | unless building treelang. | |
1648 | ||
570af75a | 1649 | * gengtype.c: Don't include gtyp-gen.h. |
1650 | (srcdir): Declare here. | |
1651 | (base_files, lang_dir_names): Allocate dynamically. | |
1652 | (gt_files, num_gt_files, num_lang_dirs): New globals. | |
1653 | (measure_input_list, read_input_line, read_input_list) | |
1654 | (set_lang_bitmap): New functions. | |
1655 | (get_base_file_bitmap): Rename get_lang_bitmap and drastically | |
1656 | simplify, relying on read_input_list to set up the bitmaps. | |
1657 | (main): Arguments are no longer unused. Check for correct number | |
1658 | of command line arguments, set srcdir and srcdir_len, then call | |
1659 | read_input_list, before doing anything else. No need to worry | |
1660 | about duplicates in main loop. | |
1661 | * configure.ac: Simplify the calculation of all_gtfiles. | |
1662 | Put language tags in there. Don't set or substitute | |
1663 | all_gtfiles_files_langs or all_gtfiles_files_frags. | |
1664 | * Makefile.in: Revamp the way gengtype is invoked, now that it | |
1665 | takes a file on its command line with a much simpler format. | |
1666 | Remove or replace with gtyp-input.list all references to gtyp-gen.h. | |
1667 | (GTFILES): Remove duplicates and C source files. | |
1668 | * c-config-lang.in, cp/config-lang.in, objc/config-lang.in | |
1669 | * objcp/config-lang.in: Add c-pragma.h to gtfiles. | |
1670 | * configure: Regenerate. | |
1671 | ||
4097676c | 1672 | * gengtype.h: Remove all type definitions to gengtype.c; leave |
1673 | only definitions of options_p, type_p, and pair_p as opaque | |
1674 | pointers. Update prototypes. | |
1675 | * gengtype.c: Many type definitions moved here from gengtype.h. | |
1676 | Consolidate type definitions at the top of the file. | |
1677 | (xvasprintf): Delete. | |
1678 | (xasprintf): Make static. | |
1679 | (create_nested_pointer_option): Add 'next' parameter. | |
1680 | (create_field_all, create_field_at): New functions. | |
1681 | (create_field): Now a thin wrapper around create_field_all. | |
1682 | (create_optional_field): Rename create_optional_field_ and add | |
1683 | line argument. Original name is now a macro which supplies | |
1684 | __LINE__. | |
1685 | (oprintf): Use vsnprintf directly. | |
1686 | (close_output_files): Use fatal rather than perror/exit. | |
1687 | (note_def_vec, note_def_vec_alloc): Use create_field_at. | |
1688 | (main): Set progname. Don't use exit. | |
1689 | * gengtype-yacc.y (struct_fields): Use create_field_at. | |
1690 | (option, optionseqopt): Delete. | |
1691 | (optionseq): Consolidate productions from option here so we | |
1692 | can use the first argument to create_option. | |
1693 | ||
6fee8f02 | 1694 | * gengtype-lex.l: Distinguish unions from structures in the |
1695 | token type. Don't call find_structure; return the tag as a string. | |
1696 | * gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and ENT_UNION. | |
1697 | Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is string. | |
1698 | Reorganize typedef_struct production accordingly. | |
1699 | Use create_nested_ptr_option. | |
1700 | * gengtype.c (create_nested_ptr_option): New function. | |
1701 | * gengtype.h: Declare it. | |
1702 | ||
80da8e25 | 1703 | * gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char. |
1704 | (string_type): Don't declare. | |
1705 | (do_scalar_typedef): Declare. | |
1706 | (create_scalar_type): Update prototype. | |
1707 | * gengtype.c (string_type): Make static. | |
1708 | (scalar_nonchar, scalar_char): New. | |
1709 | (do_scalar_typedef): Export. Always use scalar_nonchar for the type. | |
1710 | (resolve_typedef): Use scalar_nonchar for error recovery. | |
1711 | (create_scalar_type): Remove name_len field. Return scalar_char | |
1712 | or scalar_nonchar as appropriate. | |
1713 | (adjust_field_type): Look at scalar_is_char boolean to decide whether | |
1714 | to use string_type. | |
1715 | (throughout): Use scalar_nonchar instead of calling create_scalar_type, | |
1716 | whenever possible. | |
1717 | (main): Initialize scalar_char and scalar_nonchar before calling | |
1718 | gen_rtx_next. | |
1719 | * gengtype-lex.l: Adjust for removal of second argument to | |
1720 | create_scalar_type. Use yylval.s instead of yylval.t when | |
1721 | returning SCALAR. | |
1722 | * gengtype-yacc.y: Type of SCALAR is string. Call | |
1723 | create_scalar_type from type:SCALAR rule. Adjust for removal of | |
1724 | second argument to create_scalar_type. | |
1725 | ||
696e7773 | 1726 | * vec.h: Remove all #if IN_GENGTYPE blocks. |
1727 | Add comment saying that changes may require adjustments to gengtype. | |
1728 | * gengtype.c: Don't include coretypes.h or tm.h. | |
1729 | Add comment to inclusion of errors.h. | |
1730 | (note_def_vec, note_def_vec_alloc): New functions. | |
1731 | * gengtype.h: Declare new functions. | |
1732 | * gengtype-lex.l: Don't include coretypes.h. | |
1733 | (YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name): | |
1734 | Delete. | |
1735 | (update_lineno): Remove unnecessary prototype. | |
1736 | (DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc. | |
1737 | (VEC rule): Just return VEC_TOKEN. | |
1738 | * gengtype-yacc.y (VEC_TOKEN): New token type. | |
1739 | (type): Add a production for VEC(a,b). | |
1740 | * Makefile.in: Update dependencies. | |
1741 | ||
892ddc0b | 1742 | * gengtype-lex.l: Remove rules for parsing pointer-to-function |
1743 | typedefs that use the old PARAMS macro. | |
1744 | ||
f8be92ce | 1745 | * gengtype-lex.l: Remove all rules and states relating to yacc |
1746 | input files. | |
1747 | * gengtype-yacc.y: Similarly. | |
1748 | * gengtype.c (note_yacc_type): Delete function. | |
1749 | * gengtype.h: Update prototypes. | |
1750 | ||
e4e0b898 | 1751 | 2007-03-26 Joseph Myers <joseph@codesourcery.com> |
1752 | ||
1753 | * tree-pretty-print.c (dump_generic_node): Report precision of | |
1754 | unnamed integer types. | |
1755 | ||
03dbd7cc | 1756 | 2007-03-26 Steven Bosscher <steven@gcc.gnu.org> |
1757 | ||
1758 | * ifcvt.c (noce_try_store_flag_constants): Don't check | |
1759 | no_new_pseudos here. | |
1760 | (noce_try_store_flag_constants): Don't check no_new_pseudos. | |
1761 | (noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith, | |
1762 | noce_try_cmove_arith, noce_try_minmax, noce_try_abs, | |
1763 | noce_try_sign_mask): Likewise. | |
1764 | (if_convert): Check no_new_pseudos here. | |
1765 | ||
1766 | (cond_exec_process_if_block, noce_process_if_block, find_if_block): | |
1767 | Remove prototypes. | |
1768 | (struct noce_if_info): Add then_bb, else_bb, join_bb members. | |
1769 | (noce_get_condition): Handle new then_else_reversed argument. | |
1770 | (noce_init_if_info): Remove, fold into noce_find_if_block. | |
1771 | (noce_process_if_block): Take a struct noce_if_info as the | |
1772 | argument. Don't set up one based on ce_if_info. Update pointer | |
1773 | references accordingly. | |
1774 | (cond_move_process_if_block): Likewise. | |
1775 | (process_if_block): Removed. | |
1776 | (find_if_block): Removed. Move functionality two new functions, | |
1777 | noce_find_if_block and cond_exec_find_if_block. | |
1778 | (noce_find_if_block): New function. Be aware of IF-THEN-JOIN | |
1779 | blocks and the symmetric IF-ELSE-JOIN case. | |
1780 | (cond_exec_find_if_block): Also new function mostly based on old | |
1781 | find_if_block and process_if_block. | |
1782 | (find_if_header): Replace find_if_block call with separately | |
1783 | guarded calls to noce_find_if_block and cond_exec_find_if_block. | |
1784 | (find_cond_trap): Update noce_get_condition call. | |
1785 | (dead_or_predicable): Likewise. | |
1786 | ||
211d5b9a | 1787 | 2007-03-26 Jakub Jelinek <jakub@redhat.com> |
1788 | ||
1789 | * config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD): | |
1790 | Remove. | |
1791 | (IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, | |
1792 | IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, | |
1793 | IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove. | |
1794 | (ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and | |
58c9a086 | 1795 | v4si_ftype_v4si_v2di. Remove __builtin_ia32_psllw128, |
211d5b9a | 1796 | __builtin_ia32_pslld128, __builtin_ia32_psllq128, |
1797 | __builtin_ia32_psrlw128, __builtin_ia32_psrld128, | |
1798 | __builtin_ia32_psrlq128, __builtin_ia32_psraw128 and | |
1799 | __builtin_ia32_psrad128 builtins. | |
1800 | ||
4e9abdcc | 1801 | 2007-03-26 Uros Bizjak <ubizjak@gmail.com> |
1802 | ||
1803 | * reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert(). | |
1804 | * config/i386/constraints.md | |
1805 | (define_constraint "I"): Use IN_RANGE macro. | |
1806 | (define_constraint "J"): Ditto. | |
1807 | (define_constraint "K"): Ditto. | |
1808 | (define_constraint "M"): Ditto. | |
1809 | (define_constraint "N"): Ditto. | |
1810 | (define_constraint "O"): Ditto. | |
1811 | * config/i386/predicates.md | |
1812 | (define_predicate "register_no_elim_operand"): Use IN_RANGE macro. | |
1813 | (define_predicate "const_0_to_3_operand"): Ditto. | |
1814 | (define_predicate "const_0_to_7_operand"): Ditto. | |
1815 | (define_predicate "const_0_to_15_operand"): Ditto. | |
1816 | (define_predicate "const_0_to_63_operand"): Ditto. | |
1817 | (define_predicate "const_0_to_255_operand"): Ditto. | |
1818 | (define_predicate "const_1_to_31_operand"): Ditto. | |
1819 | (define_predicate "const_2_to_3_operand"): Ditto. | |
1820 | (define_predicate "const_4_to_7_operand"): Ditto. | |
1821 | ||
87ba92a7 | 1822 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
1823 | ||
1824 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR | |
1825 | in SImode for save_world. | |
1826 | * config/rs6000/altivec.md (save_world, restore_world): Convert to | |
1827 | LR hard reg. | |
1828 | ||
3cbad267 | 1829 | 2007-03-25 Dorit Nuzman <dorit@il.ibm.com> |
1830 | ||
1831 | PR tree-optimization/30784 | |
1832 | * fold-const.c (fold_ternary): Handle CONSTRUCTOR in case | |
1833 | BIT_FIELD_REF. | |
1834 | ||
73772494 | 1835 | 2007-03-25 Revital Eres <eres@il.ibm.com> |
1836 | ||
f8be92ce | 1837 | * tree-if-conv.c (if_convertible_gimple_modify_stmt_p): |
1838 | Fold movement_possibility function into it. | |
73772494 | 1839 | |
327202e2 | 1840 | 2007-03-25 David Edelsohn <edelsohn@gnu.org> |
1841 | ||
1842 | * config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0. | |
1843 | (load_macho_picbase_{si,di}): Convert to LR hard reg. | |
1844 | (call_indirect_nonlocal_darwin64): Same. | |
1845 | (call_nonlocal_darwin64): Same. | |
1846 | (call_value_indirect_nonlocal_darwin64): Same. | |
1847 | (call_value_nonlocal_darwin64): Same. | |
1848 | (sibcall_nonlocal_darwin64): Same. | |
1849 | (sibcall_value_nonlocal_darwin64): Same. | |
1850 | (sibcall_symbolic_64): Same. | |
1851 | (sibcall_value_symbolic_64): Same. | |
1852 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove | |
1853 | LR pseudo. | |
1854 | (rs6000_emit_load_toc_table): Same. | |
1855 | * config/rs6000/altivec.md (restore_world): Convert to LR hard reg. | |
1856 | * config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg. | |
1857 | (mull_call): Same. | |
1858 | (divss_call): Same. | |
1859 | (divus_call): Same. | |
1860 | (quoss_call): Same. | |
1861 | (quous_call): Same. | |
1862 | (load_toc_v4_pic_si): Same | |
1863 | (load_toc_v4_PIC_1): Same. | |
1864 | (load_toc_v4_PIC_1b): Same. | |
1865 | (call_indirect_aix{32,64}): Same. | |
1866 | (call_value_indirect_aix{32,64}): Same. | |
1867 | (call): Same. | |
1868 | (call_value): Same. | |
1869 | (call_local{32,64}): Same. | |
1870 | (call_value_local{32,64}): Same. | |
1871 | (call_indirect_nonlocal_aix{32,64}): Same. | |
1872 | (call_nonlocal_aix{32,64}): Same. | |
1873 | (call_value_indirect_nonlocal_aix{32,64}): Same. | |
1874 | (call_value_nonlocal_aix{32,64}): Same. | |
1875 | (call_indirect_nonlocal_sysv<mode>): Same. | |
1876 | (call_nonlocal_sysv<mode>): Same. | |
1877 | (call_value_indirect_nonlocal_sysv<mode>): Same. | |
1878 | (call_value_nonlocal_sysv<mode>): Same. | |
1879 | (sibcall): Same. | |
1880 | (sibcall_local{32,64}): Same. | |
1881 | (sibcall_value_local{32,64}): Same. | |
1882 | (sibcall_nonlocal_aix{32,64}): Same. | |
1883 | (sibcall_value_nonlocal_aix{32,64}): Same. | |
1884 | (sibcall_nonlocal_sysv<mode>): Same. | |
1885 | (sibcall_value): Same. | |
1886 | (sibcall_value_nonlocal_sysv<mode>): Same. | |
1887 | ||
8eba3d10 | 1888 | 2007-03-24 Paul Brook <paul@codesourcery.com> |
1889 | ||
1890 | * config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push. | |
1891 | * config/arm/linux-eabi.h: Remove legacy syscall hack. | |
1892 | ||
269f7060 | 1893 | 2007-03-24 Richard Henderson <rth@redhat.com> |
1894 | ||
1895 | * config/ia64/constraints.md: New file. | |
1896 | * config/ia64/predicates.md: Replace CONST_OK_FOR_? with | |
1897 | satisfies_constraint_?. | |
1898 | * config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p, | |
1899 | ia64_reload_gp, spill_restore_mem, ia64_expand_prologue, | |
1900 | ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs, | |
1901 | ia64_output_mi_thunk): Likewise. | |
1902 | (ia64_const_ok_for_letter_p): Remove. | |
1903 | (ia64_const_double_ok_for_letter_p): Remove. | |
1904 | (ia64_extra_constraint): Remove. | |
1905 | * config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove. | |
1906 | (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, | |
1907 | CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P, | |
1908 | CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G, | |
1909 | CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT, | |
1910 | EXTRA_MEMORY_CONSTRAINT): Remove. | |
1911 | * config/ia64/ia64.md: Include constriants.md. Replace | |
1912 | CONST_OK_FOR_? with satisfies_constraint_?. | |
1913 | ||
10de71e1 | 1914 | 2007-03-23 Michael Meissner <michael.meissner@amd.com> |
1915 | H.J. Lu <hongjiu.lu@intel.com> | |
1916 | ||
1917 | * config/dfp-bit.h (DPD_BID_NAME): New macro to give either the | |
1918 | DPD or BID name. | |
1919 | (name macros): Use DPD_BID_NAME to convert names properly. | |
1920 | ||
1921 | * optabs.c (DECIMAL_PREFIX): Prefix string to use for the current | |
1922 | decimal floating point format. | |
1923 | (init_floating_libfuncs): Change decimal functions so that they | |
1924 | have a "bid_" prefix if the decimal system uses the BID format, | |
1925 | and "dpd_" prefix if the decimal system uses the DPD format. | |
1926 | (init_interclass_conv_libfuncs): Ditto. | |
1927 | (init_intraclass_conv_libfuncs): Ditto. | |
1928 | ||
1929 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
1930 | using the BID format. | |
1931 | ||
1932 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
1933 | whether we are using the BID decimal format. | |
1934 | * configure: Regenerate. | |
1935 | ||
1936 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
1937 | the compiler has decimal floating point enabled. Define | |
1938 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
1939 | instead of DPD. | |
1940 | ||
1941 | * config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are | |
1942 | using the BID format. | |
1943 | ||
1944 | * configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say | |
1945 | whether we are using the BID decimal format. | |
1946 | * configure: Regenerate. | |
1947 | ||
1948 | * c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if | |
1949 | the compiler has decimal floating point enabled. Define | |
1950 | __DECIMAL_BID_FORMAT__ if BID decimal floating point is used | |
1951 | instead of DPD. | |
1952 | ||
1953 | * doc/install.texi (--enable-decimal-float): Document BID and DPD | |
1954 | options, and that it is enabled for i386/x86_64 systems. | |
1955 | ||
1956 | * Makefile.in (enable_decimal_float): New. | |
1957 | (DECNUMFMT): New. | |
1958 | (DECNUMINC): Add -I$(DECNUMFMT). | |
1959 | (DECNUM_H): Mov decimal32.h, decimal64.h and decimal128.h | |
1960 | to $(DECNUMFMT) from $(DECNUM). | |
1961 | ||
1962 | * configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}. | |
1963 | Substitute enable_decimal_float. | |
1964 | * configure: Regenerated. | |
1965 | ||
1966 | PR other/30529 | |
1967 | * config/dfp-bit.c (__dec_byte_swap): Use uint32_t instead of | |
1968 | unsigned long. | |
1969 | ||
1970 | * configure.ac: Enable decimal float for x86_64-*-linux*. | |
1971 | * configure: Regenerated. | |
1972 | ||
1973 | PR other/30530 | |
1974 | * dfp.c (decimal_real_arithmetic): Use decimal128FlipSign and | |
1975 | decimal128ClearSign to flip and clear the sign bit in decimal128. | |
1976 | (decimal_real_maxval): Set decimal128SetSign to set the sign | |
1977 | bit in decimal128. | |
1978 | ||
558517fd | 1979 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
1980 | ||
1981 | * fold-const.c (fold_binary): Correct warning for X - c >= X. | |
1982 | ||
fb5b6d1b | 1983 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
1984 | ||
1985 | * tree-dump.c (dump_files): Correct comment. | |
1986 | ||
f82ccac1 | 1987 | 2007-03-23 Ian Lance Taylor <iant@google.com> |
1988 | ||
1989 | * tree-vrp.c (operand_less_p): Ignore fold overflow warnings. | |
1990 | ||
207c7ab2 | 1991 | 2007-03-23 Steven Bosscher <steven@gcc.gnu.org> |
1992 | ||
1993 | * tracer.c (tracer): Don't take FLAGS argument. Assert we are | |
1994 | in cfglayout mode. Don't go into and out of cfglayout mode. | |
1995 | Link the blocks in the order of the constructed traces. | |
1996 | (rest_of_handle_tracer): Adjust call to tracer. | |
1997 | * loop-init.c (rtl_loop_init): Assert we are in cfglayout mode. | |
1998 | Don't go into cfglayout mode. | |
1999 | (rtl_loop_done): Don't go out of cfglayout mode. | |
2000 | * cfglayout.c (relink_block_chain): New function, split out from... | |
2001 | (fixup_reorder_chain): ...here. Remove redundant checking. | |
2002 | (cfg_layout_finalize): Don't clear the header, footer, and aux | |
2003 | fields here, move the code to do so to relink_block_chain. Likewise | |
2004 | for free_original_copy_tables. | |
2005 | * rtl.h (tracer): Update prototype. | |
2006 | * bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument. | |
2007 | Assert we are in cfglayout mode. Don't go into and out of cfglayout | |
2008 | mode. Use relink_block_chain to serialize the CFG according to the | |
2009 | new basic block order. Move targetm.cannot_modify_jumps_p check from | |
2010 | here... | |
2011 | (gate_handle_reorder_blocks): ...to here. | |
2012 | (duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check | |
2013 | from here... | |
2014 | (gate_duplicate_computed_gotos): ...to here. | |
2015 | (rest_of_handle_reorder_blocks): Don't see if anything has changed, | |
2016 | something always changes when going into and out of cfglayout mode. | |
2017 | Perform an expensive cfg cleanup while going into cfglayout mode. | |
2018 | Always update liveness information on HAVE_conditional_execution | |
2019 | targets. Reserialize the basic blocks and go out of cfglayout mode. | |
2020 | * reg-stack.c: Include cfglayout.h. | |
2021 | (rest_of_handle_stack_regs): Go into and out of cfglayout mode around | |
2022 | the call to reorder_basic_blocks. | |
2023 | * basic-block.h (reorder_basic_blocks): Update prototype. | |
2024 | (relink_block_chain): New prototype. | |
2025 | * passes.c (pass_outof_cfg_layout_mode): Move after cse2. | |
2026 | ||
f01296c3 | 2027 | 2007-03-23 Joseph Myers <joseph@codesourcery.com> |
2028 | ||
2029 | * config/mips/mips.md (type, hazard, *movdi_32bit, | |
2030 | *movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc, | |
2031 | *movhi_internal, *movqi_internal, *movsf_hardfloat, | |
2032 | *movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat, | |
2033 | movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high, | |
2034 | mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as | |
2035 | applicable. | |
2036 | (movcc): Change first xfer to multi. | |
2037 | * config/mips/24k.md, config/mips/4100.md, config/mips/4300.md, | |
2038 | config/mips/5000.md, config/mips/5400.md, config/mips/5500.md, | |
2039 | config/mips/5k.md, config/mips/7000.md, config/mips/9000.md, | |
2040 | config/mips/generic.md: Change reservations using "xfer" to use | |
2041 | "mfc,mtc". | |
2042 | * config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of | |
2043 | using match_operand. | |
2044 | (ir_sb1_mfxfer): Use "mfc" instead of using match_operand. | |
2045 | * config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of | |
2046 | examining mode. | |
2047 | (ir_sr70_xfer_to): Use "mtc" instead of examining mode. | |
2048 | ||
788002f3 | 2049 | 2007-03-22 Richard Henderson <rth@redhat.com> |
2050 | ||
2051 | * config/i386/i386.c: Remove unnecessary function declarations. | |
2052 | Move targetm definition, and all related macros, to the end of | |
2053 | the file. Resort some functions to put definitions before uses. | |
2054 | (ix86_attribute_table): Make static. Move to end of file. | |
2055 | (ix86_gimplify_va_arg): Make static. | |
2056 | ||
9c587e53 | 2057 | 2007-03-22 Richard Henderson <rth@redhat.com> |
2058 | ||
2059 | * config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit; | |
2060 | don't increase local_regparm with force_align_arg_pointer check. | |
2061 | (ix86_function_sseregparm): Assert 32-bit. | |
2062 | (type_has_variadic_args_p): New. | |
2063 | (ix86_return_pops_args): Early exit for 64-bit. Reindent; use | |
2064 | type_has_variadic_args_p. | |
2065 | (ix86_function_arg_regno_p): Use == 0 instead of ! test for eax. | |
2066 | (init_cumulative_args): Remove TARGET_DEBUG_ARG. Remove zero_cum; | |
2067 | use memset instead. Do maybe_vaarg check first; skip attribute | |
2068 | tests if true; skip attribute tests for 64-bit. | |
2069 | (construct_container): Remove TARGET_DEBUG_ARG. | |
2070 | (function_arg_advance_32, function_arg_advance_64): Split out ... | |
2071 | (function_arg_advance): ... from here. | |
2072 | (function_arg_32, function_arg_64): Split out ... | |
2073 | (function_arg): ... from here. | |
2074 | (ix86_pass_by_reference): Tidy. | |
2075 | (ix86_function_value_regno_p): Rearrange w/ switch on regno. | |
2076 | (function_value_32): New, from parts of ix86_function_value | |
2077 | and ix86_value_regno. | |
2078 | (function_value_64): New, from parts of ix86_function_value | |
2079 | and ix86_libcall_value. | |
2080 | (ix86_function_value_1): New. | |
2081 | (ix86_function_value, ix86_libcall_value): Use it. | |
2082 | (return_in_memory_32, return_in_memory_64): Split out ... | |
2083 | (ix86_return_in_memory): ... from here. | |
2084 | (ix86_struct_value_rtx): Skip for 64-bit. | |
2085 | (ix86_libcall_value, ix86_value_regno): Remove. | |
2086 | (setup_incoming_varargs_64): Split out ... | |
2087 | (ix86_setup_incoming_varargs): ... from here. | |
2088 | (ix86_va_start): Remove TARGET_DEBUG_ARG. | |
2089 | (legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR. | |
2090 | * config/i386/i386-protos.h (ix86_function_value): Remove. | |
2091 | * config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove. | |
2092 | ||
64214dab | 2093 | 2007-03-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2094 | ||
2095 | PR other/23572 | |
2096 | * c-lex.c (interpret_float): On overflow, emit pedantic warning if | |
2097 | infinities not supported, otherwise emit warning if -Woverflow. On | |
2098 | underflow, emit warning if -Woverflow. | |
2099 | * real.c (real_from_string): Return -1 if underflow, +1 if overflow | |
2100 | and 0 otherwise. | |
2101 | * real.h (real_from_string): Update declaration | |
f8be92ce | 2102 | |
63c68695 | 2103 | 2007-03-22 Kai Tietz <kai.tietz@onevision.com> |
2104 | Richard Henderson <rth@redhat.com> | |
2105 | ||
2106 | * defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default. | |
2107 | * calls.c (compute_argument_block_size, expand_call, | |
2108 | emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE. | |
2109 | * expr.c (block_move_libcall_safe_for_call_parm): Likewise. | |
2110 | * function.c (STACK_DYNAMIC_OFFSET): Likewise. | |
2111 | * doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update. | |
2112 | * config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h, | |
2113 | config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h, | |
2114 | config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h, | |
2115 | config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE): | |
2116 | Set to 1. | |
2117 | ||
016bf95b | 2118 | 2007-03-22 Joseph Myers <joseph@codesourcery.com> |
2119 | ||
2120 | * c-incpath.c (add_sysroot_to_chain): New. | |
2121 | (merge_include_chains): Add sysroot argument. Call | |
2122 | add_sysroot_to_chain if sysrooted. | |
2123 | (register_include_chains): Update call to merge_include_chains. | |
2124 | * doc/cppopts.texi: Document use of '=' in include directory | |
2125 | arguments. | |
2126 | ||
a745c94e | 2127 | 2007-03-22 Uros Bizjak <ubizjak@gmail.com> |
2128 | ||
2129 | * config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf. | |
2130 | Macroize expander using SSEMODEF mode macro. Use SSE_FLOAT_MODE_P. | |
2131 | (*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize | |
2132 | insn pattern using X87MODEF12 mode macro. | |
f8be92ce | 2133 | |
02f07e87 | 2134 | 2007-03-21 Seongbae Park <seongbae.park@gmail.com> |
2135 | ||
2136 | * regmove.c (regmove_optimize): Use reg_mentioned_p | |
2137 | instead of reg_overlap_mentioned_p for DST. | |
2138 | ||
dad26ad9 | 2139 | 2007-03-21 Mike Stump <mrs@apple.com> |
2140 | ||
2141 | * c.opt: Fixup for Objective-C/C++. | |
2142 | ||
a745c94e | 2143 | 2007-03-21 Steve Ellcey <sje@cup.hp.com> |
2800ac1a | 2144 | |
2145 | * explow.c (convert_memory_address): Fold memory reference when | |
2146 | POINTERS_EXTEND_UNSIGNED < 0 | |
2147 | ||
0e960ba8 | 2148 | 2007-03-21 Richard Henderson <rth@redhat.com> |
2149 | ||
2150 | PR target/31245 | |
2151 | * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias. | |
2152 | * config/i386/mmintrin.h (__m64): Likewise. | |
2153 | * config/i386/xmmintrin.h (__m128): Likewise. | |
2154 | ||
f868f9f1 | 2155 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
2156 | ||
2157 | * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options. | |
2158 | (VXWORKS_OS_CPP_BUILTINS): Define. | |
2159 | * config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into... | |
2160 | (TARGET_OS_CPP_BUILTINS): ...here. Use VXWORKS_OS_CPP_BUILTINS. | |
2161 | ||
3aba99c8 | 2162 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
2163 | ||
2164 | * rtl.h (constant_pool_reference_p): Delete. | |
2165 | (find_constant_src): Declare. | |
2166 | * rtlanal.c (find_constant_src): New function. | |
2167 | * simplify-rtx.c (constant_pool_reference_p): Delete. | |
2168 | * config/i386/i386.md: Use find_constant_src instead of | |
2169 | constant_pool_reference_p/avoid_constant_pool_reference pairs. | |
2170 | ||
7a0eea86 | 2171 | 2007-03-21 Richard Sandiford <richard@codesourcery.com> |
2172 | ||
2173 | * doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__. | |
2174 | * c-cppbuiltin.c (c_cpp_builtins): Define them. | |
2175 | ||
a457f9f8 | 2176 | 2007-03-20 Mark Mitchell <mark@codesourcery.com> |
2177 | ||
2178 | * config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define. | |
2179 | * config/arm/arm.c (arm_elf_asm_cdtor): New function. | |
2180 | (arm_elf_asm_constructor): Use it. | |
2181 | (arm_elf_asm_destructor): New function. | |
2182 | ||
76021441 | 2183 | 2007-03-20 Bernd Schmidt <bernd.schmidt@analog.com> |
2184 | ||
2185 | * jump.c (mark_jump_label): Treat SEQUENCE specially. | |
2186 | ||
08b2466e | 2187 | 2007-03-20 Nathan Sidwell <nathan@codesourcery.com> |
2188 | ||
2189 | * config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks. | |
2190 | ||
2b9f2e46 | 2191 | 2007-03-19 Andrew Haley <aph@redhat.com> |
2192 | ||
2193 | PR tree-optimization/31264 | |
2194 | * tree-vrp.c (register_edge_assert_for_1): Don't look though | |
2195 | VIEW_CONVERT_EXPRs. | |
2196 | ||
243f24c5 | 2197 | 2007-03-19 Paolo Bonzini <bonzini@gnu.org> |
2198 | ||
2199 | PR rtl-optimization/30907 | |
2200 | * fwprop.c (forward_propagate_into): Never propagate inside a loop. | |
2201 | (fwprop_init): Always call loop_optimizer_initialize. | |
2202 | (fwprop_done): Always call loop_optimizer_finalize. | |
2203 | (fwprop): We always have loop info now. | |
2204 | (gate_fwprop_addr): Remove. | |
2205 | (pass_fwprop_addr): Use gate_fwprop as gate. | |
2206 | ||
2207 | PR rtl-optimization/30841 | |
2208 | * df-problems.c (df_ru_local_compute, df_rd_local_compute, | |
2209 | df_chain_alloc): Call df_reorganize_refs unconditionally. | |
2210 | * df-scan.c (df_rescan_blocks, df_reorganize_refs): Change | |
2211 | refs_organized to refs_organized_size. | |
2212 | (df_ref_create_structure): Use refs_organized_size instead of | |
2213 | bitmap_size if refs had been organized, and keep refs_organized_size | |
2214 | up-to-date. | |
2215 | * df.h (struct df_ref_info): Change refs_organized to | |
2216 | refs_organized_size. | |
2217 | (DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of | |
2218 | bitmap_size. | |
2219 | ||
9519f67b | 2220 | 2007-03-19 Mark Mitchell <mark@codesourcery.com> |
2221 | ||
2222 | * except.c (output_function_exception_table): Do not reference the | |
2223 | EH personality routine for functions that do not require an | |
2224 | exception table. | |
2225 | ||
3d8785bc | 2226 | 2007-03-20 Jakub Jelinek <jakub@redhat.com> |
2227 | ||
aedd6e32 | 2228 | PR c/30762 |
2229 | * c-typeck.c (convert_for_assignment): Call comptypes for | |
2230 | RECORD_TYPE or UNION_TYPE. | |
2231 | ||
3d8785bc | 2232 | PR inline-asm/30505 |
2233 | * reload1.c (reload): Do invalid ASM checking after | |
2234 | cleanup_subreg_operands. | |
2235 | ||
94ca4916 | 2236 | 2007-03-19 Jeff Law <law@redhat.com> |
2237 | ||
2238 | * tree-cfg.c (find_taken_edge): Tighten conditions for | |
2239 | optimizing computed gotos. | |
2240 | ||
a8bb7059 | 2241 | 2007-03-19 Michael Matz <matz@suse.de> |
2242 | ||
2243 | * builtins.c (expand_builtin_sync_operation, | |
2244 | expand_builtin_compare_and_swap, | |
2245 | expand_builtin_lock_test_and_set): Care for extending CONST_INTs | |
2246 | correctly. | |
2247 | ||
2248 | * config/i386/sync.md (sync_double_compare_and_swapdi_pic, | |
2249 | sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint | |
2250 | for operand 3. | |
2251 | ||
021a18ba | 2252 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2253 | ||
2254 | * doc/tm.texi: Add brackets around the return type of | |
2255 | TARGET_SECONDARY_RELOAD. | |
2256 | ||
d42c14ae | 2257 | 2007-03-19 Andrew Pinski <andrew_pinski@playstation.sony.com> |
2258 | Richard Guenther <rguenther@suse.de> | |
2259 | ||
2260 | PR tree-optimization/31254 | |
2261 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): | |
2262 | Use handled_component_p () where appropriate. Continue | |
2263 | propagating into the rhs if we propagated into an INDIRECT_REF | |
2264 | on the lhs. | |
2265 | ||
1f8e70bc | 2266 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2267 | ||
2268 | * config/s390/s390.md (op_type attribute): RRR instruction type added. | |
2269 | (FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros. | |
2270 | (xde, xdee): Mode attributes adjusted to support DFP modes. | |
2271 | (RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added. | |
2272 | ("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters, | |
f8be92ce | 2273 | DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3", |
1f8e70bc | 2274 | "*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3", |
2275 | "*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3", | |
2276 | "div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
f8be92ce | 2277 | "*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP |
1f8e70bc | 2278 | numbers. |
2279 | ("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31", | |
2280 | "movsf"): Insn definitions removed. | |
2281 | ("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp", | |
2282 | "*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2", | |
2283 | "trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn | |
2284 | definitions added. | |
2285 | ("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>", | |
2286 | "reload_in<mode>", "reload_out<mode>"): Expander added. | |
2287 | ("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"): | |
2288 | Expander removed. | |
2289 | ||
708607d5 | 2290 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2291 | ||
2292 | * config/s390/s390.md: Only non-functional changes. Renamed | |
2293 | FPR mode macro to BFP all over the file. | |
2294 | ||
0c2edaa7 | 2295 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2296 | ||
2297 | * config/s390/s390.md (UNSPEC_COPYSIGN): New constant. | |
2298 | (op_type attribute): RRF instruction type added. | |
2299 | (fT0): New mode attribute. | |
2300 | ("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc", | |
2301 | "*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added. | |
2302 | * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new instruction | |
2303 | no secondary memory is needed when moving DFmode values between GPRs | |
2304 | and FPRs. | |
2305 | ||
7818a08e | 2306 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2307 | ||
2308 | * config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value | |
2309 | inverted and documentation adjusted. | |
2310 | ("mhard-dfp", "msoft-dfp"): New options. | |
2311 | * config/s390/s390.c (s390_handle_arch_option): New architecture | |
2312 | switch: z9-ec. | |
2313 | (override_options): Sanity checks for the new options added. | |
2314 | * config.gcc: New architecture switch: z9-ec. | |
2315 | * config/s390/s390.h (processor_flags): PF_DFP added. | |
2316 | (TARGET_CPU_DFP, TARGET_DFP): Macro definitions added. | |
2317 | (TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled | |
2318 | when the bit is NOT set so remove it from the defaults. | |
2319 | ||
3b55c036 | 2320 | 2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> |
2321 | ||
2322 | * genemit.c (main): Print include statement for dfp.h. | |
2323 | * dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum | |
2324 | is not available. | |
2325 | ||
55d19f36 | 2326 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
2327 | ||
2328 | * config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here. | |
2329 | ||
99971c03 | 2330 | 2007-03-19 Kaz Kojima <kkojima@gcc.gnu.org> |
2331 | ||
2332 | PR target/31022 | |
2333 | * config/sh/sh.c (sh_adjust_cost): Use the result of single_set | |
2334 | instead of PATTERN. | |
2335 | ||
c5559ed4 | 2336 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2337 | ||
2338 | * pa.c (output_deferred_plabels, output_bb, output_millicode_call, | |
2339 | attr_length_call, output_call, output_indirect_call): Cleanup | |
2340 | formatting of targetm calls. | |
2341 | ||
fed42b71 | 2342 | 2007-03-19 Hans-Peter Nilsson <hp@axis.com> |
2343 | ||
2344 | * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1. | |
2345 | ||
7d9f62cc | 2346 | 2007-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2347 | ||
2348 | * pa.md: Add fpstore_load and store_fpload instruction types. Provide | |
2349 | reservation, bypass and anti-bypass descriptions for these instructions. | |
2350 | Update move patterns. | |
2351 | * pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and | |
2352 | TYPE_FPSTORE. | |
f8be92ce | 2353 | |
e817bf15 | 2354 | 2007-03-18 Dorit Nuzman <dorit@il.ibm.com> |
2355 | ||
2356 | * tree-vect-transform.c (get_initial_def_for_induction): Replace | |
2357 | GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS. | |
2358 | (get_initial_def_for_reduction): Likewise. | |
2359 | ||
c1d4daae | 2360 | 2007-03-16 Daniel Berlin <dberlin@dberlin.org> |
2361 | ||
2362 | Fix PR tree-optimization/29922 | |
2363 | * tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members. | |
2364 | (get_representative): Removed. | |
2365 | (value_dies_in_block_x): Update for rvuse removal. | |
2366 | (valid_in_sets): Update for renaming of vuses_dies_in_block_x. | |
2367 | (compute_antic_aux): Handle when PHI nodes appear in | |
f8be92ce | 2368 | non-single-successors. |
c1d4daae | 2369 | (dump_bitmap_of_names): Removed. |
2370 | (compute_antic_safe): Renamed and removed rvuse calculation. | |
2371 | Calculate only antic safe. | |
2372 | (insert_into_preds_of_block): Remove assert. | |
2373 | (execute_pre): Update for renamed functions. | |
2374 | (defer_or_phi_translate_block): New function. | |
f8be92ce | 2375 | |
f6a0d06f | 2376 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
2377 | ||
2378 | * config/arm/arm.c, config/arm/thumb2.md, config/m68k/m68k.c, | |
2379 | config/spu/spu.c, omega.h, passes.c, predict.c: Fix comment | |
2380 | typos. | |
2381 | * doc/cpp.texi, doc/extend.texi, doc/invoke.texi: Fix typos. | |
2382 | Follow spelling conventions. | |
2383 | ||
10f4b721 | 2384 | * tree-data-ref.h: Remove the prototype for analyze_array. |
2385 | ||
8d072f6d | 2386 | 2007-03-17 Dorit Nuzman <dorit@il.ibm.com> |
2387 | ||
2388 | PR tree-optimization/31041 | |
2389 | * tree-vect-transform.c (get_initial_def_for_induction): Call | |
2390 | force_gimple_operand. | |
f8be92ce | 2391 | |
51e779f4 | 2392 | 2007-03-17 Olga Golovanevsky <olga@il.ibm.com> |
f8be92ce | 2393 | |
51e779f4 | 2394 | * ipa-type-escape.c (look_for_casts) : Revert code to use |
2395 | handled_component_p due to ada test a-numaux.adb. | |
2396 | ||
f8df4da2 | 2397 | 2007-03-17 Kazu Hirata <kazu@codesourcery.com> |
2398 | ||
2399 | * final.c (final_scan_insn): Alter the condition of a | |
2400 | conditional trap if we have nonstandard CC. | |
2401 | ||
95cd4953 | 2402 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
2403 | ||
2404 | * configure.ac: Remove excess quoting from asm line 0 test. | |
2405 | * configure: Rebuilt. | |
2406 | ||
59dd8856 | 2407 | 2007-03-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2408 | ||
2409 | * doc/invoke.texi (-Wconversion): Document warnings specific to C++. | |
2410 | * c-common.c (convert_and_check): Move warning logic to... | |
2411 | (warnings_for_convert_and_check): ...here. Define. | |
2412 | * c-common.h (warnings_for_convert_and_check): Declare. | |
f8be92ce | 2413 | |
ec94117d | 2414 | 2007-03-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2415 | ||
2416 | * pa.c (attr_length_call): Partially revert change of 2007-03-09. | |
2417 | (output_call): Likewise. | |
2418 | ||
ac03c1db | 2419 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
2420 | ||
2421 | * config/vxworks.h (SUPPORTS_INIT_PRIORITY): Define. | |
2422 | ||
e9204790 | 2423 | 2007-03-16 Richard Sandiford <richard@codesourcery.com> |
2424 | ||
2425 | * config/vx-common.h (WINT_TYPE, WINT_TYPE_SIZE): Define. | |
2426 | ||
d53e2283 | 2427 | 2007-03-16 Uros Bizjak <ubizjak@gmail.com> |
2428 | ||
2429 | * config/i386/i386.c (override_options): Add PTA_NO_SAHF to k8, | |
2430 | opteron, athlon-64 and athlon-fx processor_alias_table entries. | |
2431 | ||
a75122be | 2432 | 2007-03-16 Sebastian Pop <sebastian.pop@inria.fr> |
2433 | ||
2434 | PR tree-optimization/31183 | |
f8be92ce | 2435 | * tree-loop-linear.c (gather_interchange_stats, try_interchange_loops): |
a75122be | 2436 | Use double_int instead of unsigned int for representing access_strides. |
2437 | * testsuite/gcc.dg/tree-ssa/pr31183.c: New. | |
2438 | ||
15ec875c | 2439 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
2440 | ||
2441 | PR tree-optimization/31146 | |
2442 | * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure | |
2443 | to allow recursion of forward_propagate_addr_expr. | |
2444 | (forward_propagate_addr_into_variable_array_index): Likewise. | |
2445 | (forward_propagate_addr_expr): Likewise. | |
2446 | (tree_ssa_forward_propagate_single_use_vars): Likewise. | |
2447 | (forward_propagate_addr_expr_1): Recurse on simple copies | |
2448 | instead of propagating into them. Do so for useless conversions | |
2449 | as well. | |
2450 | (forward_propagate_addr_expr): Clean up unused statements after | |
2451 | recursion. | |
2452 | ||
3737e769 | 2453 | 2007-03-16 Richard Guenther <rguenther@suse.de> |
2454 | ||
2455 | * builtins.c (expand_builtin_cexpi): Use the right argument | |
2456 | for the expansion via cexp. | |
2457 | ||
5c17a266 | 2458 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
2459 | ||
2460 | * configure.ac: Don't require ELF binutils to tolerate # 0 "". | |
2461 | * configure: Rebuilt. | |
2462 | ||
a357c7c2 | 2463 | 2007-03-16 Alexandre Oliva <aoliva@redhat.com> |
2464 | ||
2465 | PR debug/29906 | |
2466 | * dwarf2out.c (force_type_die): Adjust comment. | |
2467 | (dwarf2out_imported_module_or_decl): Handle base AT_import types. | |
2468 | ||
89c31ddb | 2469 | 2007-03-15 DJ Delorie <dj@redhat.com> |
2470 | ||
2471 | * config/frv/predicates.md (minmax_operator): Don't check operands | |
2472 | here. | |
2473 | ||
4b4ab846 | 2474 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
2475 | ||
2476 | * tree-ssa-loop-niter.c (record_estimate): Add "upper" argument. | |
2477 | Update constant estimates of number of iterations. | |
2478 | (record_nonwrapping_iv): Add "upper" argument. "data_size_bounds_p" | |
2479 | argument renamed to "realistic". | |
2480 | (compute_estimated_nb_iterations): Removed. | |
2481 | (record_niter_bound): New function. | |
2482 | (idx_infer_loop_bounds): For possible but unlikely tail arrays, | |
2483 | call record_nonwrapping_iv with upper = false. | |
2484 | (infer_loop_bounds_from_signedness): Pass upper argument to | |
2485 | record_nonwrapping_iv. | |
2486 | (estimate_numbers_of_iterations_loop): Do not call | |
2487 | compute_estimated_nb_iterations. Record estimate based on profile | |
2488 | information. Initialize the constant estimates of number of | |
2489 | iterations. | |
2490 | * tree-data-ref.c (estimated_loop_iterations): Return the recorded | |
2491 | estimates. | |
2492 | * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when | |
2493 | number of iterations is too small. | |
2494 | * cfgloop.h (struct nb_iter_bound): Remove "realistic" field. | |
2495 | (EST_NOT_AVAILABLE): Removed. | |
2496 | (struct loop): Replace estimated_nb_iterations by any_upper_bound, | |
2497 | nb_iterations_upper_bound, any_estimate and nb_iterations_estimate | |
2498 | fields. | |
2499 | ||
8cd53b4f | 2500 | 2007-03-15 Zdenek Dvorak <dvorakz@suse.cz> |
2501 | ||
2502 | * tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference): | |
2503 | Handle NE_EXPR guards. | |
2504 | ||
aa509316 | 2505 | 2007-03-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2506 | ||
2507 | PR c++/24924 | |
2508 | * c-opts.c (c_common_post_options): Handle C++ post-processing here. | |
2509 | Set also -pedantic-errors by default for the preprocessor unless | |
2510 | -fpermissive is given. | |
f8be92ce | 2511 | |
fc0dfa6e | 2512 | 2007-03-15 Richard Guenther <rguenther@suse.de> |
2513 | ||
2514 | PR middle-end/29719 | |
2515 | PR middle-end/31161 | |
2516 | * builtins.c (expand_builtin_cexpi): As a fallback if we | |
2517 | don't have builtins for sincos or cexp create a function | |
2518 | declaration for cexp and expand to a call to that. | |
2519 | (expand_builtin_int_roundingfn): Always fall | |
2520 | back to floor/ceil and its variants even if they may be | |
2521 | not available. | |
2522 | ||
4aaec180 | 2523 | 2007-03-15 Steven Bosscher <steven@gcc.gnu.org> |
2524 | ||
2525 | PR middle-end/31159 | |
2526 | * cfglayout.c (fixup_reorder_chain): Postpone deleting dead | |
2527 | jump tables, move the call to delete_dead_jumptables from here... | |
2528 | (cfg_layout_finalize): ...to here. But rebuild jump labels first. | |
2529 | * cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing, | |
2530 | don't allow merging of blocks that try_redirect_by_replacing_jump | |
2531 | also does not handle when not optimizing. | |
2532 | ||
a1758a13 | 2533 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
2534 | Francois-Xavier Coudert <coudert@clipper.ens.fr> | |
2535 | ||
2536 | * config/i386/i386.md (x86_sahf_1): Correctly handle | |
2537 | HAVE_AS_IX86_SAHF. | |
2538 | ||
ed2235c8 | 2539 | 2007-03-15 Uros Bizjak <ubizjak@gmail.com> |
2540 | ||
2541 | PR target/31167 | |
2542 | * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use | |
2543 | x86_64_general_operand as operand[2] predicate. Remove "iF" | |
2544 | from operand constraints and use "e" constraint instead. | |
2545 | (*subti3_1, *subti3_1 splitter): Ditto. | |
2546 | (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as | |
2547 | operand[1] predicate. | |
2548 | ||
28d4f5a1 | 2549 | 2007-03-14 Sebastian Pop <sebastian.pop@inria.fr> |
2550 | ||
2551 | * tree-loop-linear.c (gather_interchange_stats): For multidimensional | |
2552 | arrays, multiply the access strides by the size of the sub-array. | |
2553 | * testsuite/gcc.dg/tree-ssa/ltrans-5.c: New. | |
2554 | ||
735630ef | 2555 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
2556 | ||
2557 | * configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether | |
2558 | the configured assembler supports the sahf mnemonic. | |
2559 | * configure: Regenerate. | |
2560 | * config.in: Regenerate. | |
2561 | ||
2562 | * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF, | |
2563 | emit "sahf" or ".byte\t0x9e" as asm template. | |
2564 | ||
2b28c681 | 2565 | 2007-03-14 Michael Meissner <michael.meissner@amd.com> |
2566 | ||
2567 | PR 31018 | |
2568 | * config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning | |
2569 | option to replace hard coded TARGET_xxx in md file. | |
2570 | (X86_TUNE_AVOID_VECTOR_DECODE): Ditto. | |
2571 | (X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
2572 | (X86_TUNE_SLOW_IMUL_IMM8): Ditto. | |
2573 | (X86_TUNE_MOVE_M1_VIA_OR): Ditto. | |
2574 | (X86_TUNE_NOT_UNPAIRABLE): Ditto. | |
2575 | (X86_TUNE_NOT_VECTORMODE): Ditto. | |
2576 | (TUNE_SHORTEN_X87_SSE): Use new tuning option. | |
2577 | (TUNE_AVOID_VECTOR_DECODE): Ditto. | |
2578 | (TUNE_SLOW_IMUL_IMM32_MEM): Ditto. | |
2579 | (TUNE_SLOW_IMUL_IMM8): Ditto. | |
2580 | (TUNE_MOVE_M1_VIA_OR): Ditto. | |
2581 | (TUNE_NOT_UNPAIRABLE): Ditto. | |
2582 | (TUNE_NOT_VECTORMODE): Ditto. | |
f8be92ce | 2583 | |
2b28c681 | 2584 | * config/i386/i386.c (ix86_tune_features): Fill in new tuning |
2585 | options. | |
2586 | ||
2587 | * config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new | |
2588 | tuning options instead of hard coded TARGET_xxx. | |
2589 | (fix ssemode peephole2's): Ditto. | |
2590 | (imul peephole2's): Ditto. | |
2591 | (movsi_or): Ditto. | |
2592 | (movdi_or_rex64): Ditto. | |
2593 | (move peephole2): Ditto. | |
2594 | (not peephole2's): Ditto. | |
2595 | ||
ffe8fd56 | 2596 | 2007-03-14 Dirk Mueller <dmueller@suse.de> |
2597 | ||
2598 | * c-common.h (empty_body_warning): Rename to empty_if_body_warning. | |
2599 | * c-common.c (empty_if_body_warning): Rephrase diagnostic message. | |
2600 | * c-parser.c (c_parser_if_body): Always add an empty statement in case | |
2601 | of empty body. | |
2602 | * c-parser.c (c_parser_do_statement): Warn about empty body in | |
2603 | do/while statement. | |
2604 | * c-typeck (c_finish_if_stmt): Call empty_if_body_warning. | |
2605 | * doc/invoke.texi (-Wempty-body): Update documentation. | |
2606 | ||
f092582b | 2607 | 2007-03-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
2608 | ||
2609 | PR c/21438 | |
2610 | * c-common.h (warn_for_div_by_zero): Declare. | |
2611 | * c-common.c (warn_for_div_by_zero): Define. | |
2612 | * c-typeck.c (build_binary_op): Call warn_for_div_zero instead of | |
2613 | warning. | |
2614 | ||
72d997cb | 2615 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
2616 | ||
2617 | * Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators | |
2618 | to PREFIX and STANDARD_PREFIX. | |
2619 | ||
efe5559c | 2620 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
2621 | Phil Edwards <phil@codesourcery.com> | |
2622 | ||
2623 | * gthr-vxworks.h: Add an extern "C" wrapper for C++. | |
2624 | (__gthread_once_t): Remove busy field for RTPs. | |
2625 | (__GTHREAD_ONCE_INIT): Update accordingly. | |
2626 | ||
809bb1c7 | 2627 | 2007-03-14 Richard Sandiford <richard@codesourcery.com> |
2628 | ||
2629 | * doc/invoke.texi: Document VxWorks options. | |
2630 | ||
e85fd4fb | 2631 | 2007-03-14 Uros Bizjak <ubizjak@gmail.com> |
2632 | ||
2633 | * doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option. | |
2634 | ||
fdf6266d | 2635 | 2007-03-13 Seongbae Park <seongbae.park@gmail.com> |
2636 | ||
2637 | PR tree-optimization/30590 | |
2638 | * tree-nrv.c (tree_nrv): Check for the partial update of the | |
2639 | return value. | |
2640 | ||
b6c1bd72 | 2641 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
2642 | ||
2643 | * flags.h (flag_random_seed): Remove declaration, in favor of... | |
2644 | * toplev.h (get_random_seed, set_random_seed): ... these. | |
2645 | * tree.c (get_file_function_name): Use the former. | |
2646 | * opts.c (common_handle_option): Use the latter. | |
2647 | * toplev.c | |
2648 | ||
3752d411 | 2649 | 2007-03-13 Steven Bosscher <steven@gcc.gnu.org> |
2650 | ||
2651 | PR middle-end/31127 | |
2652 | * cse.c (cse_find_path): Do not bail out if a basic block that | |
2653 | we already visited now becomes part of a path that starts at a | |
2654 | different basic block. Just disallow this, to make sure we | |
2655 | visit each basic block at most once. | |
2656 | ||
24bc216e | 2657 | 2007-03-13 Jan Hubicka <jh@suse.cz> |
2658 | ||
2659 | * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes, | |
2660 | when profile esitmate is present, calls with very low frequency are | |
2661 | cold. | |
2662 | ||
a463eaea | 2663 | 2007-03-13 Zdenek Dvorak <dvorakz@suse.cz> |
2664 | ||
2665 | PR tree-optimization/30730 | |
2666 | PR tree-optimization/26900 | |
2667 | * tree-ssa-loop-niter.c: Include gmp.h. | |
2668 | (bounds): New type. | |
2669 | (mpz_set_double_int, get_type_bounds, mpz_to_double_int, | |
2670 | split_to_var_and_offset, determine_value_range, | |
2671 | bound_difference_of_offsetted_base, refine_bounds_using_guard, | |
2672 | bound_difference, bounds_add, bounds_negate, | |
2673 | number_of_iterations_ne_max, dump_affine_iv): New functions. | |
2674 | (number_of_iterations_ne, number_of_iterations_lt_to_ne, | |
2675 | assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the | |
2676 | difference of initial and final value of control iv to validate | |
2677 | results. | |
2678 | (number_of_iterations_cond): Add loop parameter. Determine bounds | |
2679 | on the difference of the extremes of the control iv. Add dumps. | |
2680 | (expand_simple_operations): Handle phi nodes. | |
2681 | (simplify_using_initial_conditions): Do not record used conditions. | |
2682 | (number_of_iterations_exit): Pass loop to number_of_iterations_cond. | |
2683 | Do not set additional_info. | |
2684 | (implies_nonnegative_p, implies_ge_p): Removed. | |
2685 | (derive_constant_upper_bound): Do not use parameter `additional'. | |
2686 | (record_estimate): Parameter `additional' removed. Parameter | |
2687 | `i_bound' added. Do not call derive_constant_upper_bound. | |
2688 | (record_nonwrapping_iv): Use derive_constant_upper_bound to | |
2689 | bound the number of iterations estimate. | |
2690 | (estimate_numbers_of_iterations_loop): Pass the estimate from | |
2691 | the number of iterations analysis to record_estimate. | |
2692 | * tree.h (multiple_of_p): Declare. | |
2693 | * tree-scalar-evolution.c (expression_expensive_p): Removed. | |
2694 | (scev_const_prop): Do not check expression_expensive_p. | |
2695 | * fold-const.c (multiple_of_p): Exported. | |
2696 | * double-int.c (double_int_mask): Exported. | |
2697 | * double-int.h (double_int_mask): Declare. | |
2698 | * tree-flow.h (struct tree_niter_desc): Removed additional_info | |
2699 | field. Added max field. | |
2700 | ||
e238d235 | 2701 | 2007-03-13 David Taylor <taylor@candd.org> |
2702 | ||
2703 | PR driver/12448: | |
2704 | * gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass | |
2705 | default -MQ. | |
2706 | ||
a0ece9f6 | 2707 | 2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2708 | ||
73fc3472 | 2709 | PR target/31123 |
a0ece9f6 | 2710 | * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for |
2711 | two unamed patterns. | |
f8be92ce | 2712 | |
92a5086b | 2713 | 2007-03-13 Uros Bizjak <ubizjak@gmail.com> |
2714 | ||
2715 | * config/i386/i386.opt (mcx16, msahf): New options. | |
2716 | * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove. | |
2717 | (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC. | |
2718 | ||
2719 | * config/i386/driver-i386.c (bit_LAHF_LM): New define. | |
2720 | (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits. | |
2721 | Output -mcx16 and -msahf options when corresponding bit is set. | |
2722 | ||
2723 | * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16 | |
2724 | and -msahf options. | |
2725 | ||
a8971681 | 2726 | 2007-03-13 Alexandre Oliva <aoliva@redhat.com> |
2727 | ||
2728 | * configure.ac: Test for assembler tolerance to # 0 "". | |
2729 | * configure, config.in: Rebuilt. | |
2730 | * final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO. | |
2731 | ||
c99afad8 | 2732 | 2007-03-13 Geoffrey Keating <geoffk@apple.com> |
2733 | ||
2734 | * doc/invoke.texi (Spec Files): Update for '%{,' spec. | |
47adc701 | 2735 | |
2736 | * config/rs6000/darwin-fallback.c: Compile file only on powerpc. | |
2737 | (handle_syscall): Handle direct system calls. | |
2738 | * config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete. | |
2739 | ||
6713f0a0 | 2740 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
2741 | ||
2742 | * doc/invoke.texi: Fix cpp.info cross-reference. | |
2743 | * doc/passes.texi: Fix gcc.info cross-reference. | |
2744 | ||
f8494ea3 | 2745 | 2007-03-12 Zdenek Dvorak <dvorakz@suse.cz> |
2746 | ||
2747 | PR tree-optimization/30835 | |
2748 | * lambda-code.c (can_convert_to_perfect_nest): Check whether | |
2749 | bb_for_stmt is not NULL before accessing it. | |
2750 | ||
021d874e | 2751 | 2007-03-12 Joseph Myers <joseph@codesourcery.com> |
2752 | ||
2753 | * gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for | |
2754 | some multilibs. | |
2755 | ||
16e1a7da | 2756 | 2007-03-12 Brooks Moses <brooks.moses@codesourcery.com> |
2757 | ||
2758 | PR 30635 | |
2759 | * doc/install.texi: Document --enable-stage1-languages | |
2760 | ||
154480b1 | 2761 | 2007-03-12 Steven Bosscher <steven@gcc.gnu.org> |
2762 | ||
2763 | * tree-pass.h (pass_into_cfg_layout_mode, | |
2764 | pass_outof_cfg_layout_mode): Declare. | |
2765 | * cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode, | |
2766 | pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New. | |
2767 | * passes.c (pass_into_cfg_layout_mode): Schedule before jump2. | |
2768 | (pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt. | |
2769 | ||
aaafd660 | 2770 | 2007-03-12 Seongbae Park <seongbae.park@gmail.com> |
2771 | ||
2772 | * c-decl.c (warn_variable_length_array): New function. | |
2773 | Refactored from grokdeclarator to handle warn_vla | |
2774 | and handle unnamed array case. | |
2775 | (grokdeclarator): Refactored VLA warning case. | |
2776 | * c.opt (Wvla): New flag. | |
974bc84e | 2777 | * doc/invoke.texi (Wvla): New warning. |
aaafd660 | 2778 | |
cc2af183 | 2779 | 2007-03-12 Richard Henderson <rth@redhat.com> |
2780 | ||
2781 | * config/alpha/alpha.c (alpha_elf_section_type_flags): New. | |
2782 | (TARGET_SECTION_TYPE_FLAGS): New. | |
2783 | ||
0b769e4a | 2784 | 2007-03-12 Richard Henderson <rth@redhat.com> |
2785 | ||
f8494ea3 | 2786 | * config/darwin.c (machopic_reloc_rw_mask): New. |
2787 | * config/darwin-protos.h (machopic_reloc_rw_mask): Declare. | |
2788 | * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. | |
0b769e4a | 2789 | |
a8bb4f69 | 2790 | 2007-03-12 Mark Mitchell <mark@codesourcery.com> |
2791 | ||
2792 | * cppdefault.c (cpp_EXEC_PREFIX): New variable. | |
2793 | * cppdefault.h (cpp_PREFIX): Document. | |
2794 | (cpp_PREFIX_len): Likewise. | |
2795 | (cpp_EXEC_PREFIX): New variable. | |
2796 | * Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX. | |
2797 | * c-incpath.c (add_standard_paths): Correct logic for relocating | |
2798 | paths within prefix. | |
2799 | ||
d3fcb417 | 2800 | 2007-03-12 Uros Bizjak <ubizjak@gmail.com> |
2801 | ||
2802 | * config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from | |
2803 | fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF | |
2804 | mode macro. | |
2805 | (fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and | |
2806 | fix_truncdfdi_sse using SSEMODEF mode macro. | |
2807 | (fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and | |
2808 | fix_truncdfsi_sse using SSEMODEF mode macro. | |
2809 | (fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro. | |
2810 | (fix_trunc?f?i_sse K8 peephole2): Fix register constraint. | |
2811 | ||
ac2799d5 | 2812 | 2007-03-12 Richard Sandiford <richard@codesourcery.com> |
2813 | ||
2814 | * config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add | |
2815 | elfos.h to tm_file. | |
2816 | ||
96b038b0 | 2817 | 2007-03-12 Olga Golovanevsky <olga@il.ibm.com> |
f8be92ce | 2818 | |
96b038b0 | 2819 | * tree.h : Add multiple_of_p declaration. |
f8be92ce | 2820 | * fold-const.c (multiple_of_p): Make multiple_of_p public. |
96b038b0 | 2821 | * ipa-type-escape.c (results_of_malloc): Redundant. |
2822 | (visited_stmts): New. Visited stmt for walk_use_def_chains. | |
2823 | (cast_type): Extended with new members. | |
2824 | (check_cast): Returns cast_type. | |
2825 | (cast): New structure for data of walk_use_def_chains. | |
2826 | (is_malloc_result, is_cast_from_non_pointer_1, | |
f8be92ce | 2827 | is_cast_from_non_pointer, |
96b038b0 | 2828 | is_array_access_through_pointer_and_index): New functions. |
2829 | (look_for_casts): Returns cast types. | |
2830 | (check_call): Returns void. | |
2831 | (okay_pointer_operation): Use support of pointer plus index, | |
2832 | pointer plus constant and allow all multiplications. | |
f8be92ce | 2833 | |
62065c0b | 2834 | 2007-03-11 Richard Guenther <rguenther@suse.de> |
2835 | ||
2836 | PR tree-optimization/31115 | |
2837 | * tree-vrp.c (extract_range_from_binary_expr): Make sure | |
2838 | the shift count is positive and non-anti-range for RSHIFT_EXPR. | |
2839 | A shift count of zero is not special as with *_DIV_EXPR. | |
2840 | (vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow | |
2841 | direction. | |
2842 | ||
659753d3 | 2843 | 2007-03-11 Ian Lance Taylor <iant@google.com> |
2844 | ||
2845 | * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and | |
2846 | the *_DIV_EXPR codes correctly with overflow infinities. | |
2847 | ||
72443169 | 2848 | 2007-03-11 Ira Rosen <irar@il.ibm.com> |
2849 | ||
f8be92ce | 2850 | * tree-data-ref.c (analyze_offset): Add a return value (bool) to |
72443169 | 2851 | indicate success/failure of the analysis. Add negation to subtrahend |
2852 | in case of subtraction. Fail if both operands contain constants. | |
2853 | (create_data_ref): Fail if analyze_offset fails. | |
2854 | ||
4209e9f9 | 2855 | 2007-03-11 Uros Bizjak <ubizjak@gmail.com> |
2856 | ||
2857 | * config/i386/i386.md (frndintxf2): Rename to ... | |
2858 | (rintxf2): ... this. Remove expander having same name. | |
2859 | (rintsf2, rintdf2): Implement using SSEMODEF macro. | |
2860 | (roundsf2, rounddf2): Ditto. | |
2861 | (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro. | |
2862 | (lround<mode>di2, lround<mode>si2): Ditto. | |
2863 | ||
db1c50be | 2864 | 2007-03-11 Steven Bosscher <steven@gcc.gnu.org> |
2865 | ||
2866 | * lower-subreg.c: Include except.h. | |
2867 | (decompose_multiword_subregs): Verify that the only control flow | |
2868 | insns we can split are loads to multi-words pseudos. | |
2869 | Handle breaking such blocks after splitting, instead of calling | |
2870 | find_many_sub_basic_blocks. | |
2871 | ||
2872 | * loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK | |
2873 | on the new basic block. Add a lengthy comment explaining why we | |
2874 | thought this was necessary. | |
2875 | * cfglayout.c (cfg_layout_finalize): Don't break superblocks. | |
2876 | ||
6783c055 | 2877 | 2007-03-10 Mark Mitchell <mark@codesourcery.com> |
2878 | ||
752d462d | 2879 | PR c++/30924 |
6783c055 | 2880 | * tree.c (walk_type_fields): Recurse into the element type of |
2881 | ARRAY_TYPEs if there is a pointer set. | |
2882 | ||
e6978426 | 2883 | 2007-03-10 Dirk Mueller <dmueller@suse.de> |
2884 | ||
2885 | * c-common.c (warn_logical_operator): Fix condition. | |
2886 | ||
c6134e23 | 2887 |