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