OSDN Git Service

2006-11-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2006-11-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2
3         PR tree-opt/29439
4         * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
5         checking for overflow.
6
7 2006-11-06  Jan van Dijk  <jan@etpmod.phys.tue.nl>
8
9         * configure.ac: Fixed typo in case statement: :: changed to ;;
10
11 2006-11-06  Bob Wilson  <bob.wilson@acm.org>
12
13         * longlong.h (__xtensa__): Add definitions for umul_ppmm, __umulsidi3,
14         count_leading_zeros, and count_trailing_zeros.
15         * config/xtensa/xtensa.c (TARGET_INIT_BUILTINS): Define.
16         (TARGET_FOLD_BUILTIN): Define.
17         (TARGET_EXPAND_BUILTIN): Define.
18         (xtensa_init_builtins): New.
19         (xtensa_fold_builtin): New.
20         (xtensa_expand_builtin): New.
21         (xtensa_rtx_costs): Add CTZ and CLZ.  Adjust costs for MULT.
22         * config/xtensa/xtensa.h (TARGET_MUL32_HIGH): Define.
23         (CLZ_DEFINED_VALUE_AT_ZERO): Define.
24         (CTZ_DEFINED_VALUE_AT_ZERO): Define.
25         * config/xtensa/xtensa.md (UNSPEC_NSAU): Remove.
26         (any_extend): New code macro.
27         (u, su): New code attributes.
28         (<u>mulsidi3, <u>mulsi3_highpart, clzsi2, ctzsi2): New.
29         (nsau): Remove; replaced by clzsi2.
30         (ffssi2): Use clzsi2.
31         * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _umulsidi3,
32         _clzsi2, _ctzsi2, and _ffssi2.  Rename _nsau to _clz.
33         * config/xtensa/lib1funcs.asm (__mulsi3): Support Mul32 option.
34         (__umulsidi3, __clzsi2, __ctzsi2, __ffssi2): New.
35         (__nsau_data): Guard with ifdef L_clz instead of L_nsau.
36
37 2006-11-06  Vladimir Prus  <vladimir@codesourcery.com>
38
39         * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do no
40         set inhibit_libc.
41         * config/arm/t-strongarm-elf: Likewise.
42         * config/arm/t-pe: Likewise.
43         * config/arm/t-arm-elf: Likewise.
44         * config/arm/t-xscale-elf: Likewise.
45         * config/arm/t-arm-coff: Likewise.
46         * config/arm/t-xscale-coff: Likewise.
47         * config/arm/t-wince-pe: Likewise.
48         
49 2006-11-05  Kaz Kojima  <kkojima@gcc.gnu.org>
50
51         * config/sh/lib1funcs-4-300.asm: Guard entire file with
52         #if !__SHMEDIA__ .
53
54 2006-11-05  Jakub Jelinek  <jakub@redhat.com>
55
56         PR middle-end/29695
57         * fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
58         simplification.
59
60 2006-11-04  Uros Bizjak  <ubizjak@gmail.com>
61
62         PR target/26915
63         * config/i386/i386.c (standard_80387_constant_p): Treat -0.0 and -1.0
64         as a valid 80387 constant.
65         (standard_80387_constant_opcode): Return "#" for -0.0 and -1.0.
66         * config/i386/i386.md (unnamed splitter): Split the load of
67         constant -0.0 or -1.0  into the load of 0.0 or 1.0, followed
68         by negation.
69
70 2006-11-04  Richard Earnshaw  <rearnsha@arm.com>
71
72         * arm.c (thumb_legitimate_addres_p): Allow any constant offset
73         from the soft-frame, argument and virtual registers.
74
75 2006-11-04  Uros Bizjak  <ubizjak@gmail.com>
76
77         * config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable
78         patterns for standard 80387 constants.
79
80 2006-11-03  Paolo Bonzini  <bonzini@gnu.org>
81             Steven Bosscher  <steven@gcc.gnu.org>
82
83         * fwprop.c: New file.
84         * Makefile.in: Add fwprop.o.
85         * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New.
86         * passes.c (init_optimization_passes): Schedule forward propagation.
87         * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second
88         parameter.
89         * timevar.def (TV_FWPROP): New.
90         * common.opt (-fforward-propagate): New.
91         * opts.c (decode_options): Enable forward propagation at -O2.
92         * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps.
93         * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr,
94         canon_for_address, table_size): Remove.
95         (new_basic_block, insert, remove_from_table): Remove references to
96         table_size.
97         (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make
98         simplification loop more straightforward by not calling fold_rtx
99         recursively.
100         (equiv_constant): Move here a small part of fold_rtx_subreg,
101         do not call fold_rtx.  Call avoid_constant_pool_reference
102         to process MEMs.
103         * recog.h (canonicalize_change_group): New.
104
105         * doc/invoke.texi (Optimization Options): Document fwprop.
106         * doc/passes.texi (RTL passes): Document fwprop.
107
108 2006-11-03  Geoffrey Keating  <geoffk@apple.com>
109
110         * c-decl.c (WANT_C99_INLINE_SEMANTICS): New, set to 1.
111         (merge_decls): Implement WANT_C99_INLINE_SEMANTICS.
112         (grokdeclarator): Likewise.
113
114 2006-11-03  Steven Bosscher  <steven@gcc.gnu.org>
115
116         * tree-dump.c (dump_enable_all): Rename local variable
117         ir_type to avoid name conflicts.
118         * cfgloopmanip.c (lv_adjust_loop_entry_edge): Check for IR_GIMPLE
119         instead of using ir_type().
120         * profile.c (tree_register_profile_hooks): Likewise.
121         * value-prof.c (tree_register_value_prof_hooks): Likewise.
122         * basic-block.h (struct edge_def): Likewise.
123         * config/arm/arm.c (legitimize_pic_address): Likewise.
124         * coretypes.h (ir_type): New enum of all intermediate languages
125         used in GCC.
126         * cfghooks.c (ir_type): Rename to...
127         (current_ir_type): ...this.  Distinguish between cfgrtl and
128         cfglayout mode when the current IR is RTL.  Return enum ir_type.
129         * cfghooks.h (ir_type): Replace with current_ir_type prototype.
130
131 2006-11-03  Paul Brook  <paul@codesourcery.com>
132
133         * config/arm/arm.c (arm_file_start): New function.
134         (TARGET_ASM_FILE_START): Define.
135         (arm_default_cpu): New variable.
136         (arm_override_options): Set arm_default_cpu.
137
138 2006-11-03  David Ung  <davidu@mips.com>
139         
140         * config/mips/mips.h (processor_type): Removed PROCESSOR_24K, add
141         PROCESSOR_24KC and PROCESSOR_24KF.
142         * config/mips/mips.c (mips_cpu_info_table): Add processor names
143         and aliases for 4kec/4kem/4kep/24kec/24kef/24kex/34kc/34kf/34kx.
144         (mips_rtx_cost_data): Add costs for the 24kc.
145         * config/mips/mips.md ("cpu"): Remove 24k, add 24kc and 24kf.
146         * config/mips/24k.md: Remove references to 24k and replace with
147         uses of 24kc/24kf in the appropriate reservations.
148         * doc/invoke.texi (MIPS Options): Updated. 
149         
150 2006-11-03  J"orn Rennecke  <joern.rennecke@st.com>
151
152         * config/sh/crt1.asm: Fix #ifdef indent.
153
154 2006-11-03  J"orn Rennecke  <joern.rennecke@st.com>
155         Merged from STMicroelectronics sources:
156         2006-10-06  Andrew Stubbs  <andrew.stubbs@st.com>
157           * config/sh/crt1.asm (vbr_600): Add missing #if.
158         2006-08-03  J"orn Rennecke  <joern.rennecke@st.com>
159           * sh.opt (mfused-madd): New option.
160           * sh.md (mac_media, macsf3): Make conditional on TARGET_FMAC.
161         2006-07-04  Andrew Stubbs  <andrew.stubbs@st.com>
162           * config/sh/crt1.asm (vbr_start): Move to new section .test.vbr.
163           Remove pointless handler at VBR+0.
164           (vbr_200, vbr_300, vbr_500): Remove pointless handler.
165           (vbr_600): Save and restore mach and macl, fpul and fpscr and fr0 to
166           fr7. Make sure the timer handler is called with the correct FPU
167           precision setting, according to the ABI.
168         2006-06-14  J"orn Rennecke <joern.rennecke@st.com>
169           * config/sh/sh.opt (m2a-single, m2a-single-only): Fix Condition.
170           * config/sh/sh.h (SUPPORT_SH2A_NOFPU): Fix condition.
171           (SUPPORT_SH2A_SINGLE_ONLY, SUPPORT_SH2A_SINGLE_ONLY): Likewise.
172         2006-06-09  J"orn Rennecke <joern.rennecke@st.com>
173           * sh.md (cmpgeusi_t): Change into define_insn_and_split.  Accept
174           zero as second operand.
175         2006-04-28  J"orn Rennecke <joern.rennecke@st.com>
176           * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
177           Fixed some bugs related to negative values, in particular -0
178           and overflow at -0x80000000.
179           * config/sh/divcost-analysis: Added sh4-300 figures.
180         2006-04-27  J"orn Rennecke <joern.rennecke@st.com>
181           * config/sh/t-sh (MULTILIB_MATCHES): Add -m4-300* / -m4-340 options.
182         2006-04-26  J"orn Rennecke <joern.rennecke@st.com>
183           * config/sh/t-sh (OPT_EXTRA_PARTS): Add libgcc-4-300.a.
184           ($(T)div_table-4-300.o, $(T)libgcc-4-300.a): New rules.
185           * config/sh/divtab-sh4-300.c, config/sh/lib1funcs-4-300.asm:
186         New files.
187           * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-4-300 for -m4-300* /
188           -m4-340.
189         2006-04-24  J"orn Rennecke <joern.rennecke@st.com>
190           SH4-300 scheduling description & fixes to SH4-[12]00 description:
191           * sh.md: New instruction types: fstore, movi8, fpscr_toggle, gp_mac,
192           mac_mem, mem_mac, dfp_mul, fp_cmp.
193           (insn_class, dfp_comp, any_fp_comp): Update.
194           (push_fpul, movsf_ie, fpu_switch, toggle_sz, toggle_pr): Update type.
195           (cmpgtsf_t, "cmpeqsf_t, cmpgtsf_t_i4, cmpeqsf_t_i4): Likewise.
196           (muldf3_i): Likewise.
197           (movsi_i): Split rI08 alternative into two separate alternatives.
198           Update type.
199           (movsi_ie, movsi_i_lowpart): Likewise.
200           (movqi_i): Split ri alternative into two separate alternatives.
201           Update type.
202           * sh1.md (sh1_load_store, sh1_fp): Update.
203           * sh4.md (sh4_store, sh4_mac_gp, fp_arith, fp_double_arith): Update.
204           (mac_mem, sh4_fpscr_toggle): New insn_reservations.
205           * sh4a.md (sh4a_mov, sh4a_load, sh4a_store, sh4a_fp_arith): Update.
206           (sh4a_fp_double_arith): Likewise.
207           * sh4-300.md: New file.
208           * sh.c (sh_handle_option): Handle m4-300* options.
209           (sh_adjust_cost): Fix latency of auto-increments.
210           Handle SH4-300 differently than other SH4s.  Check for new insn types.
211           * sh.h (OVERRIDE_OPTIONS): Initilize sh_branch_cost if it has not
212           been set by an option.
213           * sh.opt (m4-300, m4-100-nofpu, m4-200-nofpu): New options.
214           (m4-300-nofpu, -m4-340, m4-300-single, m4-300-single-only): Likewise.
215           (mbranch-cost=): Likewise.
216           * superh.h (STARTFILE_SPEC): Take -m4-340 into account.
217
218           * sh.md (mulsf3): Remove special expansion code.
219           (mulsf3_ie): Now a define_insn_and_split.
220           (macsf3): Allow for TARGET_SH4.
221
222           * sh.md (cbranchsi4, cbranchdi4, cbranchdi4_i): New patterns.
223           * sh.c (prepare_cbranch_operands, expand_cbranchsi4): New functions.
224           (expand_cbranchdi4): Likewise.
225           (sh_rtx_costs): Give lower cost for certain CONST_INT values and for
226           CONST_DOUBLE if the outer code is COMPARE.
227           * sh.h (OPTIMIZATION_OPTIONS): If not optimizing for size, set
228           TARGET_CBRANCHDI4 and TARGET_EXPAND_CBRANCHDI4.
229           (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, clear TARGET_CBRANCHDI4.
230           (LEGITIMATE_CONSTANT_P): Also allow DImode and VOIDmode CONST_DOUBLEs.
231           Remove redundant fp_{zero,one}_operand checks.
232           * sh.opt (mcbranchdi, mexpand-cbranchdi, mcmpeqdi): New options.
233           * sh-protos.h (prepare_cbranch_operands, expand_cbranchsi4): Declare.
234           (expand_cbranchdi4): Likewise.
235         2006-04-20  J"orn Rennecke <joern.rennecke@st.com>
236           * sh.h (LOCAL_ALIGNMENT): Use DATA_ALIGNMENT.
237
238 2006-11-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>
239
240         * doc/md.texi (RS6000 constraints): Document H, Z, a, t, and W
241         constraints.
242
243 2006-11-02  Brooks Moses  <brooks.moses@codesourcery.com>
244
245         * doc/invoke.texi: Fix mfp-trap-mode typo.
246
247 2006-11-02  Carlos O'Donell  <carlos@codesourcery.com>
248
249         * config/arm/linux-elf.h (NEED_INDICATE_EXEC_STACK): Define as 1.
250         * arm.c (arm_file_end): If NEED_INDICATE_EXEC_STACK call 
251         file_end_indicate_exec_stack. 
252         * arm.h [!NEED_INDICATE_EXEC_STACK] (NEED_INIDCATE_EXEC_STACK): 
253         Define as 0.
254         * lib1funcs.asm [__ELF__ && __linux__]: Emit .note.GNU-stack section
255         for a non-executable stack.
256         * crti.asm: Likewise.
257         * crtn.asm: Likewise.
258         * libunwind.S: Likewise. 
259
260 2006-11-02  Ben Elliston  <bje@au.ibm.com>
261
262         * tree-ssa.c (warn_uninit): Use expand_location variables for
263         locus and declaration locus.
264
265 2006-11-02  Kaz Kojima  <kkojima@gcc.gnu.org>
266
267         PR target/27405
268         * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
269         (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
270         cmp{eq,gt,gtu}{si,di}_media.
271         (*cmpne0si_media): Remove.
272         (*movsicc_umin): Adjust gen_cmp*_media call.
273         (unordered): Change the mode of unordered and operands[1] to
274         SImode.
275         (seq): Adjust gen_cmp*_media calls.  Make the mode of
276         a temporary result of compare SImode if needed.  If the mode
277         of operands[0] is DImode, extend the temporary result to DImode.
278         (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
279         (sunorderd): Change the mode of match_operand and unorderd to
280         SImode.
281         (cmpeq{sf,df}_media): Remove.
282         (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
283         (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
284         and compare operation to SImode.
285
286 2006-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
287
288         * doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
289         instructions.
290         (sparc64-sun-solaris2*): Likewise.
291
292 2006-11-02  Paul Brook  <paul@codesourcery.com>
293
294         * config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
295         from priority argument.  Use different section for non-default
296         priority.
297         * config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.
298
299 2006-11-02  Eric Botcazou  <ebotcazou@adacore.com>
300
301         PR other/29639
302         * except.c (switch_to_exception_section): Do not cache the section
303         if named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
304         and flag_function_sections is set.
305
306 2006-11-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
307
308         PR middle-end/29335
309         * builtins.c (do_mpfr_sincos): New.
310         (fold_builtin_1): Use it to fold builtin sincos.
311
312 2006-11-01  Roger Sayle  <roger@eyesopen.com>
313
314         * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
315         it into -D_REENTRANT.
316
317 2006-11-01  Roger Sayle  <roger@eyesopen.com>
318
319         * configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine
320         whether the assembler supports taking the difference of symbols in
321         different sections.  On x86/Solaris, GAS does but Solaris as doesn't.
322         * configure: Regenerate.
323         * config.in: Regenerate.
324         * config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if
325         the assembler doesn't support taking the difference of symbols in
326         different sections, i.e. we're using the native solaris assembler.
327
328 2006-11-01  Pete Steinmetz  <steinmtz@us.ibm.com>
329             Peter Bergner  <bergner@vnet.ibm.com>
330
331         * doc/invoke.texi: Add cpu_type power6x
332         (RS/6000 and PowerPC Options): Add -mmfpgpr.
333         * config.gcc: Add cpu_type power6x.
334         * configure.ac: Add test for mf{t,f}gpr instructions.
335         (HAVE_AS_MFPGPR): New.
336         * config.in: Regenerate.
337         * configure: Regenerate.
338         * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6x.
339         * config/rs6000/rs6000.md (define_attr "type"): Add insert_dword,
340         shift,trap,var_shift_rotate,cntlz,exts, var_delayed_compare, mffgpr
341         and mftgpr attributes.
342         (define_attr "cpu"): Add power6.
343         Change instruction sequences to use new attributes.
344         (floatsidf2,fix_truncdfsi2): use TARGET_MFPGPR.
345         (fix_truncdfsi2_mfpgpr): New.
346         (floatsidf_ppc64_mfpgpr): New.
347         (floatsidf_ppc64): Added !TARGET_MFPGPR condition.
348         (movdf_hardfloat64_mfpgpr,movdi_mfpgpr): New.
349         (movdf_hardfloat64): Added !TARGET_MFPGPR condition.
350         (movdi_internal64): Added !TARGET_MFPGPR and related conditions.
351         (fix_truncdfsi2): Use gpc_reg_operand constraint.
352         * config/rs6000/{6xx.md,power4.md,8540.md,603.md,mpc.md,
353         7xx.md,rios2.md,7450.md,440.md,rios1.md,rs64.md,power5.md,40x.md}:
354         Add descriptions for insert_dword, shift,trap,var_shift_rotate,
355         cntlz,exts and var_delayed_compare.
356         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
357         _ARCH_PWR6X, if features enabled.
358         * config/rs6000/rs6000.opt (mmfpgpr): New.
359         * config/rs6000/rs6000.c (rs6000_align_branch_targets): New variable.
360         (cached_can_issue_more): New variable.
361         (processor_costs): Add power6_cost.
362         (rs6000_sched_init): New function.
363         (is_dispatch_slot_restricted): Deleted.
364         (set_to_load_agen): New function.
365         (is_load_insn,is_store_insn): New functions.
366         (adjacent_mem_locations): New function.
367         (insn_must_be_first_in_group): New function.
368         (insn_must_be_last_in_group): New function.
369         (rs6000_sched_reorder): New function.
370         (rs6000_sched_reorder2): New function.
371         (TARGET_SCHED_INIT,TARGET_SCHED_REORDER,
372         TARGET_SCHED_REORDER2): Define.
373         (processor_target_table): Use PROCESSOR_POWER6 for power6.
374         Add power6x. Add MASK_MFPGPR for power6x.
375         (POWERPC_MASKS): Add MASK_MFPGPR.
376         (rs6000_override_options): Set rs6000_always_hint to false
377         for power6.  Set rs6000_align_branch_targets. Replace
378         rs6000_sched_groups check with rs6000_align_branch_targets.
379         Use PROCESSOR_POWER6.
380         (last_scheduled_insn): New variable.
381         (load_store_pendulum): New variable.
382         (rs6000_variable_issue): Set last_scheduled_insn and
383         cached_can_issue_more.
384         (rs6000_adjust_cost): Add power6 cost adjustments.
385         (rs6000_adjust_priority): Replace is_dispatch_slot_restricted
386         with insn_must_be_first_in_group. Add power6 priority adjustments.
387         (rs6000_issue_rate): Add CPU_POWER6.
388         (insn_terminates_group_p): Use insn_must_be_{first,last}_in_group.
389         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER6.
390         (TARGET_MFPGPR): New.
391         (SECONDARY_MEMORY_NEEDED): Use TARGET_MFPGPR.
392         (ASM_CPU_SPEC): Add power6x.
393         (SECONDARY_MEMORY_NEEDED): Added mode!=DFmode and mode!=DImode
394         conditions.
395         * config/rs6000/power6.md: New file.
396
397 2006-11-01  Adam Nemet  <anemet@caviumnetworks.com>
398
399         * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
400         HOST_WIDE_INT_PRINT to print high and low parts.  Use
401         HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT.  When
402         printing a hexadecimal number prefix it with 0x.
403
404 2006-11-01  Chris Johns <chris@contemporary.net.au>
405
406         PR bootstrap/28400
407         * Makefile.in (install-driver): Use exeext when installing
408         $target-gcc-$version.
409
410 2006-11-01      Douglas Gregor <doug.gregor@gmail.com>
411
412         * c-common.c (flag_cpp0x): New.
413         * c-common.h (flag_cpp0x): New.
414         * c-cppbuiltin.c (c_cpp_builtins): If C++0x extensions are
415         supported, define __GXX_EXPERIMENTAL_CPP0X__.
416         * c-opts.c (set_std_cxx0x): New.
417         (c_common_handle_option): Handle -std=c++0x, -std=gnu++0x.
418         * c.opt (std=c++0x): Document.
419         (std=gnu++0x): Ditto.
420         * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CPP0X__.
421         * doc/invoke.texi: Document -std=c++0x, -std=gnu++0x.
422
423 2006-11-01  Richard Guenther  <rguenther@suse.de>
424
425         * config/i386/i386.c (ix86_expand_rint): Fix issues with
426         signed zeros.
427         (ix86_expand_floorceildf_32): Likewise.
428         (ix86_expand_floorceil): Likewise.
429         (ix86_expand_trunc): Likewise.
430
431 2006-10-31  Andrew Pinski  <pinskia@gmail.com>
432
433         * doc/invoke.texi (-fkeep-inline-functions): Change "GNU C"
434         to "GNU C89".
435
436 2006-11-01  Danny Smith  <dannysmith@users.sourceforge.net>
437
438         * target.h (targetm.cxx.use_atexit_for_cxa_atexit): New target
439         hook.
440         * target-def.h: (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Define
441         default.
442         * config/i386/mingw32.h (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT):
443         Override default.
444         * doc/tm.texi (TARGET_CXX_USE_ATEXIT_FOR_CXA_ATEXIT): Document.
445         * configure.ac (use_cxa_atexit): As a special case, don't test
446         for libc definition of __cxa_atexit on mingw32
447         * configure: Regenerate.
448         * config.gcc (i[34567]86-pc-mingw32): Default to
449         enable__cxa_atexit=yes.
450
451 2006-11-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
452
453         * builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
454
455 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
456
457         PR 23067
458         * c-decl.c (start_struct): Don't create self-containing
459         structures.
460         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
461         New.
462         * config/rs6000/rs6000-protos.h
463         (darwin_rs6000_special_round_type_align): New.
464         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
465         (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
466
467 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
468
469         * toplev.c (compile_file): Call final_write_globals
470         even if there have been errors.
471         
472 2006-10-31  Eric Christopher  <echristo@apple.com>
473             Falk Hueffner  <falk@debian.org>
474
475         * doc/extend.texi (__builtin_bswap32): Document.
476         (__builtin_bswap64): Ditto.
477         * doc/libgcc.texi (bswapsi2): Document.
478         (bswapdi2): Ditto.
479         * doc/rtl.texi (bswap): Document.
480         * optabs.c (expand_unop): Don't widen a bswap.
481         (init_optabs): Init bswap. Set libfuncs explicitly
482         for bswapsi2 and bswapdi2.
483         * optabs.h (OTI_bswap): New.
484         (bswap_optab): Ditto.
485         * genopinit.c (optabs): Handle bswap_optab.
486         * tree.h (tree_index): Add TI_UINT32_TYPE and
487         TI_UINT64_TYPE.
488         (uint32_type_node): New.
489         (uint64_type_node): Ditto.
490         * tree.c (build_common_tree_nodes_2): Initialize
491         uint32_type_node and uint64_type_node.
492         * builtins.c (expand_builtin_bswap): New.
493         (expand_builtin): Call.
494         (fold_builtin_bswap): New.
495         (fold_builtin_1): Call.
496         * fold-const.c (tree_expr_nonnegative_p): Return true
497         for bswap.
498         * builtin-types.def (BT_UINT32): New.
499         (BT_UINT64): Ditto.
500         (BT_FN_UINT32_UINT32): Ditto.
501         (BT_FN_UINT64_UINT64): Ditto.
502         * builtins.def (BUILT_IN_BSWAP32): New.
503         (BUILT_IN_BSWAP64): Ditto.
504         * rtl.def (BSWAP): New.
505         * genattrtab.c (check_attr_value): New.
506         * libgcc2.c (__bswapSI2): New.
507         (__bswapDI2): Ditto.
508         * libgcc2.h (__bswapSI2): Declare.
509         (__bswapDI2): Ditto.
510         * mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
511         * simplify-rtx.c (simplify_const_unary_operation): Return
512         0 for BSWAP.
513         * libgcc-std.ver (__bwapsi2): Add.
514         (__bswapdi2): Ditto.
515         * reload1.c (eliminate_regs_1): Add bswap.
516         (elimination_effects): Ditto.
517         * config/i386/i386.h (x86_bswap): New.
518         (TARGET_BSWAP): Use.
519         * config/i386/i386.c (x86_bswap): Set.
520
521 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
522
523         * coverage.c (coverage_checksum_string): Update comment.
524         * dwarf2out.c (switch_to_eh_frame_section): Update for removal
525         of get_file_function_name.
526         * cgraphunit.c (cgraph_build_static_cdtor): Update for rename
527         of get_file_function_name_long.
528         * tree.c (get_file_function_name): Rename from
529         get_file_function_name_long; improve comment; handle 'I' and 'D'
530         specially when the target has ctor/dtor support; remove special
531         handling for 'F'.
532         (get_file_function_name): Remove.
533         * tree.h (get_file_function_name): Rename from
534         get_file_function_name_long.
535         (get_file_function_name): Remove prototype.
536
537 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
538
539         * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
540         * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
541
542         * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
543         Call dsymutil when compiling and linking one or more source files
544         in one step.
545
546 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
547
548         PR 15834
549         * config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
550
551 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
552
553         * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
554         inline static functions in c99 mode.
555
556         PR 16622
557         * doc/extend.texi (Inline): Update.
558         * c-tree.h (struct language_function): Remove field 'extern_inline'.
559         * c-decl.c (current_extern_inline): Delete.
560         (pop_scope): Adjust test for an undefined nested function.
561         Add warning about undeclared inline function.
562         (diagnose_mismatched_decls): Update comments.  Disallow overriding
563         of inline functions in a translation unit in C99.  Allow inline
564         declarations in C99 at any time.
565         (merge_decls): Boolize variables.  Handle C99 'extern inline'
566         semantics.
567         (grokdeclarator): Set DECL_EXTERNAL here for functions.  Handle
568         C99 inline semantics.
569         (start_function): Don't clear current_extern_inline.  Don't set
570         DECL_EXTERNAL.
571         (c_push_function_context): Don't push current_extern_inline.
572         (c_pop_function_context): Don't restore current_extern_inline.
573
574         PR 11377
575         * c-typeck.c (build_external_ref): Warn about static variables
576         used in extern inline functions.
577         * c-decl.c (start_decl): Warn about static variables declared
578         in extern inline functions.
579
580 2006-10-31  Roger Sayle  <roger@eyesopen.com>
581
582         PR middle-end/23470
583         * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
584         * fold-const.c (tree_expr_nonnegative_p): Likewise.  Consider
585         pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
586         or y is an even integer.
587
588 2006-10-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
589
590         PR target/24071
591         * gthr-posix.h (__gthread_active_p): New implementation on Solaris.
592         * gthr-posix95.h (__gthread_active_p): Likewise.
593
594 2006-10-31  Richard Guenther  <rguenther@suse.de>
595
596         * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
597         acossf2, acosxf2, log1psf2, log1pdf2, log1pxf2, ilogbsi2,
598         expsf2, expdf2, expxf2, exp10sf2, exp10df2, exp10xf2,
599         exp2sf2, exp2df2, exp2xf2, expm1df2, expm1sf2, expm1xf2,
600         ldexpdf3, ldexpsf3, ldexpxf3, rintxf2, rintdf2, rintsf2,
601         lround<mode>di2, lround<mode>si2, floorxf2, floordf2, floorsf2,
602         lfloor<mode>di2, lfloor<mode>si2, ceilxf2, ceildf2, ceilsf2,
603         btruncxf2, btruncdf2, btruncsf2): Conditionalize expansion on
604         !optimize_size.
605
606 2006-10-31  Steven Bosscher  <steven@gcc.gnu.org>
607
608         * opts.c (decode_options): Disable CSE skip blocks.
609
610 2006-10-30  Dirk Mueller  <dmueller@suse.de>
611
612         * c-common.h (strict_aliasing_warning): Fix whitespace.
613         * c-decl (start_function): Move code for main decl warning ..
614         * c-common.c (check_main_parameter_types): .. here.
615         * c-common.h (check_main_parameter_types): Declare.
616
617 2006-10-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
618
619         PR middle-end/29335
620         * builtins.c (fold_builtin_1): Evaluate tgamma using MPFR.
621
622 2006-10-30  Pete Steinmetz  <steinmtz@us.ibm.com>
623
624         * recog.c (store_data_bypass_p): Add support to allow IN_INSN to
625         be a PARALLEL containing sets.  Return false when out_pat is not
626         a PARALLEL insn.
627
628 2006-10-30  Richard Sandiford  <richard@codesourcery.com>
629
630         * config/mips/mips.md (mul<mode>3): Split into...
631         (mulsi3, muldi3): ...these separate patterns.
632
633 2006-10-30  Richard Sandiford  <richard@codesourcery.com>
634
635         * config/mips/linux64.h (DRIVER_SELF_SPECS): Use a single spec,
636         but with each set of options separated by spaces.
637
638 2006-10-30  J"orn Rennecke  <joern.rennecke@st.com>
639
640         * unwind-dw2.c (uw_init_context_1): Fix test that checks if
641         dwarf_reg_size_table has been initialized.
642
643 2006-10-30  Roger Sayle  <roger@eyesopen.com>
644
645         * builtins.c (expand_builtin_mathfn_3): Correct coding style.
646         * ddg.c (print_ddg_edge): Likewise.
647         * dwarf2out.c (prune_unused_types_walk): Likewise.
648         * ifcvt.c (noce_try_cmove_arith): Likewise.
649         * langhooks.c (add_builtin_function): Likewise.
650         * reg-stack.c (subst_stack_regs_pat): Likewise.
651         * tree.c (expanded_location): Likewise.
652         * tree-dump.c (dequeue_and_dump): Likewise.
653
654 2006-10-30  David Daney  <ddaney@avtrex.com>
655
656         * config/mips/linux.h (NO_SHARED_SPECS): Correct syntax error.
657
658 2006-10-30  Jakub Jelinek  <jakub@redhat.com>
659
660         PR tree-optimization/29637
661         * tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
662         of the innertype is the innertype itself.
663
664 2006-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
665
666         * dwarf2out.c (file_name_acquire): Correct typo.
667
668 2006-10-29  Daniel Berlin  <dberlin@dberlin.org>
669
670         * tree.h (tree_value_handle): Remove struct value_set declaration.      
671         Change value_set to bitmap_set.
672         * tree-pretty-print.c (dump_generic_node): Use has_stmt_ann.
673         * tree-vn.c (get_value_handle): Made inline and moved to
674         tree-flow-inline.h.
675         * tree-flow-inline.h: (has_stmt_ann): New function.
676         * tree-ssa-pre.c (expressions): New variable.
677         (next_expression_id): Ditto.
678         (alloc_expression_id): New function.
679         (struct value_set): Remove.
680         (get_expression_id): New function.
681         (get_or_alloc_expression_id): Ditto.
682         (expression_for_id): Ditto.
683         (clear_expression_ids): Ditto.
684         (FOR_EACH_EXPR_ID_IN_SET): New macro.
685         (bb_value_sets): Renamed to bb_bitmap_sets.
686         All value sets replaced with bitmap_sets.
687         Add visited member.
688         (BB_VISITED): New macro.
689         (postorder): New variable.
690         (add_to_value): Removed.
691         (value_exists_in_set_bitmap): Ditto.
692         (value_insert_into_set_bitmap): Ditto.
693         (set_new): Ditto.
694         (set_copy): Ditto.
695         (set_remove): Ditto.
696         (set_contains_value): Ditto.
697         (insert_into_set): Ditto.
698         (set_equal): Ditto.
699         (find_leader): Ditto.
700         (bitmap_set_subtract_from_value_set): Ditto.
701         (value_insert_into_set): Ditto.
702         (print_value_set): Ditto.
703         (debug_value_set): Ditto.
704         (constant_expr_p): New function.
705         (bitmap_remove_from_set): Ditto.
706         (bitmap_insert_into_set): Ditto.
707         (bitmap_set_free): Ditto.
708         (vh_compare): Ditto.
709         (sorted_array_from_bitmap_set): Ditto.
710         (bitmap_set_subtract): Ditto.
711         (bitmap_set_equal): Ditto.
712         (debug_bitmap_set): Ditto.
713         (find_leader_in_sets): Ditto.
714         (bitmap_set_replace_value): Modify for bitmapped sets.
715         (phi_translate): Ditto.
716         (phi_translate_set): Ditto.
717         (bitmap_find_leader): Ditto.
718         (valid_in_sets): Ditto.
719         (union_contains_value): Ditto.
720         (clean): Ditto.
721         (compute_antic_aux): Ditto.  Mark changed blocks.
722         (compute_antic): Ditto. Iterate in postorder and only over
723         changing blocks.
724         (compute_rvuse_and_antic_safe): Reuse postorder.
725         (create_component_ref_by_pieces): Modify for bitmapped sets.
726         (find_or_generate_expression): Ditto.
727         (create_expression_by_pieces): Ditto.
728         (insert_into_preds_of_block): Ditto.
729         (changed_blocks): New variable.
730         (do_regular_insertion): Broken out from insert_aux.
731         (insert_aux): Modified for bitmapped sets.
732         (find_existing_value_expr): New function.
733         (create_value_expr_from): Use it.
734         (insert_extra_phis): Removed.
735         (print_bitmap_set): Renamed from bitmap_print_value_set.
736         (compute_avail): Handle RETURN_EXPR.
737         (init_pre): Modify for bitmapped sets.
738         * tree-flow.h (has_stmt_ann): New function.
739         
740 2006-10-29  Roger Sayle  <roger@eyesopen.com>
741
742         * builtins.c (fold_builtin_floor): Check for the availability of
743         the C99 trunc function before transforming floor into trunc.
744
745 2006-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
746
747         * builtins.c (fold_builtin_hypot): Rearrange recursive
748         transformation before others, and also do ABS_EXPR.  When
749         necessary, check flag_unsafe_math_optimizations.  When necessary,
750         add fabs.
751
752 2006-10-29  Roger Sayle  <roger@eyesopen.com>
753
754         * fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
755         Fold ~X op C as X op' ~C, where op' is the swapped comparison.
756         (fold_binary): ~X eq/ne C is now handled in fold_comparison.
757         Fold -X eq/ne -Y as X eq/ne Y.
758
759 2006-10-29  Richard Sandiford  <richard@codesourcery.com>
760
761         * config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
762         GENERATE_MULT3_<MODE>.  Restrict the test to SImode.  Use ISA_HAS_MUL3
763         rather than GENERATE_MULT3_SI in the various define_peephole2s.
764         (mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
765         Use an inclusive test for "mult" rather than "mul".
766         (rotr<mode>3): Depend on ISA_HAS_ROR.
767         * config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
768         ISA_HAS_MUL3.
769         (GENERATE_MULT3_DI): Delete.
770         (ISA_HAS_64BIT_REGS): Use consistent formatting.
771         (ISA_HAS_MUL3): New macro.
772         (ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
773         (ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
774         (ISA_HAS_CLZ_CLO): Likewise.
775         (ISA_HAS_DCLZ_DCLO): Delete.
776         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
777         (ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
778         the VR4120 and VR4130.
779         (ISA_HAS_MACCHI): Use consistent formatting.
780         (ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
781         (ISA_HAS_ROR): ...this new macro.
782         (ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
783         (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
784         (ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
785
786 2006-10-29  Roger Sayle  <roger@eyesopen.com>
787
788         PR tree-optimization/15458
789         * fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
790         is a constant.
791
792 2006-10-29  Richard Guenther  <rguenther@suse.de>
793
794         * config/i386/i386-protos.h (ix86_expand_trunc): Declare.
795         (ix86_expand_truncdf_32): Likewise.
796         * config/i386/i386.c (ix86_expand_trunc): New function expanding
797         trunc inline for SSE math and -fno-trapping-math and if not
798         optimizing for size.
799         (ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
800         * config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
801         for expanding btrunc inline for SSE math.
802
803 2006-10-29  Joseph Myers  <joseph@codesourcery.com>
804
805         * config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
806         Handle tuning for bi-arch i[34567]86-*-linux* like that for
807         i[34567]86-*-solaris2.1[0-9]*.
808         * config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
809         Define conditionally depending on TARGET_64BIT_DEFAULT.
810         (SPEC_32, SPEC_64): Define.
811         (LINK_SPEC): Use them.
812         * doc/install.texi (--enable-targets=all): Document for x86-linux.
813
814 2006-10-29  Richard Guenther  <rguenther@suse.de>
815
816         * config/i386/i386-protos.h (ix86_expand_round): Declare.
817         (ix86_expand_rounddf_32): Likewise.
818         * config/i386/i386.c (ix86_expand_round): New function expanding
819         round inline for SSE math and -fno-trapping-math and if not
820         optimizing for size.
821         (ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
822         * config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
823         round via ix86_expand_round.
824
825 2006-10-29  Richard Guenther  <rguenther@suse.de>
826
827         * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
828         (ix86_expand_floorceildf_32): Likewise.
829         * config/i386/i386.c (ix86_expand_sse_compare_mask): New
830         static helper function.
831         (ix86_expand_floorceil): Expander for floor and ceil to SSE
832         math.
833         (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
834         * config/i386/i386.md (floordf2): Adjust to enable floor
835         expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
836         -fno-trapping-math is enabled and if not optimizing for size.
837         (floorsf2, ceildf2, ceilsf2): Likewise.
838         * config/i386/sse.md (sse_maskcmpsf3): New insn.
839         (sse2_maskcmpdf3): Likewise.
840
841 2006-10-29  Richard Guenther  <rguenther@suse.de>
842
843         * builtins.c (expand_builtin_mathfn): Expand nearbyint as
844         rint in case -fno-trapping-math is enabled.
845         * config/i386/i386-protos.h (ix86_expand_rint): Declare.
846         * config/i386/i386.c (ix86_gen_TWO52): New static helper function.
847         (ix86_expand_sse_fabs): Likewise.
848         (ix86_expand_rint): New function expanding rint to x87 or SSE math.
849         * config/i386/i386.md (rintdf2): Enable for SSE math if
850         -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
851         (rintsf2): Likewise.
852
853 2006-10-29  Richard Guenther  <rguenther@suse.de>
854
855         * genopinit.c (optabs): Change lfloor_optab and lceil_optab
856         to conversion optabs.
857         * optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
858         as conversion optab.
859         * optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
860         (enum convert_optab_index): Add COI_lfloor and COI_lceil.
861         (lfloor_optab, lceil_optab): Adjust defines.
862         * builtins.c (expand_builtin_int_roundingfn): Adjust for
863         lfloor and lceil optabs now being conversion optabs.
864         * config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
865         * config/i386/i386.c (ix86_expand_sse_compare_and_jump):
866         New static helper function.
867         (ix86_expand_lfloorceil): New function to expand lfloor and
868         lceil inline.
869         * config/i386/i386.md (lfloor<mode>2): Split into ...
870         (lfloorxf<mode>2): ... x87 variant
871         (lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
872         using ix86_expand_lfloorceil.
873         (lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
874         Likewise.
875         * doc/md.texi (lfloorMN, lceilMN): Document.
876
877 2006-10-29  Richard Sandiford  <richard@codesourcery.com>
878
879         * configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE.  Test for the
880         -mno-shared assembler option on mips targets.
881         * configure, config.in: Regenerate.
882         * config/mips/linux.h (NO_SHARED_SPECS): New macro.
883         (DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
884         * config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
885
886 2006-10-29  Richard Sandiford  <richard@codesourcery.com>
887
888         * config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
889         as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
890
891 2006-10-29  Kazu Hirata  <kazu@codesourcery.com>
892
893         * config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
894         config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
895         comment typos.
896
897 2006-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
898
899         PR middle-end/29335
900         * builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
901         (fold_builtin_pow): Evaluate constant arguments at compile-time
902         using MPFR.
903         (fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
904         (do_mpfr_ckconv): New helper function.
905         (do_mpfr_arg1): Use do_mpfr_ckconv.
906         (do_mpfr_arg2): New.
907
908 2006-10-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
909
910         PR tree-opt/29271
911         * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
912         (-fdump-rtl-sched): Rename to ..
913         (-fdump-rtl-sched1): here.  Also fix file extension number.
914
915 2006-10-28  Richard Guenther  <rguenther@suse.de>
916
917         * fold-const.c (maybe_canonicalize_comparison): Fix code
918         to match comment.
919
920 2006-10-28  Uros Bizjak  <uros@kss-loka.si>
921
922         * config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
923         (NON_QI_REG_P): Use IN_RANGE.
924         (REX_INT_REGNO_P): Use IN_RANGE.
925         (FP_REGNO_P): Use IN_RANGE.
926         (SSE_REGNO_P): Use IN_RANGE.
927         (REX_SSE_REGNO_P): Use IN_RANGE.
928         (MMX_REGNO_P): Use IN_RANGE.
929         (STACK_REGNO_P): New macro.
930         (STACK_REG_P): Use STACK_REGNO_P.
931         (NON_STACK_REG_P): Use STACK_REGNO_P.
932         (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
933         (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
934         (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
935         (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
936         (HARD_REGNO_RENAME_OK): Use !IN_RANGE.
937
938 2006-10-28  Eric Botcazou  <ebotcazou@adacore.com>
939
940         * except.h (output_function_exception_table): Add 'const char*' param.
941         * except.c (switch_to_exception_section): Add 'const char*' param.
942         If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
943         and flag_function_sections is set, use a function-specific section.
944         (output_function_exception_table): Add 'const char*' param.
945         Adjust call to switch_to_exception_section.
946         * final.c (rest_of_handle_final): Adjust calls to
947         output_function_exception_table.
948         * configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
949         * config.in: Regenerate.
950         * configure: Likewise.
951
952 2006-10-28  Richard Guenther  <rguenther@suse.de>
953
954         PR middle-end/26899
955         * fold-const.c (maybe_canonicalize_comparison_1): Helper
956         for maybe_canonicalize_comparison.
957         (maybe_canonicalize_comparison): New function for canonicalizing
958         comparison trees.
959         (fold_comparison): Call it to canonicalize comparisons with
960         constants involved.
961
962 2006-10-28  Richard Guenther  <rguenther@suse.de>
963
964         PR target/28806
965         * builtins.c (expand_builtin_int_roundingfn_2): Expand
966         BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
967         (expand_builtin): Adjust likewise.
968         * genopinit.c (optabs[]): Add lround optab.
969         * optabs.c (init_optabs): Initialize lround_optab.
970         * optabs.h (enum convert_optab_index): Add COI_lround.
971         (lround_optab): Define.
972         * config/i386/i386-protos.h (ix86_expand_lround): Declare.
973         * config/i386/i386.c (ix86_sse_copysign_to_positive): New
974         static function.
975         (ix86_expand_lround): New function.
976         * config/i386/i386.md (lround<mode>di2, lround<mode>si2):
977         New expanders.
978         * doc/md.texi (lroundMN2): Document.
979
980 2006-10-28 Uros Bizjak <uros@kss-loka.si>
981
982         PR target/29377
983         * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
984         argument to HOST_WIDE_INT.  Update function prototype.
985         (round_frame_size): Change return type to HOST_WIDE_INT.  Change
986         "size" argument to HOST_WIDE_INT.  Update function prototype.
987
988 2006-10-28 Uros Bizjak <uros@kss-loka.si>
989
990         * config/i386/i386.c (output_387_ffreep): Create output from a
991         template string for !HAVE_AS_IX86_FFREEP.
992         
993 2006-10-27  Eric Christopher  <echristo@apple.com>
994
995         * config/darwin.c: Fix formatting and grammar.
996
997 2006-10-27  Jan Hubicka  <jh@suse.cz>
998
999         * builtins.c (fold_builtin): Don't generate NOP_EXPR that is going
1000         to be thrown away soon when IGNORE is set.
1001         * tree-ssa-ccp.c (convert_to_gimple_builtin): Add IGNORE argument
1002         indicating when return value shall not be computed.
1003         * gimplify.c (internal_get_tmp_var): Avoid random tree sharing.
1004
1005 2006-10-27  Vladimir Makarov  <vmakarov@redhat.com>
1006
1007         * config/i386/i386.h (TARGET_GEODE):
1008         (TARGET_CPU_CPP_BUILTINS): Add code for geode.
1009         (TARGET_CPU_DEFAULT_geode): New macro.
1010         (TARGET_CPU_DEFAULT_k6, TARGET_CPU_DEFAULT_k6_2,
1011         TARGET_CPU_DEFAULT_k6_3, TARGET_CPU_DEFAULT_athlon,
1012         TARGET_CPU_DEFAULT_athlon_sse, TARGET_CPU_DEFAULT_k8,
1013         TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_prescott,
1014         TARGET_CPU_DEFAULT_nocona, TARGET_CPU_DEFAULT_generic): Increase
1015         the macro values.
1016         (TARGET_CPU_DEFAULT_NAMES): Add geode.
1017         (processor_type): Add PROCESSOR_GEODE.
1018
1019         * config/i386/i386.md: Include geode.md.
1020         (cpu): Add geode.
1021
1022         * config/i386/i386.c (geode_cost): New initialized global
1023         variable.
1024         (m_GEODE, m_K6_GEODE): New macros.
1025         (x86_use_leave, x86_push_memory, x86_deep_branch, x86_use_sahf,
1026         x86_use_himode_fiop, x86_promote_QImode, x86_add_esp_4,
1027         x86_add_esp_8, x86_rep_movl_optimal, x86_ext_80387_constants,
1028         x86_schedule): Use m_K6_GEODE instead of m_K6.
1029         (x86_movx, x86_cmove): Set up m_GEODE.
1030         (x86_integer_DFmode_moves): Clear m_GEODE.
1031         (processor_target_table): Add entry for geode.
1032         (processor_alias_table): Ditto.
1033
1034         * config/i386/geode.md: New file.
1035
1036         * doc/invoke.texi: Add entry about geode processor.
1037
1038 2006-10-27  Mike Stump  <mrs@apple.com>
1039
1040         * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
1041         __DYNAMIC__ from here back to ...
1042         * config/darwin.h (CPP_SPEC): ... here.
1043
1044 2006-10-26  Nathan Froyd  <froydnj@codesourcery.com>
1045             Nathan Sidwell  <nathan@codesourcery.com>
1046
1047         * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
1048         when choosing the minimum heapsize.
1049
1050 2006-10-26  Nathan Froyd <froydnj@codesourcery.com>
1051
1052         * gcc/unwind-dw2.h: Move cfa-related variables into
1053         struct frame_state_reg_info to ensure that the CFA is properly
1054         handled when executing DW_CFA_{remember,restore}_state.
1055         * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h,
1056         gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h
1057         gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h
1058         gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h
1059         gcc/config/rs6000/linux-unwind.h,
1060         gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h,
1061         gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h:
1062         Modify to use new cfa_* fields.
1063
1064 2006-10-26  Andreas Krebbel  <krebbel1@de.ibm.com>
1065
1066         * config/s390/s390.c (s390_init_frame_layout): Check positive
1067         frame_size.
1068
1069 2006-10-26  Ben Elliston  <bje@au.ibm.com>
1070
1071         * gimplify.c (get_name): Remove extraneous break.
1072         (gimplify_omp_for): Initialise ret with GS_OK.
1073
1074 2006-10-25  Steve Ellcey  <sje@cup.hp.com>
1075
1076         * config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
1077         Add unix98.o to link line.
1078
1079 2006-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1080
1081         PR middle-end/29335
1082         * builtins.c (fold_builtin_cbrt, fold_builtin_logarithm):
1083         Calculate compile-time constants using MPFR.
1084         (fold_builtin_1): Likewise handle BUILT_IN_ERF, BUILT_IN_ERFC,
1085         BUILT_IN_EXPM1 and BUILT_IN_LOG1P.
1086
1087 2006-10-25  Bob Wilson  <bob.wilson@acm.org>
1088
1089         * config/xtensa/lib2funcs.S: Use C-style comments.
1090
1091 2006-10-24  Nathan Froyd  <froydnj@codesourcery.com>
1092
1093         * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
1094         (file_table_relative_p): Likewise.
1095         (dwarf2out_finish): Likewise.
1096         (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
1097
1098 2006-10-25  Daniel Berlin  <dberlin@dberlin.org>
1099
1100         * tree-ssa-structalias.c (intra_create_variable_infos):
1101           Don't recreate nonlocal_all if it already exists.
1102
1103 2006-10-25  Richard Guenther  <rguenther@suse.de>
1104
1105         PR target/28803
1106         * optabs.h (enum optab_index): Remove OTI_lrint.
1107         (enum convert_optab_index): Add COI_lrint.
1108         (lrint_optab): Adjust.
1109         (expand_sfix_optab): Declare.
1110         * optabs.c (expand_sfix_optab): New function.
1111         (init_optabs): Init lrint_optab as conversion optab.
1112         * genopinit.c (lrint_optab): Change to a conversion optab.
1113         * builtins.c (expand_builtin_int_roundingfn_2): Adjust to
1114         expansion via conversion optab.
1115         * config/i386/i386.md (*fistdi2_1): Remove
1116         flag_unsafe_math_optimizations guard.
1117         (fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
1118         fist<mode>2_with_temp): Likewise.
1119         (lrint<mode>2): Split into...
1120         (lrintxf<mode>2): ... x87 part
1121         (lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
1122         * config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
1123         sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
1124         UNSPEC_FIX_NOTRUNC matching non-vector float modes.
1125         * doc/md.texi (lrintMN2): Document.
1126
1127 2006-10-25  Uros Bizjak  <uros@kss-loka.si>
1128
1129         PR target/28909
1130         * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
1131         Use inc and dec instructions for TARGET_USE_INCDEC.
1132         ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
1133         ("sync_double_compare_and_swap<mode>"): Likewise.
1134         ("*sync_double_compare_and_swapdi_pic"): Likewise.
1135         ("*sync_compare_and_swap_cc<mode>"): Likewise.
1136         ("sync_double_compare_and_swap_cc<mode>"): Likewise.
1137         ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
1138         ("sync_old_add<mode>"): Likewise.
1139         ("sync_lock_test_and_set<mode>"): Likewise.
1140         ("sync_lock_test_and_set<mode>"): Likewise.
1141         ("sync_add<mode>"): Likewise.
1142         ("sync_sub<mode>"): Likewise.
1143         ("sync_ior<mode>"): Likewise.
1144         ("sync_and<mode>"): Likewise.
1145         ("sync_xor<mode>"): Likewise.
1146
1147 2006-10-25  Uros Bizjak  <uros@kss-loka.si>
1148
1149         * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
1150         (remainder_optab): Define corresponding macro.
1151         (drem_optab): Remove.
1152         * optabs.c (init_optabs): Initialize remainder_optab.  Remove
1153         drem_optab initialization.
1154         * genopinit.c (optabs): Implement remainder_optab using
1155         remainder?f3 patterns.  Remove drem_optab.
1156         * builtins.c (expand_builtin_mathfn_2): Handle
1157         BUILT_IN_REMAINDER{,F,L} using remainder_optab.
1158         (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
1159         expand_builtin_mathfn_2.
1160
1161         (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
1162         depend on flag_unsafe_math_optimizations.
1163
1164         * config/i386/i386.md ("remaindersf3", "remainderdf3")
1165         ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
1166         Do not depend on flag_unsafe_math_optimizations.  Use
1167         truncxf?f expander instead of truncxf?f_i387_noop.
1168
1169         ("fpremxf4", "fprem1xf4"): Do not depend on
1170         flag_unsafe_math_optimizations.
1171         ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
1172         flag_unsafe_math_optimizations.  Use truncxf?f expander
1173         instead of truncxf?f_i387_noop.
1174
1175         * doc/md.texi (fmod, remainder): Document standard named pattern.
1176
1177 2006-10-24  Richard Sandiford  <richard@codesourcery.com>
1178             David Daney  <ddaney@avtrex.com>
1179
1180         PR middle-end/29519
1181         * rtlanal.c (nonzero_address_p):  Remove check for values wrapping.
1182
1183 2006-10-25  Ben Elliston  <bje@au.ibm.com>
1184
1185         * doc/extend.texi (Variable Attributes): Typo fix.
1186
1187 2006-10-24  Uros Bizjak  <uros@kss-loka.si>
1188
1189         * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Define to 54.
1190         (FIXED_REGISTERS, CALL_USED_REGISTERS): Add fpcr register.
1191         (REG_ALLOC_ORDER): Add one element to allocate fpcr register.
1192         (FRAME_POINTER_REGNUM): Update register number to 21.
1193         (REG_CLASS_CONTENTS): Update contents for added fpcr register.
1194         (HI_REGISTER_NAMES): Add "fpcr" for fpcr register.
1195
1196         * config/i386/i386.c (regclass_map): Add fpcr entry.
1197         (dbx_register_map, dbx64_register_map, svr4_dbx_register_map):
1198         Add fpcr entry.
1199         (print_reg): Assert REGNO (x) != FPCR_REG.
1200
1201         * config/i386/i386.md (FPCR_REG, R11_REG): New constants.
1202         (DIRFLAG_REG): Renumber.
1203         (x86_fnstcw_1, x86_fldcw_1): Use FPCR_REG instead of FPSR_REG.
1204         (*sibcall_1_rex64_v, *sibcall_value_1_rex64_v): Use R11_REG.
1205         (sse_prologue_save, *sse_prologue_save_insn): Renumber
1206         hardcoded SSE register numbers.
1207
1208         * config/i386/mmx.md (mmx_emms, mmx_femms): Renumber
1209         hardcoded MMX register numbers.
1210
1211 2006-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1212
1213         PR middle-end/29335
1214         * builtins.c (fold_builtin_sin, fold_builtin_atan): Remove.
1215         (do_mpfr_arg1): Add `min', `max' and `inclusive' arguments.
1216         Update all callers.
1217         (BUILT_IN_SIN, BUILT_IN_ATAN): Handle in main switch.
1218         (BUILT_IN_ASIN, BUILT_IN_ACOS, BUILT_IN_ATAN, BUILT_IN_ASINH,
1219         BUILT_IN_ACOSH, BUILT_IN_ATANH, BUILT_IN_SINH, BUILT_IN_COSH,
1220         BUILT_IN_TANH): Calculate compile-time arguments using MPFR.
1221
1222 2006-10-24  Richard Guenther  <rguenther@suse.de>
1223
1224         PR middle-end/28796
1225         * builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
1226         and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
1227         for deciding optimizations in consistency with fold-const.c
1228         (fold_builtin_unordered_cmp): Likewise.
1229
1230 2006-10-24  Richard Guenther  <rguenther@suse.de>
1231
1232         * builtins.c (fold_builtin_floor): Fold floor (x) where
1233         x is nonnegative to trunc (x).
1234         (fold_builtin_int_roundingfn): Fold lfloor (x) where x is
1235         nonnegative to FIX_TRUNC_EXPR.
1236
1237 2006-10-24  Richard Guenther  <rguenther@suse.de>
1238
1239         PR tree-optimization/29567
1240         * tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
1241         for TRUTH_NOT_EXPR.  Clarify comments.
1242
1243 2006-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1244
1245         PR middle-end/29335
1246         * builtins.c (fold_builtin_exponent): Evaluate constant arguments
1247         at compile-time using MPFR.  Change parameter VALUE to FUNC,
1248         update all callers.
1249         (do_mpfr_arg1): Rename `exact' to `inexact'.  Carefully check
1250         for overflow and underflow at all times and avoid folding in
1251         those cases.
1252
1253 2006-10-24  Ben Elliston  <bje@au.ibm.com>
1254
1255         * reload1.c: Formatting fixes.
1256
1257 2006-10-23  Zdenek Dvorak <dvorakz@suse.cz>
1258
1259         PR tree-optimization/14784
1260         * tree-flow.h (struct var_ann_d): Add is_heapvar bit.
1261         * tree-ssa-structalias.c (get_constraint_for,
1262         intra_create_variable_infos): Set is_heapvar.
1263         * tree-ssa-operands.c (access_can_touch_variable): Do not handle
1264         non-heapvar pointer variables specially.
1265
1266 2006-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1267
1268         PR middle-end/29335
1269         * builtins.c (fold_builtin_sin, fold_builtin_cos,
1270         fold_builtin_tan): Fold all constant arguments.  Take a "type"
1271         argument as necessary.
1272         (do_mpfr_arg1): New.
1273         * real.c, real.h (real_from_mpfr, mpfr_from_real): New.
1274
1275 2006-10-23  Bob Wilson  <bob.wilson@acm.org>
1276
1277         * config/xtensa/lib1funcs.asm: Use C-style comments.
1278
1279 2006-10-23 Rafael Avila de Espindola  <rafael.espindola@gmail.com>
1280
1281         * tree.c (local_define_builtin): Replace calls to
1282         lang_hooks.builtin_function with add_builtin_function.
1283         * c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
1284         c_builtin_function.
1285         * c-tree.h (builtin_function): Rename to c_builtin_function. Change
1286         the signature.
1287         * c-decl.c (builtin_function): Rename to c_builtin_function. Move
1288         common code to add_builtin_function.
1289         * langhooks.c (add_builtin_function): New function.
1290         (lhd_builtin_function): New function.
1291         * langhooks.h (struct lang_hooks): Change the signature of
1292         builtin_function.
1293         (add_builtin_function): New function.
1294         * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
1295         calls to lang_hooks.builtin_function with add_builtin_function.
1296         * c-common.c (decl_builtin_1): Replace calls to
1297         lang_hooks.builtin_function with add_builtin_function.
1298         * config/alpha/alpha.c (alpha_init_builtins): Replace calls to
1299         lang_hooks.builtin_function with add_builtin_function.
1300         * config/frv/frv.c (def_builtin): Replace calls to
1301         lang_hooks.builtin_function with add_builtin_function.
1302         * config/s390/s390.c (s390_init_builtins): Replace calls to
1303         lang_hooks.builtin_function with add_builtin_function.
1304         * config/sparc/sparc.c (def_builtin): Replace calls to
1305         lang_hooks.builtin_function with add_builtin_function.
1306         * config/i386/i386.c (def_builtin): Replace calls to
1307         lang_hooks.builtin_function with add_builtin_function.
1308         * config/sh/sh.c (sh_media_init_builtins): Replace calls to
1309         lang_hooks.builtin_function with add_builtin_function.
1310         * config/c4x/c4x.c (c4x_init_builtins): Replace calls to
1311         lang_hooks.builtin_function with add_builtin_function.
1312         * config/stormy16/stormy16.c (xstormy16_init_builtins):
1313         Replace calls to lang_hooks.builtin_function with
1314         add_builtin_function.
1315         * config/iq2000/iq2000.c (def_builtin):
1316         Replace calls to lang_hooks.builtin_function with
1317         add_builtin_function.
1318         * config/ia64/ia64.c (def_builtin): Replace calls to
1319         lang_hooks.builtin_function with add_builtin_function.
1320         * config/rs6000/rs6000.c (def_builtin): Replace calls to
1321         lang_hooks.builtin_function with add_builtin_function.
1322         (altivec_init_builtins): Replace calls to
1323         lang_hooks.builtin_function with add_builtin_function.
1324         * config/arm/arm.c (def_mbuiltin): Replace calls to
1325         lang_hooks.builtin_function with add_builtin_function.
1326         (arm_init_tls_builtins): Replace calls to
1327         lang_hooks.builtin_function with add_builtin_function.
1328         * config/mips/mips.c (mips_init_builtins): Replace calls to
1329         lang_hooks.builtin_function with add_builtin_function.
1330         * config/bfin/bfin.c (def_builtin): Replace calls to
1331         lang_hooks.builtin_function with add_builtin_function.
1332         * langhooks-def.h (lhd_builtin_function): New function.
1333         (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
1334
1335 2006-10-23  Jakub Jelinek  <jakub@redhat.com>
1336
1337         * builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
1338         BUILT_IN_STRNCAT_CHK.
1339
1340 2006-10-23  Jan Hubicka  <jh@suse.cz>
1341
1342         * builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
1343         don't do conversion from memmove to memcpy here.
1344         (expand_builtin_bcopy, expand_builtin): Update call of
1345         expand_builtin_memmove.
1346         (fold_builtin_memory_op): Do folding of memmove to memcpy here.
1347
1348 2006-10-23  Paul Brook  <paul@codesourcery.com>
1349
1350         * stor-layout.c (start_record_layout): maximum_field_alignment
1351         overrides STRUCTURE_SIZE_BOUNDARY.
1352
1353 2006-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
1354
1355         * config/s390/predicates.md ("bras_sym_operand"): Do not accept
1356         nonlocal function symbols if flag_pic.
1357
1358 2006-10-23  Richard Guenther  <rguenther@suse.de>
1359
1360         PR middle-end/27132
1361         PR middle-end/23295
1362         * builtins.c (fold_binary): Remove checks for flag_wrapv
1363         and flag_trapv where negate_expr_p covers these cases.
1364
1365 2006-10-23  Richard Guenther  <rguenther@suse.de>
1366
1367         PR middle-end/29548
1368         * fold-const.c (fold_plusminus_mult_expr): Check exact power
1369         of two on the absolute value.
1370         (fold_binary): Fold x * -C to -x * C if x is easily negatable
1371         and negating -C does not overflow.
1372
1373 2006-10-23  Richard Guenther  <rguenther@suse.de>
1374
1375         PR middle-end/21032
1376         * convert.c (convert_to_real): Fold (float)-x to -(float)x
1377         only if not flag_rounding_math.
1378
1379 2006-10-22  Richard Sandiford  <richard@codesourcery.com>
1380             Kaz Kojima  <kkojima@gcc.gnu.org>
1381
1382         PR target/28232
1383         * config/sh/sh.c (expand_block_move): Use a BLKmode rather than
1384         SImode memory reference for the source of a movua.
1385         * config/sh/sh.md (UNSPEC_MOVUA): New macro.
1386         (movua): Use an unspec instead of sign_extract.  Expect the source
1387         to have mode BLKmode.
1388         (extv, insv): Use a BLKmode rather than SImode memory reference
1389         for the source of a movua.
1390
1391 2006-10-22  Jeff Law  <law@redhat.com>
1392         Richard Guenther  <rguenther@suse.de>
1393
1394         PR tree-optimization/15911
1395         * tree-vrp.c (extract_code_and_val_from_cond): New function.
1396         (register_edge_assert_for_1): Likewise.
1397         (register_edge_assert_for): Handle &&/&/||/| in conditionals.
1398         (find_conditional_asserts): Adjust for new function signature.
1399         (find_assert_locations): Likewise.
1400
1401 2006-10-22  H.J. Lu  <hongjiu.lu@intel.com>
1402
1403         * config/i386/tmmintrin.h: Remove the duplicated content.
1404
1405 2006-10-22  H.J. Lu  <hongjiu.lu@intel.com>
1406
1407         * config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
1408         (x86_64-*-*): Likewise.
1409
1410         * config/i386/i386.c (pta_flags): Add PTA_SSSE3.
1411         (override_options): Check SSSE3.
1412         (ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
1413         IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
1414         IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
1415         IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
1416         IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
1417         IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
1418         IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
1419         IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
1420         IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
1421         IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
1422         IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
1423         IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
1424         IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
1425         IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
1426         IX86_BUILTIN_PABSD128.
1427         (bdesc_2arg): Add SSSE3.
1428         (bdesc_1arg): Likewise.
1429         (ix86_init_mmx_sse_builtins): Support SSSE3.
1430         (ix86_expand_builtin): Likewise.
1431         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1432
1433         * config/i386/i386.md (UNSPEC_PSHUFB): New.
1434         (UNSPEC_PSIGN): Likewise.
1435         (UNSPEC_PALIGNR): Likewise.
1436         Include mmx.md before sse.md.
1437
1438         * config/i386/i386.opt: Add -mssse3.
1439
1440         * config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
1441         (ssse3_phaddwv4hi3): Likewise.
1442         (ssse3_phadddv4si3): Likewise.
1443         (ssse3_phadddv2si3): Likewise.
1444         (ssse3_phaddswv8hi3): Likewise.
1445         (ssse3_phaddswv4hi3): Likewise.
1446         (ssse3_phsubwv8hi3): Likewise.
1447         (ssse3_phsubwv4hi3): Likewise.
1448         (ssse3_phsubdv4si3): Likewise.
1449         (ssse3_phsubdv2si3): Likewise.
1450         (ssse3_phsubswv8hi3): Likewise.
1451         (ssse3_phsubswv4hi3): Likewise.
1452         (ssse3_pmaddubswv8hi3): Likewise.
1453         (ssse3_pmaddubswv4hi3): Likewise.
1454         (ssse3_pmulhrswv8hi3): Likewise.
1455         (ssse3_pmulhrswv4hi3): Likewise.
1456         (ssse3_pshufbv16qi3): Likewise.
1457         (ssse3_pshufbv8qi3): Likewise.
1458         (ssse3_psign<mode>3): Likewise.
1459         (ssse3_psign<mode>3): Likewise.
1460         (ssse3_palignrti): Likewise.
1461         (ssse3_palignrdi): Likewise.
1462         (abs<mode>2): Likewise.
1463         (abs<mode>2): Likewise.
1464
1465         * config/i386/tmmintrin.h: New file.
1466
1467         * doc/extend.texi: Document SSSE3 built-in functions.
1468
1469         * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
1470
1471 2006-10-22  Ira Rosen  <irar@il.ibm.com>
1472
1473         * tree-vect-transform.c (vectorizable_load): Use the type of the
1474         return value of the mask_for_load builtin to create realign_load
1475         stmt.
1476
1477 2006-10-22  Richard Sandiford  <richard@codesourcery.com>
1478
1479         * config/mips/mips.c (mips_split_const): Don't accept bare PLUS
1480         expressions.
1481
1482 2006-10-21  H.J. Lu  <hongjiu.lu@intel.com>
1483
1484         * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
1485         (UNSPEC_LDDQU): This.
1486         * config/i386/sse.md (sse3_lddqu): Updated.
1487
1488 2006-10-21  Richard Guenther  <rguenther@suse.de>
1489
1490         * builtins.c (expand_builtin_int_roundingfn_2): New function.
1491         (expand_builtin): Use it to expand lrint instead of
1492         expand_builtin_mathfn.
1493
1494 2006-10-21  Uros Bizjak  <uros@kss-loka.si>
1495
1496         PR middle-end/28252
1497         * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
1498         flag_unsafe_math_optimizations is set.
1499
1500 2006-10-21  Uros Bizjak  <uros@kss-loka.si>
1501
1502         PR target/19398
1503         * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
1504         patterns to use memory input operand in x87->mem->XMM
1505         reload sequences.  Skip transformation for TARGET_K8.
1506
1507 2006-10-21  Uros Bizjak  <uros@kss-loka.si>
1508
1509         * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
1510         force operand1 to register if both operands are memory operands.
1511         (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
1512         (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
1513         if both operands are memory operands.
1514         (truncdfsf2): Do not force operand1 to register if both operands
1515         are memory operands.
1516
1517 2006-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1518
1519         * Makefile.in (LIBS): Add $(GMPLIBS).
1520         * doc/install.texi: Update GMP and MPFR requirements.
1521         * doc/sourcebuild.texi (need_gmp): Delete.
1522
1523 2006-10-21  Richard Guenther  <rguenther@suse.de>
1524
1525         PR tree-optimization/3511
1526         * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
1527         got new invariant arguments during PHI translation.
1528
1529 2006-10-21  Richard Guenther  <rguenther@suse.de>
1530
1531         PR middle-end/26898
1532         * fold-const.c (fold_comparison): Fold signed comparisons
1533         of the form X +- C1 CMP Y +- C2.
1534
1535 2006-10-21  Richard Guenther  <rguenther@suse.de>
1536
1537         PR target/19116
1538         * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
1539         if flag_unsafe_math_optimizations is specified.  We have
1540         flag_finite_math_only for that.
1541         * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
1542         or flag_unsafe_math_optimizations.
1543
1544 2006-10-21  Richard Guenther  <rguenther@suse.de>
1545
1546         * builtins.c (fold_builtin_classify): Fix typo.
1547
1548 2006-10-21  Richard Guenther  <rguenther@suse.de>
1549
1550         PR middle-end/28796
1551         * simplify-rtx.c (simplify_const_relational_operation):
1552         Do not constant-fold ORDERED and UNORDERED for
1553         flag_unsafe_math_optimizations but only we do not need to
1554         honor NaNs for the given mode.
1555
1556 2006-10-21  Richard Guenther  <rguenther@suse.de>
1557
1558         PR target/29512
1559         * config/i386/i386.c (classify_argument): Remove redundant
1560         walking of the BINFOs.
1561         (contains_128bit_aligned_vector_p): Likewise.
1562
1563 2006-10-20  Mark Mitchell  <mark@codesourcery.com>
1564
1565         * BASE-VER: Set to 4.3.0.
1566
1567 2006-10-20  Daniel Berlin  <dberlin@dberlin.org>
1568
1569         * tree.h (DECL_PTA_ARTIFICIAL): Remove.
1570         (tree_decl_with_vis): Remove artificial_pta_var flag.
1571         * tree-flow.h (referenced_var_check_and_insert): Expose.
1572         (nonlocal_all): New prototype.
1573         * tree-ssa-structalias.c (nonlocal_for_type): Remove.
1574         (nonlocal_all): Make global.
1575         (nonlocal_lookup): Remove.
1576         (nonlocal_insert): Ditto.
1577         (create_nonlocal_var): Do not call nonlocal_insert.
1578         (get_nonlocal_id_for_type): Remove.
1579         (find_global_initializers): Mark new vars we find for renaming.
1580         (intra_create_variable_infos): Only create one nonlocal.
1581         (expand_nonlocal_solutions): Remove.
1582         (compute_points_to_sets): Don't call it.
1583         (ipa_pta_execute): Ditto.
1584         (init_alias_heapvars): Don't create nonlocal_for_type.
1585         (delete_alias_heapvars): Don't remove it.
1586         * tree-ssa-operands.c (access_can_touch_variable): Don't prune
1587         nonlocal_all.
1588
1589 2006-10-19  Brooks Moses  <bmoses@stanford.edu>
1590
1591         * doc/install.texi (Downloading GCC): Clarify mention of
1592         Fortran in the "full distribution" description.
1593
1594 2006-10-19  Daniel Berlin  <dberlin@dberlin.org>
1595
1596         Fix PR tree-optimization/28778
1597         Fix PR tree-optimization/29156
1598         Fix PR tree-optimization/29415
1599         * tree.h (DECL_PTA_ARTIFICIAL): New macro.
1600         (tree_decl_with_vis): Add artificial_pta_var flag.
1601         * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
1602         pushed into callers.
1603         * tree-ssa-structalias.c (nonlocal_for_type): New variable.
1604         (nonlocal_all): Ditto.
1605         (struct variable_info): Add directly_dereferenced member.
1606         (var_escaped_vars): New variable.
1607         (escaped_vars_tree): Ditto.
1608         (escaped_vars_id): Ditto.
1609         (nonlocal_vars_id): Ditto.
1610         (new_var_info): Set directly_dereferenced.
1611         (graph_size): New variable
1612         (build_constraint_graph): Use graph_size.
1613         (solve_graph): Don't process constraints that cannot change the
1614         solution, don't try to propagate an empty solution to our
1615         successors.
1616         (process_constraint): Set directly_dereferenced.
1617         (could_have_pointers): New function.
1618         (get_constraint_for_component_ref): Don't process STRING_CST.
1619         (nonlocal_lookup): New function.
1620         (nonlocal_insert): Ditto.
1621         (create_nonlocal_var): Ditto.
1622         (get_nonlocal_id_for_type): Ditto.
1623         (get_constraint_for): Allow results vector to be empty in the case
1624         of string constants.
1625         Handle results of calls properly.
1626         (update_alias_info): Update alias info stats on number and type of
1627         calls.
1628         (find_func_aliases): Use could_have_pointers.
1629         (make_constraint_from_escaped): Renamed from
1630         make_constraint_to_anything, and changed to make constraints from
1631         escape variable.
1632         (make_constraint_to_escaped): New function.
1633         (find_global_initializers): Ditto.
1634         (create_variable_info_for): Make constraint from escaped to any
1635         global variable, and from any global variable to the set of
1636         escaped vars.
1637         (intra_create_variable_infos): Deal with escaped instead of
1638         pointing to anything.
1639         (set_uids_in_ptset): Do type pruning on directly dereferenced
1640         variables.
1641         (find_what_p_points_to): Adjust call to set_uids_with_ptset.
1642         (init_base_vars): Fix comment, and initialize escaped_vars.
1643         (need_to_solve): Removed.
1644         (find_escape_constraints): New function.
1645         (expand_nonlocal_solutions): Ditto.
1646         (compute_points_to_sets): Call find_escape_constraints and
1647         expand_nonlocal_solutions.
1648         (delete_points_to_sets): Don't fall off the end of the graph.
1649         (init_alias_heapvars): Initialize nonlocal_for_type and
1650         nonlocal_all.
1651         (delete_alias_heapvars): Free nonlocal_for_type and null out
1652         nonlocal_all.
1653
1654 2006-10-19  Eric Botcazou  <ebotcazou@adacore.com>
1655
1656         * fold-const.c (add_double): Rename to add_double_with_sign.
1657         Add 'unsigned_p' parameter and take it into account for the overflow.
1658         (mul_double): Rename to mul_double_with_sign.
1659         Add 'unsigned_p' parameter and take it into account for the overflow.
1660         (fold_div_compare): Call add_double_with_sign instead of add_double
1661         and mul_double_with_sign instead of mul_double, passing them the
1662         unsignedness of the type.
1663         * tree.h (add_double): Macroize.
1664         (add_double_with_sign): New prototype.
1665         (mul_double): Macroize.
1666         (mul_double_with_sign): New prototype.
1667
1668 2006-10-19  Chen Liqin  <liqin@sunnorth.com.cn>
1669
1670         * config/score/crti.asm: New file.
1671         * config/score/crtn.asm: New file.
1672         * config/score/elf.h: New file.
1673         * config/score/mac.md: New file.
1674         * config/score/misc.md: New file.
1675         * config/score/mul-div.S: New file.
1676         * config/score/predicates.md: New file.
1677         * config/score/score7.md: New file.
1678         * config/score/score.c: New file.
1679         * config/score/score-conv.h: New file.
1680         * config/score/score.h: New file.
1681         * config/score/score.md: New file.
1682         * config/score/score-mdaux.c: New file.
1683         * config/score/score-mdaux.h: New file.
1684         * config/score/score-modes.def: New file.
1685         * config/score/score.opt: New file.
1686         * config/score/score-protos.h: New file.
1687         * config/score/score-version.h: New file.
1688         * config/score/t-score-elf: New file.
1689         * config.gcc: Add score*-*-* configurations(Update before).
1690         * doc/invoke.texi (Score Options): New section.
1691         * doc/md.texi (Score family): New section to document constraints.
1692
1693 2006-10-19  Nick Clifton  <nickc@redhat.com>
1694
1695         * config/arm/arm.c: Fix spelling typo.
1696
1697 2006-10-18  Tom Tromey  <tromey@redhat.com>
1698
1699         * doc/install.texi (Prerequisites): Mention automake 1.9.6.
1700
1701 2006-10-18  Jan Hubicka  <jh@suse.cz>
1702
1703         PR middle-end/29299
1704         * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
1705         are used.
1706
1707 2006-10-18  Marcin Dalecki  <martin@dalecki.de>
1708
1709         * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
1710         TSI_SAME_STMT, since that's the desired entity.
1711
1712 2006-10-17  Wolfgang Gellerich  <gellerich@de.ibm.com>
1713
1714         * config/s390/contraints.md: New file.
1715         * config/s390/s390-protos.h (s390_mem_constraint,
1716         s390_O_constraint_str, s390_N_constraint_str,
1717         s390_float_const_zero_p): Function prototypes added.
1718         * config/s390/s390.c (s390_extra_constraint_str,
1719         s390_const_double_ok_for_constraint_p,
1720         s390_const_ok_for_constraint_p): Functions removed.
1721         (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
1722         s390_float_const_zero_p): New functions.
1723         * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
1724         CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
1725         EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
1726         Macro definitions removed.
1727         (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
1728         s390_extra_constraint_str): Functions removed.
1729
1730 2006-10-17  Andrew Pinsiki  <pinskia@gmail.com>
1731             Richard Sandiford  <richard@codesourcery.com>
1732
1733         PR target/29413
1734         * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
1735         * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
1736
1737 2006-10-16  Geoffrey Keating  <geoffk@apple.com>
1738
1739         * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
1740         (DWARF2_FRAME_REG_OUT): Likewise.
1741         * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
1742         (DWARF2_FRAME_REG_OUT): Likewise.
1743
1744 2006-10-17  Paul Brook  <paul@codesourcery.com>
1745
1746         * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
1747
1748 2006-10-16  Brooks Moses  <bmoses@stanford.edu>
1749
1750         * doc/contrib.texi, doc/install.texi, doc/standards.texi:
1751         Standardize on "GNU Fortran" as the official name of the Fortran
1752         compiler.
1753
1754 2006-10-16  Mike Stump  <mrs@apple.com>
1755
1756         * doc/invoke.texi (Darwin Options): Document -mkernel.
1757         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
1758         -mkernel support.
1759         (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support.  Add
1760         SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
1761         (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
1762         (OS_MISSING_ALTIVEC): Add.
1763         * config/i386/i386.c (override_options): Add
1764         SUBSUBTARGET_OVERRIDE_OPTIONS callout.
1765         * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
1766         -mkernel, -static or -mdynamic-no-pic is given.
1767         (C_COMMON_OVERRIDE_OPTIONS): Add.
1768         * config/darwin.opt (fapple-kext): Add.
1769         (mkernel): Add.
1770         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
1771         -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
1772         -mkernel support.
1773         (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
1774         (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
1775         (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
1776         (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
1777         (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
1778         (flag_mkernel): Add.
1779         (flag_apple_kext): Add.
1780         (TARGET_KEXTABI): Add.
1781         * config/darwin.c (darwin_handle_kext_attribute): Add.
1782         (DARWIN_VTABLE_P): Add.
1783         (darwin_binds_local_p): Add partial support for rebinding vtables
1784         in kexts.
1785         (darwin_kextabi_p): Add.
1786         (darwin_override_options): Add.
1787         * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
1788         (darwin_kextabi_p): Add.
1789         (darwin_override_options): Add.
1790         * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
1791         __DYNAMIC__ and __STATIC__ here.
1792
1793 2006-10-16  Brooks Moses  <bmoses@stanford.edu>
1794
1795         * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
1796         Added mention of "make pdf" target, and Texinfo requirements for
1797         same.
1798
1799 2006-10-16  DJ Delorie  <dj@redhat.com>
1800
1801         * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
1802         into the GOT in case we need a subreg of the address.
1803
1804 2006-10-16  Richard Guenther  <rguenther@suse.de>
1805
1806         PR target/25519
1807         * doc/extend.texi (X86 Built-in Functions): Fix typos in
1808         SSE builtin documentation.  Document SSE2 builtins.
1809
1810 2006-10-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1811
1812         * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
1813         symbol in the output file for non-shared links when -nostdlib or
1814         -nodefaultlibs isn't specified.
1815
1816         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
1817         posix thread support.
1818
1819 2006-10-15  Jan Hubicka  <jh@suse.cz>
1820
1821         PR middle-end/29241
1822         * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
1823         declared always_inline even when not inlining.
1824
1825 2006-10-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1826             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1827             Andrew Pinski  <pinskia@gmail.com>
1828
1829         PR middle-end/29111
1830         * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
1831
1832 2006-10-15  Jan Hubicka  <jh@suse.cz>
1833             Richard Guenther  <rguenther@suse.de>
1834
1835         PR middle-end/29299
1836         * cgraphunit.c (cgraph_finalize_compilation_unit): Call
1837         process_function_and_variable_attributes on all variables, including
1838         those discovered during cgraph construction phase.
1839
1840 2006-10-15  Bernhard Fischer  <aldot@gcc.gnu.org>
1841
1842         * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
1843
1844 2006-10-14  Uros Bizjak  <uros@kss-loka.si>
1845
1846         * config/i386/athlon.md (athlon_fist): Add fisttp.
1847
1848 2006-10-13  David Edelsohn  <edelsohn@gnu.org>
1849             Ian Lance Taylor  <ian@airs.com>
1850
1851         PR middle-end/29250
1852         * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
1853         CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
1854         recursing.
1855
1856 2006-10-14  Kazu Hirata  <kazu@codesourcery.com>
1857
1858         * config/score/score.c, config/score/score.h: Fix comment
1859         typos.
1860
1861 2006-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1862
1863         PR bootstrap/29402
1864         * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
1865         shell pipeline.
1866
1867 2006-10-13  Eric Christopher  <echristo@apple.com>
1868
1869         * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1870
1871 2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
1872
1873         Revert this change:
1874         2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
1875         * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
1876         alignment supported by 32-bit ELF.
1877
1878 2006-10-13  Eric Christopher  <echristo@apple.com>
1879
1880         * config/darwin.c (darwin_emit_unwind_label): Strip
1881         name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
1882
1883 2006-10-13  Richard Guenther  <rguenther@suse.de>
1884
1885         PR tree-optimization/29446
1886         * tree-vrp.c (fix_equivalence_set): Remove.
1887         (extract_range_from_assert): Do not call fix_equivalence_set.
1888         (debug_value_range): Print a newline.
1889         (compare_name_with_value): For equivalence sets with
1890         inconsistent value ranges conservatively bail out.
1891         (compare_names): Likewise.
1892
1893 2006-10-13  David Edelsohn  <edelsohn@gnu.org>
1894
1895         * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
1896         and MPFR for gfortran.
1897
1898 2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
1899
1900         * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
1901         alignment supported by 32-bit ELF.
1902
1903 2006-10-13  Paolo Bonzini  <bonzini@gnu.org>
1904
1905         PR c/29092
1906
1907         * c-typeck.c (digest_init): Always allow initializing vectors
1908         that have static storage duration with compound literals.
1909         * tree.c (build_type_attribute_qual_variant): New, based on
1910         build_type_attribute_variant.
1911         (build_type_attribute_variant): Rewrite using the former.
1912         (make_vector_type): Use build_type_attribute_qual_variant to build
1913         type variants.  Use type_hash_canon on the others.
1914
1915 2006-10-13  Daniel Berlin <dberlin@dberlin.org>
1916             Ramana Radhakrishnan  <ramana.radhakrishnan@celunite.com>
1917
1918         * tree-flow-inline.h (zero_ssa_operands): Fix comment.
1919
1920 2006-10-12  Jan Hubicka  <jh@suse.cz>
1921
1922         PR c/28419
1923         * c-decl.c (c_make_fname_decl): Do not segfault in case where
1924         current_function_decl is set but current_function_scope is not.
1925
1926 2006-10-12  Jie Zhang  <jie.zhang@analog.com>
1927
1928         * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
1929         emit_insn to emit eh_return_internal instruction.
1930         (eh_return_internal): Explicitly set pc.
1931
1932 2006-10-11  Richard Guenther  <rguenther@suse.de>
1933
1934         PR tree-optimization/28230
1935         * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
1936         to the correct place.
1937
1938 2006-10-11  Richard Guenther  <rguenther@suse.de>
1939
1940         PR inline-asm/29119
1941         * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
1942         addressable.
1943
1944 2006-10-10  Brooks Moses  <bmoses@stanford.edu>
1945
1946         * configure.ac: Added pdf to "Make-hooks"
1947         * Makefile.in: Added TEXI2PDF definition, and various pdf-file
1948         targets and *.pdf file patterns in cleanup targets.
1949         * configure: Regenerated.
1950
1951 2006-10-10  Anatoly Sokolov <aesok@post.ru>
1952
1953         * config/avr/predicates.md: New file.
1954         * config/avr/avr.md: Include it.
1955         (REG_SP): New constant.
1956         (peepholes): Use predicates.
1957         (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
1958         difficult_branch,  difficult_rvbranch, cbi, sbi, sbix_branch,
1959         sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
1960
1961 2006-10-10  Adam Nemet  <anemet@caviumnetworks.com>
1962
1963         * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
1964         avoid alias set 0.
1965
1966 2006-10-10  Jakub Jelinek  <jakub@redhat.com>
1967
1968         PR middle-end/29272
1969         * builtins.c (var_decl_component_p): New function.
1970         (fold_builtin_memset, fold_builtin_memory_op): Restrict
1971         single entry optimization to variables and components thereof.
1972
1973 2006-10-10  Richard Guenther  <rguenther@suse.de>
1974
1975         PR rtl-optimization/29323
1976         * except.c (set_nothrow_function_flags): For functions
1977         that do not bind local bail out early.
1978
1979 2006-10-10  Ben Elliston  <bje@au.ibm.com>
1980
1981         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
1982         -mdlmzb option.
1983
1984 2006-10-09  Richard Henderson  <rth@redhat.com>
1985
1986         Revert emutls patch.
1987
1988 2006-10-09  Richard Guenther  <rguenther@suse.de>
1989
1990         PR middle-end/29254
1991         * cgraphunit.c (verify_cgraph_node): Bail out on earlier
1992         errors.
1993
1994 2006-10-09  Steve Ellcey  <sje@cup.hp.com>
1995
1996         PR target/27880
1997         * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
1998         * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
1999         * configure: Regenerate.
2000         * config.in: Regenerate.
2001
2002 2006-10-09  Aldy Hernandez  <aldyh@redhat.com>
2003
2004         * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
2005
2006 2006-10-08  Richard Sandiford  <richard@codesourcery.com>
2007
2008         * config/mips/mips.c (mips_legitimize_tls_address): Implement
2009         all TLS models in the same way as local exec if !TARGET_ABICALLS.
2010         Remove stray newline.
2011
2012 2006-10-08  Richard Sandiford  <richard@codesourcery.com>
2013
2014         * config/mips/mips.c (mips_classify_symbol): Do not return
2015         SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
2016         (mips_in_small_data_p): Tweak comments.
2017
2018 2006-10-08  Richard Sandiford  <richard@codesourcery.com>
2019
2020         * config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
2021
2022 2006-10-07  Kazu Hirata  <kazu@codesourcery.com>
2023
2024         * gimplify.c, sched-int.h: Fix comment typos.
2025
2026         * sched-int.h: Fix comment typos.
2027
2028 2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2029
2030         * sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
2031         New macros.
2032         * sched-ebb.c (begin_schedule_ready): Use them.
2033         * haifa-sched.c (schedule_insn, move_insn, try_ready,
2034         add_to_speculative_block, create_check_block_twin, speculate_insn,
2035         fix_jump_move, move_block_after_check): Ditto.
2036         * sched-rgn.c (new_ready): Ditto.
2037
2038 2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2039
2040         PR rtl-optimization/29128
2041         * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
2042         * sched-ebb.c (advance_target_bb): Use it to fix condition to
2043         allow interblock movement of speculation checks.
2044
2045 2006-10-06  Zdenek Dvorak <dvorakz@suse.cz>
2046
2047         PR middle-end/29256
2048         * tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
2049         casted to integer type.
2050         (get_address_cost): Decrease cost of [symbol + index] addressing modes
2051         if they are significantly more expensive than [reg + index] ones.
2052
2053 2006-10-06  Jakub Jelinek  <jakub@redhat.com>
2054
2055         PR tree-optimization/29330
2056         * tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
2057         (initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
2058         on newly allocated ddrs.
2059         (find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
2060         to VEC (loop_p, heap) pointer.
2061         (compute_data_dependences_for_loop): Adjust caller.
2062         (free_dependence_relations): Free DDR_LOOP_NEST.
2063
2064         * tree-loop-linear.c (linear_transform_loops): Don't forget to
2065         free DEPENDENCE_RELATIONS and DATAREFS.
2066
2067         PR target/28924
2068         * builtins.c (expand_builtin_sync_operation,
2069         expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
2070         Use convert_to_mode to handle promoted arguments.
2071
2072 2006-10-06  J"orn Rennecke  <joern.rennecke@st.com>
2073
2074         * print-tree.c (print_node_brief, print_node): Print sign of Inf.
2075
2076 2006-10-06  J"orn Rennecke  <joern.rennecke@st.com>
2077
2078         * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
2079
2080 2006-10-05  Uros Bizjak  <uros@kss-loka.si>
2081
2082         * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
2083         "sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
2084         Use <modeconstraint> instead of "r" as operand 1 constraint.
2085
2086 2006-10-06  Olivier Hainque  <hainque@adacore.com>
2087
2088         * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
2089         Don't recurse on the pointed-to type.
2090         * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
2091         DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
2092         types with components of variable size.
2093
2094 2006-10-06  Danny Smith  <dannysmith@users.sourceforge.net>
2095
2096         * config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
2097
2098 2006-10-06  Jakub Jelinek  <jakub@redhat.com>
2099
2100         PR tree-optimization/29290
2101         * tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
2102         multiple exits.
2103
2104         PR target/29198
2105         * config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
2106         * config/i386/predicates.md (local_symbolic_operand): Likewise.
2107
2108         PR c/29091
2109         * varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
2110         the number of vector elements fill the rest with zeros.
2111
2112 2006-10-05  Richard Sandiford  <richard@codesourcery.com>
2113
2114         * config/mips/mips.c (mips_pass_by_reference): Do not return false
2115         for EABI if type is NULL.  Use a size check based on GET_MODE_SIZE
2116         instead.
2117
2118 2006-10-05  Bernd Schmidt  <bernd.schmidt@analog.com>
2119
2120         * config/bfin/bfin.md (subsi3): Lose expander, change previously
2121         unnamed pattern into subsi3.  Use correct constraints/predicates.
2122         * config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
2123         * config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
2124
2125 2006-10-05  Ira Rosen  <irar@il.ibm.com>
2126
2127         * doc/loop.texi: Add data references analysis description.
2128
2129 2006-10-04  Brooks Moses  <bmoses@stanford.edu>
2130
2131         * doc/gcov.texi: Add formatting to "Invoking gcov" section head.
2132
2133 2006-10-04  Richard Henderson  <rth@redhat.com>
2134             Jakub Jelinek  <jakub@redhat.com>
2135
2136         * Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
2137         * builtin-types.def (BT_WORD): Make unsigned.
2138         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
2139         * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
2140         (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
2141         * c-decl.c (grokdeclarator): Don't error if !have_tls.
2142         * c-parser.c (c_parser_omp_threadprivate): Likewise.
2143         * cgraph.c (decide_is_variable_needed): Look at force_output.
2144         Recurse for emulated tls.
2145         * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
2146         checks redundant with decide_is_variable_needed.
2147         (cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
2148         * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
2149         emulated tls.
2150         * expr.c (emutls_var_address): New.
2151         (expand_expr_real_1): Expand emulated tls.
2152         (expand_expr_addr_expr_1): Likewise.
2153         * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
2154         * output.h (emutls_finish): Declare.
2155         * toplev.c (compile_file): Call it.
2156         * tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
2157         address before wrapping in CONST.
2158         * varasm.c (emutls_htab, emutls_object_type): New.
2159         (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
2160         (get_emutls_object_name, get_emutls_object_type): New.
2161         (get_emutls_init_templ_addr, emutls_decl): New.
2162         (emutls_common_1, emutls_finish): New.
2163         (assemble_variable): When emulating tls, swap decls; generate
2164         constructor for the emutls objects.
2165         (do_assemble_alias): When emulating tls, swap decl and target name.
2166         (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
2167         for emulated tls.
2168         * emutls.c: New file.
2169         * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
2170         tls_object for real tls.
2171
2172 2006-10-04  Zack Weinberg  <zackw@panix.com>
2173
2174         Fix bug in constraint-check generator, reported by Rask Ingemann
2175         Lambertsen:
2176         * genpreds.c (add_constraint): Don't remove anything from the
2177         expression here.
2178         (write_tm_constrs_h): Detect whether "op" argument is used, and
2179         mark it ARG_UNUSED if it isn't.
2180         (write_insn_const_int_ok_for_constraint): Skip the part of the
2181         expression that would test whether "op" (which is not available
2182         here) is a CONST_INT.
2183
2184 2006-10-04  Ryan Mansfield  <rmansfield@qnx.com>
2185
2186         PR c++/28448
2187         * doc/invoke.texi (fdiagnostics-show-option): Fix typos.
2188
2189 2006-10-03  Geoffrey Keating  <geoffk@apple.com>
2190
2191         * config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
2192         current Leopard versions.
2193         * config/rs6000/darwin-libgcc.10.5.ver: Likewise.
2194
2195 2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
2196
2197         * doc/install.texi: Fix typos.
2198
2199 2006-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
2200
2201         * builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
2202         * doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
2203         * config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
2204
2205 2006-10-02  Jack Howarth  <howarth@bromo.med.uc.edu>
2206
2207         * unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
2208         arg to be struct mach_header_64* instead.
2209
2210 2006-10-02  Jakub Jelinek  <jakub@redhat.com>
2211
2212         PR c/29154
2213         * gimplify.c (gimplify_self_mod_expr): Run inner expression's post
2214         side effects after the outer expression's post side effects.
2215
2216 2006-10-01  Sandra Loosemore  <sandra@codesourcery.com>
2217
2218         * tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET):  Fix
2219         comments to reflect actual behavior and relationship between
2220         DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
2221
2222         * doc/c-tree.texi (Working with declarations): Fix documentation
2223         of FIELD_DECL likewise.
2224
2225 2006-10-01  Ryan Mansfield  <rmansfield@qnx.com>
2226
2227         PR c/20533
2228         * doc/extend.texi: Add used variable attribute description.
2229
2230 2006-09-30  Joseph S. Myers  <joseph@codesourcery.com>
2231
2232         PR c/24010
2233         * c.opt (Woverride-init): New.
2234         * c-opts.c (c_common_post_options): Default warn_override_init to
2235         extra_warnings.
2236         * c-typeck.c (add_pending_init, output_init_element): Warn for
2237         overriding initializers without side effects.
2238         * doc/invoke.texi (-Woverride-init): Document.
2239         (-Wextra): Update.
2240
2241 2006-09-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
2242
2243         PR rtl-optimization/28096
2244         * ifcvt.c (check_cond_move_block): Return FALSE if the source of an
2245         assignment has already been used as a destination earlier in the block.
2246
2247 2006-09-29  Eric Botcazou  <ebotcazou@adacore.com>
2248
2249         * builtins.c (expand_builtin_setjmp): Delete.
2250         (expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
2251         <BUILT_IN_SETJMP_SETUP>: New case.
2252         <BUILT_IN_SETJMP_DISPATCHER>: Likewise.
2253         <BUILT_IN_SETJMP_RECEIVER>: Likewise.
2254         * builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
2255         (BUILT_IN_SETJMP_DISPATCHER): Likewise.
2256         (BUILT_IN_SETJMP_RECEIVER): Likewise.
2257         * gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
2258         (lower_function_body): Initialize it to false.  If it is set to true
2259         at the end of the processing, emit the setjmp dispatcher.
2260         (lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
2261         is __builtin_setjmp and set calls_builtin_setjmp to true as well.
2262         <MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
2263         on the rhs of the assignment.
2264         (lower_builtin_setjmp): New function.
2265         * tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
2266         BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
2267         * tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
2268         to detect calls that can go to non-local labels.  Use specific
2269         helper to create the abnormal edges associated with them.
2270         <MODIFY_EXPR>: Likewise.
2271         (make_abnormal_goto_edges): New function extracted from...
2272         (make_goto_expr_edges): ...here.  Call it for computed gotos.
2273         (simple_goto_p): Minor tweak.
2274         (tree_can_make_abnormal_goto): New predicate.
2275         (tree_redirect_edge_and_branch): Return zero on all abnormal edges.
2276         (tree_purge_dead_abnormal_call_edges): New function.
2277         * tree-flow.h (tree_can_make_abnormal_goto): Declare.
2278         (tree_purge_dead_abnormal_call_edges): Likewise.
2279         (make_abnormal_goto_edges): Likewise.
2280         * tree-inline.c (expand_call_inline): Simplify statement frobbing.
2281         Purge all dead abnormal edges if the call was in the last statement.
2282         * tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
2283         (execute_fixup_cfg): If there are non-local labels in the function,
2284         scan the basic blocks and split them at calls that can go to non-local
2285         labels or add missing abnormal call edges.  Write down the CFG in the
2286         dump file.
2287         (pass_fixup_cfg): Remove TODO_dump_func flag.
2288         * unwind-sjlj.c: Poison setjmp.
2289         * doc/install.texi (enable-sjlj-exceptions): Use more general wording.
2290         * doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
2291         (TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
2292         (DONT_USE_BUILTIN_SETJMP): Document it.
2293
2294 2006-09-28  Geoffrey Keating  <geoffk@apple.com>
2295
2296         PR target/28617
2297         * config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
2298         to 1 when __ppc64__ is defined.
2299         * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
2300         darwin-64.c.
2301         * config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
2302
2303 2006-09-28  Steve Ellcey  <sje@cup.hp.com>
2304
2305         * config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
2306         * config/ia64/unwind-hpux.c: Delete.
2307
2308 2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
2309
2310         * gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
2311         on the element before gimplifying it, instead of punting if it is of
2312         variable size.
2313
2314 2006-09-28  Zdenek Dvorak <dvorakz@suse.cz>
2315
2316         * doc/loop.texi: New file.
2317         * doc/gccint.texi: Reference loop.texi.
2318         * Makefile.in (loop.texi): Add.
2319
2320 2006-09-27  Geoffrey Keating  <geoffk@apple.com>
2321
2322         * config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
2323         __sysctl.
2324         * config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
2325         * config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
2326
2327 2006-09-28  Kaz Kojima  <kkojima@gcc.gnu.org>
2328
2329         * config/sh/sh.md (divsi_inv_m0): Remove unused variable.
2330
2331 2006-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
2332
2333         * doc/install.texi: Document required versions of GMP and MPFR.
2334
2335 2006-09-27  Paul Brook  <paul@codesourcery.com>
2336
2337         PR target/29230
2338         * config/arm/arm.md (arith_adjacentmem): Handle large offsets.
2339
2340 2006-09-27  Richard Sandiford  <richard@codesourcery.com>
2341
2342         * reload1.c (alter_reg): Require the alignment of the stack slot to
2343         be at least reg_max_ref_width bytes.
2344         (scan_paradoxical_subregs): Record the largest width in
2345         reg_max_ref_width.
2346
2347 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
2348
2349         PR middle-end/25261
2350         PR middle-end/28790
2351         * tree-nested.c (struct nesting_info): Added static_chain_added.
2352         (convert_call_expr): Set static_chain_added when adding static
2353         chain.  Handle OMP_PARALLEL and OMP_SECTION.
2354
2355 2006-09-25  Matthias Klose  <doko@debian.org>
2356
2357         * doc/invoke.texi: Add missing full stop.
2358
2359 2006-09-25  Richard Henderson  <rth@redhat.com>
2360
2361         * cgraph.c (dump_cgraph_varpool_node): Don't crash if called
2362         before cgraph_function_flags_ready.
2363
2364 2006-09-24  Zdenek Dvorak <dvorakz@suse.cz>
2365             Adam Nemet  <anemet@caviumnetworks.com>
2366
2367         * tree-ssa-loop-ivopts.c (aff_combination_convert,
2368         determine_common_wider_type): New functions.
2369         (get_computation_aff): Use them to simplify arithmetic between
2370         UBASE and CBASE if they are shortened from the same type.
2371
2372 2006-09-24  Kazu Hirata  <kazu@codesourcery.com>
2373
2374         PR target/28911
2375         * config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
2376         -2147483647 - 1 instead of 0x80000000.
2377
2378 2006-09-23  Revital1 Eres  <ERES@il.ibm.com>
2379
2380         * flags.h (HONOR_NANS): Fix typo in comment.
2381
2382 2006-09-23  Uros Bizjak <uros@kss-loka.si>
2383
2384         * config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
2385
2386 2006-09-23  Jakub Jelinek  <jakub@redhat.com>
2387
2388         PR c/28706
2389         PR c/28712
2390         * tree.c (merge_attributes, attribute_list_contained): If both
2391         TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
2392         simple_cst_equal.
2393         * c-typeck.c (comptypes_internal): Don't consider aggregates
2394         in different TUs as compatible if there one set of attributes is
2395         not a subset of the other type's attributes.
2396         (composite_type): Try harder not to create a new aggregate type.
2397
2398 2006-09-22  Geoffrey Keating  <geoffk@apple.com>
2399
2400         * config/i386/driver-i386.c: Always define host_detect_local_cpu.
2401         * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
2402         or x86_64 host.  Define HAVE_LOCAL_CPU_DETECT.
2403         (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
2404         than replicating condition above.
2405         * config.host (i[34567]86-*-*): Always use driver-i386.o.
2406
2407         * config/darwin.h (LINK_SYSROOT_SPEC): New.
2408         (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
2409         the linker by default.
2410
2411 2006-09-22  Mike Stump  <mrs@apple.com>
2412
2413         * config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
2414         code.
2415
2416 2006-09-22  Richard Guenther  <rguenther@suse.de>
2417
2418         PR middle-end/28964
2419         * cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
2420         sort of stack variables stable.
2421
2422 2006-09-22  Peter Bergner <bergner@vnet.ibm.com>
2423
2424         PR middle-end/28690
2425         * explow.c (force_reg): Set REG_POINTER flag according to
2426         MEM_POINTER flag.
2427
2428 2006-09-22  Zdenek Dvorak <dvorakz@suse.cz>
2429
2430         PR tree-optimization/28888
2431         * tree-if-conv.c (combine_blocks): Rewritten.
2432         * tree-cfg.c (tree_verify_flow_info): Check that edges with
2433         EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
2434
2435 2006-09-22  Jakub Jelinek  <jakub@redhat.com>
2436
2437         * tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
2438         needed.
2439
2440 2006-09-21  Richard Sandiford  <richard@codesourcery.com>
2441
2442         * varasm.c (copy_constant): Fix reversed gcc_assert check.
2443
2444 2006-09-21  Janis Johnson  <janis187@us.ibm.com>
2445
2446         * ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
2447
2448 2006-09-21  Roger Sayle  <roger@eyesopen.com>
2449
2450         PR debug/29132
2451         * dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
2452         dw_fde_current_label, to be the start of the function, i.e. the same
2453         value as dw_fde_begin.
2454
2455 2006-09-20  Richard Sandiford  <richard@codesourcery.com>
2456
2457         * config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
2458         * config/mips/mips.md (UNSPEC_ABS_PS): New constant.
2459         (UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
2460         (UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
2461         (*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
2462         (*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
2463         (abs<mode>2, neg<mode>2): Likewise.
2464         * config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
2465         (*mips_abs_ps): New define_insn.
2466
2467 2006-09-20  Josh Conner  <jconner@apple.com>
2468
2469         PR middle-end/25505
2470         * calls.c (expand_call): Allow reuse of structure return stack
2471         temp.
2472
2473 2006-09-20  Paul Brook  <paul@codesourcery.com>
2474
2475         * config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
2476         positive offsets.
2477
2478 2006-09-20  Janis Johnson  <janis187@us.ibm.com>
2479
2480         * doc/extend.texi (Decimal Float): Update for latest draft TR,
2481         clean up terminology.
2482
2483 2006-09-20  Steve Ellcey  <sje@cup.hp.com>
2484
2485         PR target/28574
2486         * ifcvt.c (dead_or_predicable): Don't predicate then blocks
2487         with tablejumps in them.
2488
2489 2006-09-20  Jakub Jelinek  <jakub@redhat.com>
2490
2491         PR middle-end/28046
2492         * c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
2493         wrap it into TARGET_EXPR.
2494
2495 2006-09-20  Eric Christopher  <echristo@apple.com>
2496
2497         * config/i386/i386.c (x86_fisttp): Remove.
2498         * config/i386/i386.h (x86_fisttp): Ditto.
2499         (TARGET_FISTTP): Ditto.
2500
2501 2006-09-19  Eric Christopher  <echristo@apple.com>
2502
2503         * doc/tm.texi (OBJC_JBLEN): Describe.
2504         * config/i386/darwin.h (OBJC_JBLEN): Define.
2505         * config/rs6000/darwin.h: Ditto.
2506
2507 2006-09-19  Steven Bosscher  <steven@gcc.gnu.org>
2508
2509         PR rtl-optimization/21299
2510         * reload1.c (reload): Purge invalid ASMs in the final pass.
2511
2512 2006-09-19  Steve Ellcey  <sje@cup.hp.com>
2513
2514         PR  28490
2515         * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
2516         pointers as legitimate constants.
2517
2518 2006-09-19  Paul Brook  <paul@codesourcery.com>
2519
2520         PR target/28516
2521         * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
2522
2523 2006-09-17  Zdenek Dvorak <dvorakz@suse.cz>
2524
2525         PR tree-optimization/28887
2526         * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
2527         component parts from the reference.
2528         (gather_memory_references_ref): Record the reference without the
2529         nonaddressable component parts.
2530
2531 2006-09-17  Steven Bosscher  <steven@gcc.gnu.org>
2532
2533         PR c/25993
2534         * c-opts.c (c_common_handle_option): Ignore the -std options
2535         if the input language is assembly.
2536
2537 2006-09-17  Ira Rosen  <irar@il.ibm.com>
2538
2539         PR tree-opt/21591
2540         * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
2541         tag first.
2542         (ptr_ptr_may_alias_p): Likewise.
2543         (record_record_differ_p): New function.
2544         (base_object_differ_p): Call record_record_differ_p.
2545
2546 2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
2547
2548         PR tree-opt/29059
2549         * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
2550         away for the expr argument.
2551
2552 2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
2553
2554         PR tree-opt/27742
2555         * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
2556         before using it for dumping after vectorizing loops.
2557
2558 2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
2559             Jack Howarth  <howarth@bromo.med.uc.edu>
2560
2561         PR target/29030
2562         * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
2563         skip on error_mark_node.
2564         (rs6000_darwin64_record_arg_recurse): Likewise.
2565
2566 2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
2567
2568         * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
2569         * doc/rtl.texi: Remove related documentation.
2570
2571 2006-09-16  Bernd Schmidt  <bernd.schmidt@analog.com>
2572
2573         * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
2574         printf.
2575
2576 2006-09-15  Jim Wilson  <wilson@specifix.com>
2577
2578         * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
2579         Handle symbol offsets same as they are handled in ia64_expand_move
2580         and move_operand.
2581
2582 2006-09-16  Andreas Tobler  <a.tobler@schweiz.org>
2583
2584         * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
2585         Add forgotten parameter to the fprintf call.
2586
2587 2006-09-15  Steve Ellcey  <sje@cup.hp.com>
2588
2589         * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
2590
2591 2006-09-15  Uros Bizjak <uros@kss-loka.si>
2592
2593         * doc/contrib.texi: Add my entry.
2594
2595 2006-09-15  Nick Clifton  <nickc@redhat.com>
2596
2597         * doc/md.texi (Processor pipeline description): Fix typo in
2598         example of how to use the absence_set directive and reword the
2599         description to make it slightly easier to read.
2600
2601 2006-09-15  Bernd Schmidt  <bernd.schmidt@analog.com>
2602
2603         * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
2604         * loop-doloop.c (doloop_optimize): Use it to limit costs of
2605         expanding the number of iterations.
2606         * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
2607
2608         * cfgrtl.c (emit_insn_at_entry): New function.
2609         * rtl.h (emit_insn_at_entry): Declare it.
2610         * integrate.c (emit_initial_value_sets): Use it.
2611
2612         * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
2613
2614         * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
2615         bad.
2616         (struct loop_work and related VEC declarations): Delete.
2617         (bfin_dump_loops): Print out new member bad.
2618         (bfin_bb_in_loop): Use plain bitmap test.  Don't recurse.
2619         (bfin_scan_loop): Don't recurse.
2620         (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
2621         loops.  No longer need to update outer loops if the current one is
2622         found bad.  Move some validitiy checks to bfin_discover_loop.
2623         (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
2624         but changed not to check for nesting.  Also changed to use the new bad
2625         flag.
2626         (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
2627         time.  Use bitmap based test to discover loop nesting.
2628
2629 2006-09-15  Kazu Hirata  <kazu@codesourcery.com>
2630
2631         * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
2632         one line.
2633
2634 2006-09-14  Richard Guenther  <rguenther@suse.de>
2635             Kazu Hirata  <kazu@codesourcery.com>
2636
2637         PR middle-end/28884.
2638         * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
2639         (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
2640         Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
2641         with TARGET_FUNCTION_VALUE.
2642
2643 2006-09-14  Anatoly Sokolov <aesok@post.ru>
2644
2645         PR target/26504
2646         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
2647
2648 2006-09-13  Aldy Hernandez  <aldyh@redhat.com>
2649
2650         * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
2651         of a RETURN_EXPR
2652
2653 2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
2654
2655         PR debug/28980
2656         * dwarf2out.c (loc_descriptor_from_tree_1): Handle
2657         FUNCTION_DECL.
2658
2659 2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
2660
2661         * basic_block.h (bb_has_eh_pred): Fix comment.
2662
2663 2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
2664
2665         * flow.c (calculate_global_regs_live): Invalidate eh registers
2666         on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
2667         (propagate_block): Handle eh registers as if they were set at basic
2668         block start.
2669         * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
2670         registers.
2671         * global.c (global_conflicts): Make eh registers to conflict with
2672         pseudos live at basic block begin.
2673         * basic_block.h (bb_has_eh_pred): New function.
2674
2675 2006-09-13  Richard Sandiford  <richard@codesourcery.com>
2676
2677         PR rtl-optimization/28982
2678         * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
2679         index of a PRE_MODIFY or POST_MODIFY address.
2680         * reload1.c (inc_for_reload): Use find_replacement on the original
2681         base and index registers.
2682
2683 2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
2684
2685         * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
2686         for -Os. Update __m128 alignment requirement.
2687
2688 2006-09-13  Jan Hubicka  <jh@suse.cz>
2689
2690         * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
2691
2692 2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2693
2694         PR rtl-optimization/28243
2695         * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
2696         the insn to which the note was originally attached.
2697
2698 2006-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
2699             Roger Sayle  <roger@eyesopen.com>
2700
2701         * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
2702         outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
2703         on platforms that don't use dwarf for debug info.
2704
2705 2006-09-12  Jason Merrill  <jason@redhat.com>
2706
2707         PR middle-end/28493
2708         * builtins.c (expand_builtin_setjmp_receiver): Clobber
2709         hard_frame_pointer_rtx after using it to update the frame pointer.
2710
2711 2006-09-12  Roger Sayle  <roger@eyesopen.com>
2712
2713         * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
2714         (TARGET_ASM_CLOSE_PAREN): Likewise.
2715         * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
2716         (TARGET_ASM_CLOSE_PAREN): Likewise.
2717
2718 2006-09-12  Roger Sayle  <roger@eyesopen.com>
2719
2720         PR target/22223
2721         * config/alpha/alpha.c (alpha_start_function): Don't emit stack
2722         frame information for frames larger than 512 Kbytes on Tru64 when
2723         using the native assembler.
2724
2725 2006-09-12  Roger Sayle  <roger@eyesopen.com>
2726
2727         PR middle-end/4520
2728         PR bootstrap/28784
2729         * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
2730         and symbols.  Instead use the implementation from cse.c's hash_rtx.
2731
2732 2006-09-12  Jan Hubicka  <jh@suse.cz>
2733
2734         PR rtl-optimization/28071
2735         * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
2736         (vect_transform_loop): Likewise.
2737         * tree-vectorizer.c (new_loop_vec_info): Likewise.
2738         (new_loop_vec_info): Likewise.
2739         (destroy_loop_vec_info): Likewise.
2740         * tree-dfa.c (create_var_ann): Use GCC_CNEW.
2741         (create_stmt_ann): Likewise.
2742         (create_tree_ann): Rename to ...
2743         (create_tree_common_ann): ... this one; allocate only the common part
2744         of annotations.
2745         * tree-vn.c (set_value_handle): Use get_tree_common_ann.
2746         (get_value_handle): Likewise.
2747         * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
2748         get_tree_common_ann.
2749         * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
2750         (vinfo_for_stmt): Use stmt annotations.
2751         * tree-flow.h (tree_ann_common_t): New type.
2752         (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
2753         (tree_ann, get_tree_ann, create_tree_ann): New.
2754         * tree-flow-inline.h (get_function_ann): Do more type checking.
2755         (stmt_ann): Likewise.
2756         (tree_ann): Rename to ...
2757         (tree_common_ann): ... this one; return ony common_ann
2758         (get_tree_ann): Rename to ...
2759         (tree_common_ann): This one; return only common_ann.
2760         * tree-vect-patterns.c (vect_pattern_recog_1): Update call
2761         of set_stmt_info.
2762
2763 2006-09-11  Geoffrey Keating  <geoffk@apple.com>
2764
2765         * config.gcc (i[34567]86-*-darwin*): Set with_arch and
2766         with_cpu by default.
2767
2768         * dwarf2out.c (dwarf_file_data): New.
2769         (enum dw_val_class): Add dw_val_class_file.
2770         (struct dw_val_struct): Add val_file.
2771         (file_table): Change to a hash table.
2772         (file_table_emitted): Delete.
2773         (file_table_last_lookup_index): Delete.
2774         (emitcount): Delete.
2775         (last_emitted_file): New.
2776         (lookup_filename): Change prototype to return a struct dwarf_file_data.
2777         (init_file_table): Delete.
2778         (maybe_emit_file): Change prototype to take a struct dwarf_file_data.
2779         (AT_addr): Add comment.
2780         (add_AT_file): New.
2781         (AT_file): New.
2782         (get_AT_file): New.
2783         (print_die): Handle dw_val_class_file.
2784         (print_dwarf_line_table): Update for new file table structure.
2785         (attr_checksum): Do checksum a filename.
2786         (same_dw_val_p, same_attr_p): Do compare a filename.
2787         (size_of_die): Handle dw_val_class_file.
2788         (value_format): Likewise.
2789         (output_die): Likewise.  Also, call maybe_emit_file here.
2790         (struct file_info): Constify filenames.  Make file_idx a pointer
2791         to a struct dwarf_file_data.
2792         (struct dir_info): Constify directory names.  Remove 'used' field.
2793         (struct file_name_acquire_data): New.
2794         (file_name_acquire): New.
2795         (output_file_names): Modify to handle new file data structures.
2796         (add_src_coords_attributes): Use add_AT_file.
2797         (add_call_src_coords_attributes): Likewise.
2798         (dwarf2out_imported_module_or_decl): Likewise.
2799         (gen_subprogram_die): Modify for new file data structures.
2800         (gen_variable_die): Likewise.
2801         (file_table_eq): New.
2802         (file_table_hash): New.
2803         (file_table_last_lookup): New.
2804         (lookup_filename): Rewrite to handle new file data structures.
2805         (maybe_emit_file): Rewrite to handle new file data structures.
2806         (dwarf2out_source_line): Always call lookup_filename and
2807         maybe_emit_file.
2808         (dwarf2out_init): Create file_table here.
2809         (prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
2810         (file_table_relative_p): New.
2811         (dwarf2out_finish): Change detection of relative filenames
2812         to work with new file data structures.  Move output_line_info call
2813         after debug_info output.
2814
2815 2006-09-11  H.J. Lu  <hongjiu.lu@intel.com>
2816
2817         PR target/13685
2818         PR target/27537
2819         PR target/28621
2820         * config/i386/i386.c (override_options): Always default to 16
2821         byte stack boundary.
2822
2823 2006-09-11  Alexandre Oliva  <aoliva@redhat.com>
2824
2825         PR target/28672
2826         * var-tracking.c (dump_dataflow_set): Start dumping at
2827         register zero.
2828         (clobber_variable_part): Kill only the variable part in
2829         registers holding it, leaving other variables alone.
2830
2831 2006-09-11  Josh Triplett  <josh@freedesktop.org>
2832
2833         * doc/extend.texi (Other Builtins): Actually use the macro
2834         argument in the documentation example for
2835         __builtin_types_compatible_p.
2836
2837 2006-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2838
2839         PR rtl-optimization/28726
2840         * sched-deps.c (sched_analyze_reg): New function extracted from...
2841         (sched_analyze_1): ...here.  Call it to analyze references to
2842         registers.  Treat again writes to a stack register as writing to the
2843         register.
2844         (sched_analyze_2): ...and here.  Call it to analyze references to
2845         registers.  Treat again reads of a stack register as reading the
2846         register.
2847
2848 2006-09-11  Guenter Roeck  <guenter@roeck-us.net>
2849             David Edelsohn  <edelsohn@gnu.org>
2850
2851         PR target/27287
2852         * config/rs6000/spe.md (frob_df_di): Remove %H.
2853         (frob_di_df): Remove %H.  Change evmergelo to mr.
2854         (frob_di_df_2): Remove %H.  Change evldd to two loads.
2855
2856 2006-09-11  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
2857
2858         * doc/cpp.texi: Fix names of charset options.
2859
2860 2006-09-10  Andrew Pinski  <pinskia@physics.uc.edu>
2861
2862         PR target/29009
2863         * config/i386/i386.c (override_options): Use 128-bit
2864         stack boundary always for 64bits.
2865
2866 2006-09-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2867
2868         PR rtl-optimization/28636
2869         * combine.c (force_to_mode): Test for side-effects before
2870         substituting by zero.
2871         (simplify_shift_const): Likewise for zero or other constants.
2872
2873 2006-09-10  Steven Bosscher  <steven@gcc.gnu.org>
2874
2875         PR middle-end/26983
2876         * builtins.c (expand_builtin_setjmp): Force next_lab to be
2877         preserved.
2878
2879 2006-09-10  Richard Sandiford  <richard@codesourcery.com>
2880
2881         PR target/29006
2882         * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
2883         * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
2884         returned by mode_for_size, rather than the mode of src itself,
2885         to choose between 32-bit and 64-bit patterns.
2886         (mips_mem_fits_mode_p): New function.
2887         * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
2888         that the size of the source matches the size of the destination.
2889         (mov_<store>l, mov_<store>r): Likewise.
2890
2891 2006-09-10  Eric Christopher  <echristo@apple.com>
2892
2893         * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
2894         for literal16.
2895
2896 2006-09-09  Eric Christopher  <echristo@apple.com>
2897
2898         PR target/28995
2899         * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
2900         for literal16.
2901
2902 2006-09-09  Roger Sayle  <roger@eyesopen.com>
2903             Nicolas Setton <setton@adacore.com>
2904
2905         * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
2906
2907 2006-09-10  Andreas Schwab  <schwab@suse.de>
2908
2909         * config/m68k/m68k.md (bungt_rev): New pattern.
2910
2911 2006-09-09  Paolo Bonzini  <bonzini@gnu.org>
2912             Dale Johannesen  <dalej@apple.com>
2913
2914         PR target/26778
2915         * regclass.c (struct reg_pref): Update documentation.
2916         (regclass): Set prefclass to NO_REGS if memory is the best option.
2917         (record_reg_classes): Cope with a prefclass set to NO_REGS.
2918
2919 2006-09-08  Eric Christopher  <echristo@apple.com>
2920
2921         * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
2922         * config/t-slibgcc-darwin: Support x86_64 multilib.
2923         * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
2924         Return 1 for x86_64-darwin.
2925         * config/i386/t-darwin: Add m64 multilib.
2926         (LIB2_SIDITI_CONV_FUNCS): Use.
2927         (LIB2FUNCS_EXTRA): Ditto.
2928         * config/i386/darwin.h: Support x86_64.
2929         * config/i386/i386.c (override_options): Turn on flag_pic
2930         for x86_64-darwin. Disable flag_omit_pointer.
2931         (get_pc_thunk_name): Assert !TARGET_64BIT.
2932         (legitimate_address_p): Disable machopic addressing for
2933         x86_64.
2934         (legitimize_pic_address): Ditto.
2935         (ix86_expand_move): Ditto.
2936         (ix86_expand_call): Ditto.
2937         (machopic_output_stub): Ditto.
2938         * config/darwin.c (machopic_select_section): Support literal16.
2939         (machopic_select_rtx_section): Ditto.
2940         * config/darwin-sections.def: Ditto.
2941         * config/darwin-64.c: New.
2942
2943 2006-09-08  Joseph S. Myers  <joseph@codesourcery.com>
2944
2945         PR c/28504
2946         * c-tree.h (struct c_arg_info): Add pending_sizes.
2947         * c-parser.c (c_parser_parms_declarator,
2948         c_parser_parms_list_declarator): Initialize pending_sizes.
2949         * c-decl.c (get_parm_info): Initialize pending_sizes.
2950         (get_parm_info): Set pending_sizes.
2951         (grokdeclarator): Call put_pending_sizes for parameters for
2952         function definition only.
2953
2954 2006-09-07  Jason Merrill  <jason@redhat.com>
2955
2956         PR middle-end/27724
2957         * varasm.c (output_constant): Only strip actual no-op conversions.
2958
2959         PR target/13685
2960         * config/i386/i386.c (override_options): Use 128-bit
2961         stack boundary if -msse.
2962
2963 2006-09-07  Eric Christopher  <echristo@apple.com>
2964
2965         * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
2966         comment.
2967         * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
2968         Redefine.
2969
2970 2006-09-07  Geoffrey Keating  <geoffk@apple.com>
2971
2972         * dwarf2out.c: Remove strange characters from comment above
2973         dwarf2out_frame_debug_expr.
2974
2975 2006-09-07  Eric Christopher  <echristo@apple.com>
2976
2977         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
2978         * config/darwin.h: ... to here.
2979
2980 2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>
2981
2982         * config/i386/i386.c (x86_partial_flag_reg_stall): New.
2983
2984         * config/i386/i386.h (x86_partial_flag_reg_stall): New.
2985         (TARGET_PARTIAL_FLAG_REG_STALL): New.
2986
2987         * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
2988         TARGET_PARTIAL_FLAG_REG_STALL.
2989         (*ashldi3_cconly_rex64): Likewise.
2990         (*ashlsi3_cmp): Likewise.
2991         (*ashlsi3_cconly): Likewise.
2992         (*ashlsi3_cmp_zext): Likewise.
2993         (*ashlhi3_cmp): Likewise.
2994         (*ashlhi3_cconly): Likewise.
2995         (*ashlqi3_cmp): Likewise.
2996         (*ashlqi3_cconly): Likewise.
2997         (*ashrdi3_cmp_rex64): Likewise.
2998         (*ashrdi3_cconly_rex64): Likewise.
2999         (*ashrsi3_cmp): Likewise.
3000         (*ashrsi3_cconly): Likewise.
3001         (*ashrsi3_cmp_zext): Likewise.
3002         (*ashrhi3_cmp): Likewise.
3003         (*ashrhi3_cconly): Likewise.
3004         (*ashrqi3_cmp): Likewise.
3005         (*ashrqi3_cconly): Likewise.
3006         (*lshrdi3_cmp_rex64): Likewise.
3007         (*lshrdi3_cconly_rex64): Likewise.
3008         (*lshrsi3_cmp): Likewise.
3009         (*lshrsi3_cconly): Likewise.
3010         (*lshrsi3_cmp_zext): Likewise.
3011         (*lshrhi3_cmp): Likewise.
3012         (*lshrhi3_cconly): Likewise.
3013         (*lshrqi2_cmp): Likewise.
3014         (*lshrqi2_cconly): Likewise.
3015
3016 2006-09-07 Uros Bizjak <uros@kss-loka.si>
3017
3018         PR target/28946
3019         * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
3020         "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
3021         "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
3022         "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
3023         "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
3024         "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
3025         "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
3026         "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
3027         "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
3028         implement only CC setting effects of shift instructions.
3029
3030 2006-09-07  Martin Michlmayr  <tbm@cyrius.com>
3031
3032         * doc/contrib.texi: Add myself.
3033
3034 2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>
3035
3036         PR middle-end/28862
3037         * stor-layout.c (relayout_decl): Don't zero the alignment if it
3038         was set by the user.
3039
3040 2006-09-07  Paolo Bonzini  <bonzini@gnu.org>
3041
3042         PR target/27117
3043         * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
3044         (divsi_inv_m1): Use them.
3045         (UNSPEC_DIV_INV_TABLE): New constant.
3046
3047 2006-09-06  James E Wilson  <wilson@specifix.com>
3048
3049         PR rtl-opt/27883
3050         * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
3051         then call count_or_remove_death_notes.
3052
3053 2006-09-06  Jason Merrill  <jason@redhat.com>
3054
3055         PR c++/27371
3056         * tree-inline.c (copy_result_decl_to_var): New fn.
3057         (declare_return_variable): Use it.  Call declare_inline_vars here.
3058         (expand_call_inline): Not here.
3059
3060 2006-09-06  Diego Novillo  <dnovillo@redhat.com>
3061
3062         * doc/contrib.texi: Update my entry.
3063
3064 2006-09-06  Nick Clifton  <nickc@redhat.com>
3065
3066         * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
3067
3068 2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
3069
3070         PR tree-opt/28937
3071         * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
3072         (canonicalize_induction_variables): Likewise.
3073         (tree_unroll_loops_completely): Likewise.
3074         (tree_ssa_prefetch_arrays): Likewise.
3075         (remove_empty_loops): Likewise.
3076         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
3077         TODO_cleanup_cfg instead of directly calling
3078         cleanup_tree_cfg_loop.
3079         * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
3080         Likewise.
3081         (tree_unroll_loops_completely): Likewise.
3082         (remove_empty_loops): Likewise.
3083         * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
3084         * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
3085         of tree_ssa_unswitch_loops.
3086         (tree_ssa_loop_ivcanon): Use the return value of
3087         canonicalize_induction_variables.
3088         (tree_ssa_empty_loop): Use the return value of
3089         remove_empty_loops.
3090         (tree_complete_unroll): Use the return value of
3091         tree_unroll_loops_completely.
3092         (tree_ssa_loop_prefetch): Use the return value of
3093         tree_ssa_prefetch_arrays.
3094         * passes.c (execute_todo): Before Cleanup CFG, set
3095         updating_used_alone and after cleanup CFG, call
3096         recalculate_used_alone.
3097
3098 2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
3099
3100         PR tree-opt/28952
3101         * tree-vect-transform.c (vectorizable_condition): Move the check
3102         for the type after the check for simple condition.
3103
3104 2006-09-05  J"orn Rennecke  <joern.rennecke@st.com>
3105             Kaz Kojima  <kkojima@gcc.gnu.org>
3106
3107         PR target/28764
3108         * mode-switching.c (optimize_mode_switching): Make the destination
3109         block of an abnormal edge have no anticipatable mode.  Don't
3110         insert mode switching code at the end of the source block of
3111         an abnormal edge.
3112
3113 2006-09-05  Paolo Bonzini  <bonzini@gnu.org>
3114
3115         PR rtl-optimization/26847
3116         * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
3117         (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
3118         (simplify_plus_minus): Count n_constants while filling ops.  Replace
3119         qsort with insertion sort.  Before going through the array to simplify
3120         pairs, sort it.  Delay early exit until after the first sort, exiting
3121         only if no swaps occurred.  Simplify pairs in reversed order, without
3122         special-casing the first iteration.  Pack ops after simplifying pairs.
3123
3124 2006-09-05  Anatoly Sokolov <aesok@post.ru>
3125
3126         * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
3127         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
3128         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
3129         (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
3130
3131 2006-09-05  Richard Guenther  <rguenther@suse.de>
3132
3133         PR tree-optimization/28900
3134         * tree-if-conv.c (find_phi_replacement_condition): Gimplify
3135         compound conditional before creating COND_EXPR condition.
3136
3137 2006-09-05  Richard Guenther  <rguenther@suse.de>
3138
3139         PR tree-optimization/28905
3140         * tree-vrp.c (fix_equivalence_set): Manually implement
3141         !value_ranges_intersect_p to also handle symbolic ranges.
3142
3143 2006-09-05  Richard Guenther  <rguenther@suse.de>
3144
3145         PR middle-end/28935
3146         * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
3147         of a COND_EXPR.
3148
3149 2006-09-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3150
3151         PR rtl-optimization/27616
3152         * cse.c (table_size): New static variable.
3153         (new_basic_block): Initialize it to 0.
3154         (remove_from_table): Decrement it.
3155         (insert): Increment it.
3156         (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
3157         (fold_rtx_mem): Enforce a cap on the recursion depth.  Call
3158         fold_rtx_mem_1 if under the cap.
3159         (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
3160         the lookup of the equivalent expression and test for equality of the
3161         first operand of the equivalent expression before in turn looking up
3162         an equivalent constant for the second operand.
3163
3164 2006-09-02  Geoffrey Keating  <geoffk@apple.com>
3165
3166         Revert this change:
3167         2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
3168         * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
3169         pointer, instead of assuming it is possible to derive the
3170         correct args size from a call insn.
3171
3172 2006-09-02  Jakub Jelinek  <jakub@redhat.com>
3173
3174         PR middle-end/27567
3175         * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
3176         (fold_builtin_mempcpy): Rename to...
3177         (fold_builtin_memory_op): ... this.  Optimize one element copy
3178         into an assignment.
3179         (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
3180         functions.
3181         (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
3182         (expand_builtin_memcpy, expand_builtin_mempcpy,
3183         expand_builtin_memmove): Likewise.  Use fold_builtin_memory_op.
3184         (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
3185         BUILT_IN_BCOPY.  Use fold_builtin_memory_op for
3186         BUILT_IN_MEM{CPY,PCPY,MOVE}.
3187
3188 2006-09-01  DJ Delorie  <dj@redhat.com>
3189
3190         * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
3191         (stzx_16): Likewise.
3192         ("stzx_24_<mode>"): Likewise.
3193         ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
3194         ("cmp<mode>_op"): New.
3195         (cmp<mode>): Change to expander; just save operands.
3196         (b<code>_op): New.
3197         (b<code>): Change to expander, emit compare here.
3198         (s<code>_op): Change to use split and expander.
3199         (s<code>_24_op): Likewise.
3200         (s<code>_<mode>): New.
3201         (s<code>_<mode>_24): New.
3202         (movqicc_<code>_<mode): New.
3203         (movhicc_<code>_<mode>): New.
3204         (s<code>): New.
3205         (s<code>_24): New.
3206         * config/m32c/m32c.c (compare_op0, compare_op1): New.
3207         (m32c_pend_compare): New.
3208         (m32c_unpend_compare): New.
3209         (m32c_expand_scc): New.
3210         (m32c_expand_movcc): Emit the compare also.
3211         * config/m32c/predicates.md (mra_nopp_operand): New.
3212
3213 2006-09-01  J"orn Rennecke  <joern.rennecke@st.com>
3214         Richard Guenther  <rguenther@suse.de>
3215         Adam Nemet  <anemet@caviumnetworks.com>
3216
3217         PR middle-end/27226
3218         * builtins.c (get_pointer_alignment): Handle more forms
3219         of base addresses that can be used to derive more precise
3220         information about alignment.
3221
3222 2006-09-01  Jason Merrill  <jason@redhat.com>
3223
3224         PR c++/28899
3225         * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
3226         want_value.
3227
3228         * gimplify.c (voidify_wrapper_expr): Handle null type.
3229
3230 2006-09-01  Josh Conner  <jconner@apple.com>
3231
3232         PR c++/25505
3233         * tree-nrv.c (dest_safe_for_nrv_p): New function.
3234         (execute_return_slot_opt): Use it.
3235
3236 2006-08-31  Josh Conner  <jconner@apple.com>
3237
3238         PR c++/25505
3239         * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
3240         returning aggregates.
3241
3242 2006-08-31  Zdenek Dvorak <dvorakz@suse.cz>
3243
3244         PR tree-optimization/28839
3245         * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
3246         blocks in that phi arguments appear.
3247
3248 2006-08-31  Roger Sayle  <roger@eyesopen.com>
3249
3250         PR other/22313
3251         * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
3252         NULL, otherwise use an advance_loc4 to adjust relative to the
3253         current label.
3254         (output_cfi) <DW_CFA_set_loc>: Update the current label.
3255         (dwarf2out_switch_text_section): Reset the current label to avoid
3256         using advance_loc4 over section boundaries.
3257
3258 2006-08-31  Andreas Krebbel  <krebbel1@de.ibm.com>
3259
3260         PR target/24367
3261         * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
3262         r12 + SYMBOLIC_CONST.
3263
3264 2006-08-30  Richard Guenther  <rguenther@suse.de>
3265
3266         * Makefile.in (see.o): Add $(EXPR_H) dependency.
3267
3268 2006-08-30  Zdenek Dvorak <dvorakz@suse.cz>
3269
3270         PR rtl-optimization/27735
3271         * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
3272         Add new argument to keep track of whether an irreducible region
3273         was affected.  All callers changed.
3274         (fix_irreducible_loops): Removed.
3275         (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
3276         flags were invalidated.
3277
3278 2006-08-29  H.J. Lu  <hongjiu.lu@intel.com>
3279
3280         * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
3281         instead of SF operands.
3282         (*fop_df_comm_sse): Likewise.
3283         (*fop_df_comm_i387): Likewise.
3284         (*fop_df_1_mixed): Likewise.
3285         (*fop_df_1_sse): Likewise.
3286
3287 2006-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
3288             J"orn Rennecke  <joern.rennecke@st.com>
3289
3290         PR tree-optimization/17506
3291         * tree-ssa.c (warn_uninit): If warning about a location outside of
3292         the current function, note where the variable was declared.
3293
3294 2006-08-28  Zdenek Dvorak <dvorakz@suse.cz>
3295
3296         PR tree-optimization/28411
3297         * double-int.c (double_int_div): Use double_int_divmod.
3298         (double_int_divmod, double_int_sdivmod, double_int_udivmod,
3299         double_int_mod, double_int_smod, double_int_umod): New functions.
3300         * double-int.h (double_int_divmod, double_int_sdivmod,
3301         double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
3302         Declare.
3303         * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
3304         in double_int.
3305         (get_computation_aff, get_computation_cost_at): Handle double_int
3306         return type of constant_multiple_of.
3307
3308 2006-08-28  Kazu Hirata  <kazu@codesourcery.com>
3309
3310         PR middle-end/26632
3311         * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
3312         an implicit conversion.
3313
3314 2006-08-28  Prafulla Thakare  <prafullat@kpitcummins.com>
3315
3316         * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
3317
3318 2006-08-27  Roger Sayle  <roger@eyesopen.com>
3319
3320         * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
3321         x87 instructions.
3322
3323 2006-08-27  Kazu Hirata  <kazu@codesourcery.com>
3324
3325         * config/i386/crtfastmath.c: Fix a comment typo.
3326
3327 2006-08-26  Roger Sayle  <roger@eyesopen.com>
3328
3329         * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
3330         temporary visit flags on CASE_LABEL_EXPRs.
3331         * c-common.c (match_case_to_enum): Add function comment.  Avoid
3332         O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
3333         (c_do_switch_warnings):  Reorganize to record CASE_LOW_SEEN and
3334         CASE_HIGH_SEEN for enumerated types.  If the switch expression is
3335         a constant, only warn if that constant value isn't handled.
3336
3337 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
3338
3339         PR c++/24009
3340         * input.h (restore_input_file_stack): Declare.
3341         (INPUT_FILE_STACK_BITS): Define.
3342         * toplev.c (fs_p, input_file_stack_history,
3343         input_file_stack_restored, restore_input_file_stack): New.
3344         (push_srcloc, pop_srcloc): Check for input_file_stack_tick
3345         overflowing INPUT_FILE_STACK_BITS bits.  Save new state of stack.
3346         (pop_srcloc): Don't free old state of stack.
3347
3348 2006-08-26  David Edelsohn  <edelsohn@gnu.org>
3349
3350         PR target/27544
3351         * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
3352         (PowerPC Type Attributes): New.
3353
3354 2006-08-26  Bob Wilson  <bob.wilson@acm.org>
3355
3356         * config/xtensa/xtensa.c (function_arg_boundary): New.
3357         (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
3358         STACK_BOUNDARY.
3359         * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
3360         function_arg_boundary function that limits alignment to STACK_BOUNDARY.
3361
3362 2006-08-26  Jakub Jelinek  <jakub@redhat.com>
3363
3364         PR middle-end/28683
3365         * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
3366         3 following insns.
3367
3368 2006-08-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3369
3370         * flow.c (verify_wide_reg): Use internal_error for consistency failure.
3371         (verify_local_live_at_start): Likewise.
3372
3373 2006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
3374
3375         PR c/27893
3376         * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
3377         omp_add_variable): Treat sizes as variable whenever not
3378         INTEGER_CST.
3379
3380 2006-08-26  Richard Guenther  <rguenther@suse.de>
3381
3382         PR middle-end/28814
3383         * fold-const.c (fold_binary): Fold temporary to correct
3384         type before constructing new comparison.
3385
3386 2006-08-25  Fariborz Jahanian  <fjahanian@apple.com>
3387
3388         PR c/28418
3389         * c-gimplify.c (gimplify_compound_literal_expr): Don't add
3390         variable again if DECL_SEEN_IN_BIND_EXPR_P.
3391
3392 2006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
3393
3394         PR c/28299
3395         * c-decl.c (start_function): Don't try to process prototype
3396         information from old declaration that isn't a function.
3397
3398 2006-08-25  Jan Hubicka  <jh@suse.cz>
3399
3400         PR target/28621
3401         * config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
3402
3403 2006-08-25  Alan Modra  <amodra@bigpond.net.au>
3404
3405         PR target/27075
3406         * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
3407         for 8 byte objects.
3408
3409 2006-08-25  J"orn Rennecke  <joern.rennecke@st.com>
3410
3411         PR tree-optimization/16876
3412         * c-typeck.c (c_convert_parm_for_inlining): Don't take early
3413         exit if PARM doesn't match VALUE.
3414
3415 2006-08-25  Bob Wilson  <bob.wilson@acm.org>
3416
3417         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
3418         literal_prefix directive.
3419         (XTENSA_DECLARE_FUNCTION_SIZE): Delete.
3420         * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
3421         * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
3422
3423 2006-08-25  David Edelsohn  <edelsohn@gnu.org>
3424
3425         PR target/28753
3426         * config/rs6000/rs6000.md (movcc_internal1): Change operand 1
3427         predicate to general_operand.  Add 0->y and I->r alternatives.
3428
3429 2006-08-25  Kazu Hirata  <kazu@codesourcery.com>
3430
3431         * doc/tm.texi: Fix a typo.
3432         * predict.c: Fix comment typos.
3433
3434 2006-08-25  Nick Clifton  <nickc@redhat.com>
3435
3436         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
3437         assertions of "cpu" and "machine".
3438
3439 2006-08-24  Andrew Pinski  <pinskia@physics.uc.edu>
3440
3441         PR tree-opt/28807
3442         * tree-ssa-operands.c (access_can_touch_variable): Don't say
3443         the access through a base which has an alias set of 0 cannot
3444         touch the variable.
3445
3446 2006-08-24  Bill Wendling  <wendling@apple.com>
3447
3448         * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
3449
3450 2006-08-24  Jan Hubicka  <jh@suse.cz>
3451
3452         * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
3453
3454 2006-08-24  Jan Hubicka  <jh@suse.cz>
3455
3456         PR debug/26881
3457         * cgraph.c: Fix comments.
3458         (cgraph_varpool_mark_needed_node): Mark only variables not already
3459         output to file.
3460         * cgraphunit.c: Update comments; include gt-cgraphunit.h
3461         (cgraph_varpool_assembled_nodes_queue): New static variable.
3462         (cgraph_varpool_assemble_decl): Record output decls for debug out code.