1169689Skan2006-12-29  Paolo Bonzini  <bonzini@gnu.org>
2169689Skan
3169689Skan	PR bootstrap/29544
4169689Skan        * gcc/Makefile.in (STAGE1_CHECKING): Rename to...
5169689Skan        (STAGE1_CHECKING_CFLAGS): ... this.
6169689Skan
7169689Skan2006-12-28  H.J. Lu  <hongjiu.lu@intel.com>
8169689Skan
9169689Skan	Backport from mainline:
10169689Skan	2006-12-02  H.J. Lu  <hongjiu.lu@intel.com>
11169689Skan
12169689Skan	PR target/30040
13169689Skan	* config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
14169689Skan	(host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
15169689Skan	processor detection.
16169689Skan
17169689Skan	* config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
18169689Skan	-march=native if there is no -mtune=*.
19169689Skan
20169689Skan	* config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
21169689Skan	coretypes.h.
22169689Skan
23169689Skan2006-12-27  Ian Lance Taylor  <iant@google.com>
24169689Skan
25169689Skan	PR debug/26964
26169689Skan	* dwarf2out.c (gen_type_die): Don't write out a DIE for
27169689Skan	ENUMERAL_TYPE if it was already written out.
28169689Skan
29169689Skan2006-12-23  Eric Botcazou  <ebotcazou@adacore.com>
30169689Skan
31169689Skan	* dwarf2out.c (dbx_reg_number): Do leaf register remapping
32169689Skan	only if the function is leaf.
33169689Skan	(multiple_reg_loc_descriptor): Likewise.
34169689Skan
35169689Skan2006-12-21  Jakub Jelinek  <jakub@redhat.com>
36169689Skan
37169689Skan	PR middle-end/30262
38169689Skan	PR middle-end/30263
39169689Skan	* tree-nested.c (walk_asm_expr): New function.
40169689Skan	(walk_stmts): Use it for ASM_EXPR.
41169689Skan
42169689Skan	PR target/30230
43169689Skan	* config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
44169689Skan	(bundling): Use it.
45169689Skan
46169689Skan2006-12-17  Matthias Klose  <doko@debian.org>
47169689Skan
48169689Skan	PR libstdc++/11953
49169689Skan	* gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.
50169689Skan
51169689Skan2006-12-16  Joseph Myers  <joseph@codesourcery.com>
52169689Skan            David Edelsohn  <edelsohn@gnu.org>
53169689Skan
54169689Skan	PR target/24036
55169689Skan	* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
56169689Skan	HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
57169689Skan	* defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
58169689Skan	HARD_REGNO_NREGS_WITH_PADDING): Define.
59169689Skan	* config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
60169689Skan	HARD_REGNO_NREGS_WITH_PADDING): Define.
61169689Skan	* rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
62169689Skan	Use new macros to detect modes with holes; do not look at integer
63169689Skan	units.
64169689Skan	(subreg_offset_representable_p): Check for and disallow cases
65169689Skan	where the modes use different numbers of bits from registers.
66169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
67169689Skan	constant for soft-float.
68169689Skan	(rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
69169689Skan	containing doubles.
70169689Skan	(rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
71169689Skan	in E500 double case.
72169689Skan	* config/rs6000/rs6000.md (movtf): Allow soft-float.
73169689Skan	(movtf_softfloat): New.
74169689Skan
75169689Skan2006-12-15  Jakub Jelinek  <jakub@redhat.com>
76169689Skan
77169689Skan	PR target/30185
78169689Skan	* config/rs6000/rs6000.md (div<mode>3): Use correct mode in
79169689Skan	force_reg call.
80169689Skan
81169689Skan2006-12-13  Richard Guenther  <rguenther@suse.de>
82169689Skan
83169689Skan	* ipa-inline.c (cgraph_flatten_node): Replace leafify with
84169689Skan	flatten.
85169689Skan	(cgraph_decide_inlining): Likewise.
86169689Skan
87169689Skan2006-12-13  Richard Guenther  <rguenther@suse.de>
88169689Skan
89169689Skan	* ipa-reference.c (scan_for_static_refs): Also scan
90169689Skan	tcc_comparison class trees.
91169689Skan
92169689Skan2006-12-12  Daniel Berlin  <dberlin@dberlin.org>
93169689Skan
94169689Skan	* tree-ssa-structalias.c (handle_ptr_arith): Return false when we
95169689Skan	can't handle the pointer arithmetic.
96169689Skan
97169689Skan2006-12-12  Jakub Jelinek  <jakub@redhat.com>
98169689Skan
99169689Skan	PR libstdc++/11953
100169689Skan	* gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.
101169689Skan
102169689Skan	* config/ia64/linux.h (CPP_SPEC): Define.
103169689Skan	* config/s390/linux.h (CPP_SPEC): Define.
104169689Skan
105169689Skan2006-12-12  Jim Wilson  <wilson@specifix.com>
106169689Skan	    Jakub Jelinek  <jakub@redhat.com>
107169689Skan
108169689Skan	PR rtl-optimization/27761
109169689Skan	* combine.c (try_combine): Don't create a useless garbage SET
110169689Skan	if PATTERN (i2) is a PARALLEL.  If added_sets_1, save
111169689Skan	PATTERN (i1) resp. SET from i1src to i1dest in i1pat
112169689Skan	and use it to prevent accidental modification of i1src.
113169689Skan
114169689Skan2006-12-12  Richard Guenther  <rguenther@suse.de>
115169689Skan
116169689Skan	PR middle-end/30147
117169689Skan	* fold-const.c (fold_read_from_constant_string): Only fold read
118169689Skan	from constant string if the result type is integer.
119169689Skan
120169689Skan2006-12-09  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
121169689Skan
122169689Skan	* haifa-sched.c (schedule_block): Remove excessive sanity check.
123169689Skan
124169689Skan2006-12-08  Mike Stump  <mrs@apple.com>
125169689Skan
126169689Skan	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
127169689Skan	libgcc with -mmacosx-version-min=10.4.
128169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
129169689Skan	G4 for 10.5+ unless doing kernel builds.
130169689Skan
131169689Skan2006-12-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
132169689Skan
133169689Skan	PR target/30039
134169689Skan	* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
135169689Skan	patterns.  Correct length of high:DI instruction sequence.
136169689Skan
137169689Skan2006-12-07  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
138169689Skan
139169689Skan	PR target/29794
140169689Skan	* sched-rgn.c (add_block1): Use correct initializer.
141169689Skan
142169689Skan2006-12-05  H.J. Lu  <hongjiu.lu@intel.com>
143169689Skan
144169689Skan	PR driver/30074
145169689Skan	* config.host: Add driver-i386.o only if compiling for x86 or
146169689Skan	x86_64.
147169689Skan
148169689Skan2006-12-04  Jakub Jelinek  <jakub@redhat.com>
149169689Skan
150169689Skan	PR libgomp/29947
151169689Skan	* omp-low.c (expand_omp_for_static_nochunk,
152169689Skan	expand_omp_for_static_chunk): Do all arithmetics in signed rather than
153169689Skan	unsigned type.
154169689Skan
155169689Skan	PR middle-end/29965
156169689Skan	* omp-low.c (determine_parallel_type): Don't try to optimize combined
157169689Skan	parallels if region->exit or region->inner->exit is NULL.
158169689Skan	(expand_omp_parallel): Handle NULL region->exit even if cfg is already
159169689Skan	built.
160169689Skan	(expand_omp_for_generic): Handle NULL region->cond and region->exit.
161169689Skan	(expand_omp_for): Use expand_omp_for_generic if either region->cond
162169689Skan	or region->exit is NULL.
163169689Skan	(expand_omp_sections): Handle NULL region->cond or region->exit.
164169689Skan	(expand_omp_synch): 
165169689Skan
166169689Skan2006-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
167169689Skan
168169689Skan	* doc/install.texi: Update MPFR prerequisite to version 2.2.1.
169169689Skan
170169689Skan2006-12-02  Andrew Pinski  <pinskia@gmail.com>
171169689Skan
172169689Skan	PR tree-opt/29984
173169689Skan	* tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR
174169689Skan	and MIN_EXRP.
175169689Skan
176169689Skan2006-11-29  Joseph Myers  <joseph@codesourcery.com>
177169689Skan
178169689Skan	* config/rs6000/predicates.md (gpc_reg_operand): Check
179169689Skan	invalid_e500_subreg.
180169689Skan	* config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
181169689Skan	SImode subregs of SPE vectors.
182169689Skan	* config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
183169689Skan	* jump.c (true_regnum): Require subregs to satisfy
184169689Skan	subreg_offset_representable_p.
185169689Skan
186169689Skan2006-11-29  Jie Zhang  <jie.zhang@analog.com>
187169689Skan
188169689Skan	* doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
189169689Skan
190169689Skan2006-11-29  Jim Tison  <jtison@us.ibm.com>
191169689Skan
192169689Skan	* gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
193169689Skan	__gthread_recursive_mutex_init): Define.
194169689Skan
195169689Skan2006-11-29  Joseph Myers  <joseph@codesourcery.com>
196169689Skan
197169689Skan	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
198169689Skan	STRICT_ALIGNMENT and the type is more aligned than the saved
199169689Skan	registers, copy via a temporary.
200169689Skan
201169689Skan2006-11-28  Joseph Myers  <joseph@codesourcery.com>
202169689Skan
203169689Skan	* function.c (instantiate_virtual_regs_in_insn): Call force_reg
204169689Skan	inside start_sequence / end_sequence pair.
205169689Skan
206169689Skan2006-11-27  Michael Matz  <matz@suse.de>
207169689Skan            Andreas Krebbel  <krebbel1@de.ibm.com>
208169689Skan
209169689Skan	PR target/29319
210169689Skan	* config/s390/predicates.md (larl_operand): Check addend of larl
211169689Skan	operand to be in range of -/+2GB.
212169689Skan	* config/s390/s390.c (legitimize_pic_address): Likewise.  
213169689Skan	Changed type of variable even to HOST_WIDE_INT.
214169689Skan
215169689Skan2006-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
216169689Skan
217169689Skan	* doc/install.texi: Remove documentation for --with-mpfr-dir
218169689Skan	and --with-gmp-dir, add documentation for --with-mpfr-include,
219169689Skan	--with-mpfr-lib, --with-gmp-include and --with-gmp-lib.
220169689Skan
221169689Skan2006-11-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
222169689Skan
223169689Skan	PR tree-opt/29964
224169689Skan	* ipa-pure-const.c (check_tree): If the original tree
225169689Skan	is volatile return early and say the function is not pure
226169689Skan	nor const.  Remove the volatile check for writes.  
227169689Skan	(analyze_function): Print out the result of the local
228169689Skan	analysis pass.
229169689Skan
230169689Skan2006-11-24  Jakub Jelinek  <jakub@redhat.com>
231169689Skan
232169689Skan	PR c/29955
233169689Skan	* c-tree.h (c_maybe_initialize_eh): New prototype.
234169689Skan	* c-decl.c (finish_decl): Move EH initialization...
235169689Skan	(c_maybe_initialize_eh): ... here.  New function.
236169689Skan	* c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh
237169689Skan	if not #pragma omp atomic.
238169689Skan
239169689Skan	PR c/29736
240169689Skan	* c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
241169689Skan	or UNION_TYPE inner types.
242169689Skan
243169689Skan2006-11-24  Joseph Myers  <joseph@codesourcery.com>
244169689Skan
245169689Skan	* config/rs6000/eabispe.h (TARGET_DEFAULT): Include
246169689Skan	MASK_STRICT_ALIGN.
247169689Skan	* config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
248169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Use
249169689Skan	MASK_STRICT_ALIGN for 8540 and 8548.  Add MASK_STRICT_ALIGN to
250169689Skan	POWERPC_MASKS.
251169689Skan
252169689Skan2006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>
253169689Skan
254169689Skan	* config/s390.c (s390_emit_compare_and_swap): New function.
255169689Skan	(s390_expand_cs_hqi, s390_expand_atomic): Call 
256169689Skan	s390_emit_compare_and_swap.
257169689Skan
258169689Skan2006-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
259169689Skan
260169689Skan	* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
261169689Skan
262169689Skan2006-11-22  Joseph Myers  <joseph@codesourcery.com>
263169689Skan
264169689Skan	* config/rs6000/spe.md (SPE64): New mode macro.
265169689Skan	(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0.  Add
266169689Skan	memory load.
267169689Skan	(mov_si<mode>_e500_subreg0_2): New.
268169689Skan	(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4.  Add
269169689Skan	memory load.
270169689Skan	(mov_si<mode>_e500_subreg4_2): New.
271169689Skan	* config/rs6000/predicates.md (input_operand): Do not allow
272169689Skan	invalid E500 subregs.
273169689Skan	(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
274169689Skan	if TARGET_SPE.
275169689Skan	* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
276169689Skan	involving DFmode if TARGET_E500_DOUBLE.  Check for subregs
277169689Skan	involving vector modes if TARGET_SPE.
278169689Skan
279169689Skan2006-11-20  Anatoly Sokolov <aesok@post.ru>
280169689Skan
281169689Skan	PR target/18553
282169689Skan	PR target/29449
283169689Skan	* config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
284169689Skan
285169689Skan	* config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
286169689Skan
287169689Skan2006-11-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
288169689Skan
289169689Skan	PR target/29114
290169689Skan	* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
291169689Skan	larger than BITS_PER_WORD.
292169689Skan
293169689Skan2006-11-19  Richard Guenther  <rguenther@suse.de>
294169689Skan
295169689Skan	Backport from mainline:
296169689Skan	2006-11-15  Paolo Bonzini  <bonzini@gnu.org>
297169689Skan
298169689Skan	PR middle-end/29753
299169689Skan	* gimplify.c (fold_indirect_ref_rhs): Use
300169689Skan	STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
301169689Skan
302169689Skan2006-11-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
303169689Skan
304169689Skan	PR fortran/27885
305169689Skan	PR middle-end/28176
306169689Skan	* stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
307169689Skan	to MAX_FIXED_MODE_SIZE.
308169689Skan
309169689Skan2006-11-18  Aldy Hernandez  <aldyh@redhat.com>
310169689Skan
311169689Skan       * doc/invoke.texi: Fix mno-isel typo.
312169689Skan
313169689Skan2006-11-18  Joseph Myers  <joseph@codesourcery.com>
314169689Skan
315169689Skan	* config/rs6000/spe.md (movv4hi_internal): Add alternative for
316169689Skan	easy vector constant loads.
317169689Skan
318169689Skan2006-11-18  Joseph Myers  <joseph@codesourcery.com>
319169689Skan
320169689Skan	* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
321169689Skan	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
322169689Skan	__NO_LWSYNC__ if TARGET_NO_LWSYNC.
323169689Skan	* config/rs6000/sync.md (lwsync): Emit plain sync if
324169689Skan	TARGET_NO_LWSYNC.
325169689Skan
326169689Skan2006-11-17  Jakub Jelinek  <jakub@redhat.com>
327169689Skan
328169689Skan	PR middle-end/29584
329169689Skan	* tree-ssa-forwprop.c (simplify_switch_expr): Don't
330169689Skan	optimize if DEF doesn't have integral type.
331169689Skan
332169689Skan2006-11-17  Uros Bizjak  <ubizjak@gmail.com>
333169689Skan
334169689Skan	* config/i386/i386.c (ix86_function_sseregparm): Fix comment:
335169689Skan	number of arguments passed to local functions in SSE registers is 3.
336169689Skan
337169689Skan	* doc/invoke.texi (Function Attributes) [sseregparm]: Correct
338169689Skan	number of arguments passed in SSE registers to 3.
339169689Skan
340169689Skan2006-11-16  Eric Botcazou  <ebotcazou@adacore.com>
341169689Skan
342169689Skan	PR middle-end/26306
343169689Skan	* gimplify.c (gimplify_expr): Only force a load for references to
344169689Skan	non-BLKmode volatile values.
345169689Skan	* doc/implement-c.texi (Qualifiers implementation): Document the
346169689Skan	interpretation of what a volatile access is.
347169689Skan	* doc/extend.texi (C++ Extensions): Rework same documentation.
348169689Skan
349169689Skan2006-11-16  Andrew Pinski  <andrew_pinski@playstation.sony.com>
350169689Skan
351169689Skan	PR tree-opt/29788
352169689Skan	* fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
353169689Skan	to what is the const decl is a place holder for.
354169689Skan
355169689Skan2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
356169689Skan
357169689Skan	PR target/29201
358169689Skan	* cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
359169689Skan	bb to ...
360169689Skan	(get_last_bb_insn): ... new global function.
361169689Skan	(basic_block.h): Declare it.
362169689Skan	* haifa-sched.c (create_recovery_block): Use it.
363169689Skan
364169689Skan2006-11-16  Joseph Myers  <joseph@codesourcery.com>
365169689Skan
366169689Skan	* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
367169689Skan	memory operand.
368169689Skan
369169689Skan2006-11-15  Steve Ellcey  <sje@cup.hp.com>
370169689Skan
371169689Skan	* config/ia64/ia64.c (ia64_hpux_init_libfuncs):  Use HP-UX millicode
372169689Skan	routines for integer division.
373169689Skan
374169689Skan2006-11-15  Steve Ellcey  <sje@cup.hp.com>
375169689Skan
376169689Skan	PR other/25028
377169689Skan	* config/ia64/t-hpux (LIB1ASMFUNCS):  Filter out _fixtfdi,
378169689Skan	_fixunstfdi, and  _floatditf
379169689Skan
380169689Skan2006-11-15  Jakub Jelinek  <jakub@redhat.com>
381169689Skan
382169689Skan	PR tree-optimization/29581
383169689Skan	* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
384169689Skan	REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
385169689Skan	type is different between Y and USE, create a temporary
386169689Skan	variable, initialize it at the beginning of the body bb
387169689Skan	and use it as replacement instead of Y.
388169689Skan
389169689Skan2006-11-15  Richard Guenther  <rguenther@suse.de>
390169689Skan
391169689Skan	Backport from mainline:
392169689Skan	2006-11-12  Michael Matz  <matz@suse.de>
393169689Skan		    Roger Sayle  <roger@eyesopen.com>
394169689Skan
395169689Skan	PR rtl-optimization/29797
396169689Skan	* ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
397169689Skan	BITS_BIG_ENDIAN targets.
398169689Skan
399169689Skan2006-11-14  Eric Christopher  <echristo@apple.com>
400169689Skan
401169689Skan	* configure: Regenerate with autoconf 2.59.
402169689Skan
403169689Skan2006-11-13  DJ Delorie  <dj@redhat.com>
404169689Skan
405169689Skan	* config/m32c/m32c.c (m32c_prepare_shift): Use a separate
406169689Skan	temporary for intermediates.
407169689Skan
408169689Skan2006-11-13  Jakub Jelinek  <jakub@redhat.com>
409169689Skan
410169689Skan	* configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
411169689Skan	test.
412169689Skan	* configure: Rebuilt.
413169689Skan
414169689Skan	* configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
415169689Skan	style versions.
416169689Skan	* configure: Rebuilt.
417169689Skan
418169689Skan2006-11-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>
419169689Skan
420169689Skan	PR tree-opt/29439
421169689Skan	* tree-vrp.c (vrp_int_const_binop): Use the correct tree when
422169689Skan	checking for overflow.
423169689Skan
424169689Skan2006-11-13  Richard Guenther  <rguenther@suse.de>
425169689Skan
426169689Skan	Backport from mainline:
427169689Skan	2006-10-23  Richard Guenther  <rguenther@suse.de>
428169689Skan
429169689Skan	PR middle-end/21032
430169689Skan	* convert.c (convert_to_real): Fold (float)-x to -(float)x
431169689Skan	only if not flag_rounding_math.
432169689Skan
433169689Skan2006-11-12  Jason Merrill  <jason@redhat.com>
434169689Skan	    Andrew Pinski <pinskia@physics.uc.edu>
435169689Skan
436169689Skan	PR middle-end/28915
437169689Skan	* gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
438169689Skan	vector ctors.
439169689Skan	* tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
440169689Skan	vector ctors.
441169689Skan	* expmed.c (make_tree): Handle CONST, SYMBOL_REF.
442169689Skan	* tree.c (build_vector): Handle non-_CST elements.
443169689Skan
444169689Skan2006-11-12  Daniel Berlin  <dberlin@dberlin.org>
445169689Skan
446169689Skan	Fix PR tree-optimization/29587
447169689Skan	* tree-ssa-structalias.c (process_constraint): Don't
448169689Skan	mark address taken due only to escaped vars constraint.
449169689Skan
450169689Skan2006-11-12  Jie Zhang  <jie.zhang@analog.com>
451169689Skan
452169689Skan	Revert
453169689Skan	2006-11-11  Jie Zhang  <jie.zhang@analog.com>
454169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
455169689Skan	and __BFIN__.
456169689Skan
457169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
458169689Skan	instead of builtin_define for bfin and BFIN.
459169689Skan
460169689Skan2006-11-11  Jie Zhang  <jie.zhang@analog.com>
461169689Skan
462169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
463169689Skan	and __BFIN__.
464169689Skan
465169689Skan2006-11-11  Richard Sandiford  <richard@codesourcery.com>
466169689Skan
467169689Skan	PR middle-end/27528
468169689Skan	* stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
469169689Skan	constraints accept neither registers or memories.
470169689Skan
471169689Skan2006-11-11  Jie Zhang  <jie.zhang@analog.com>
472169689Skan
473169689Skan	* config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
474169689Skan	(NO_PROFILE_COUNTERS): Define as 1.
475169689Skan
476169689Skan2006-11-09  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
477169689Skan
478169689Skan	PR middle-end/29726
479169689Skan	* fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.
480169689Skan
481169689Skan2006-11-09  Eric Christopher  <echristo@apple.com>
482169689Skan
483169689Skan	PR bootstrap/26892
484169689Skan	PR bootstrap/27814
485169689Skan	PR other/28994
486169689Skan	* configure: Regenerate.
487169689Skan	* configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
488169689Skan	* config.gcc (powerpc64-*-darwin*): New target.
489169689Skan	* config.host: Ditto.
490169689Skan	* config/rs6000/darwin64.h: New file.
491169689Skan	* config/rs6000/x-darwin64: Ditto.
492169689Skan	* config/rs6000/host-ppc64-darwin.c: Ditto.
493169689Skan
494169689Skan2006-11-08  Brooks Moses  <brooks.moses@codesourcery.com>
495169689Skan
496169689Skan	* doc/invoke.texi: Minor formatting fixes in option lists.
497169689Skan
498169689Skan2006-11-08  Eric Christopher  <echristo@apple.com>
499169689Skan
500169689Skan	Backport from mainline:
501169689Skan	* config.gcc: Add x86_64-darwin host support.
502169689Skan	* config.host: Ditto.
503169689Skan	* config/i386/darwin64.h: New file.
504169689Skan	* config/i386/t-darwin64: Ditto.
505169689Skan
506169689Skan2006-11-08  Janis Johnson  <janis187@us.ibm.com>
507169689Skan
508169689Skan	* gcc/doc/sourcebuild.texi (Test Directives): Add output-exists
509169689Skan	and output-exists-not.
510169689Skan
511169689Skan2006-11-07  Richard Guenther  <rguenther@suse.de>
512169689Skan
513169689Skan	PR tree-optimization/29610
514169689Skan	* tree-cfgcleanup.c (cleanup_control_flow): Honor return value
515169689Skan	of tree_purge_dead_eh_edges as it may free dominators.
516169689Skan
517169689Skan	* g++.dg/other/pr29610.C: New testcase.
518169689Skan
519169689Skan2006-11-07  Jie Zhang  <jie.zhang@analog.com>
520169689Skan
521169689Skan	* gcc.c (process_command): Treat -b as normal switch if its argument
522169689Skan	has no dash.
523169689Skan
524169689Skan2006-11-06  Vladimir Prus  <vladimir@codesourcery.com>
525169689Skan
526169689Skan	Backport from mainline:
527169689Skan	* config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do not
528169689Skan	set inhibit_libc.
529169689Skan	* config/arm/t-strongarm-elf: Likewise.
530169689Skan	* config/arm/t-pe: Likewise.
531169689Skan	* config/arm/t-arm-elf: Likewise.
532169689Skan	* config/arm/t-xscale-elf: Likewise.
533169689Skan	* config/arm/t-arm-coff: Likewise.
534169689Skan	* config/arm/t-xscale-coff: Likewise.
535169689Skan	* config/arm/t-wince-pe: Likewise.
536169689Skan
537169689Skan2006-11-06  Richard Guenther  <rguenther@suse.de>
538169689Skan
539169689Skan	Backport from mainline:
540169689Skan	2006-10-21  Richard Guenther  <rguenther@suse.de>
541169689Skan
542169689Skan	PR target/19116
543169689Skan	* config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
544169689Skan	if flag_unsafe_math_optimizations is specified.  We have
545169689Skan	flag_finite_math_only for that.
546169689Skan	* config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
547169689Skan	or flag_unsafe_math_optimizations.
548169689Skan
549169689Skan	PR middle-end/28796
550169689Skan	* simplify-rtx.c (simplify_const_relational_operation):
551169689Skan	Do not constant-fold ORDERED and UNORDERED for
552169689Skan	flag_unsafe_math_optimizations but only we do not need to
553169689Skan	honor NaNs for the given mode.
554169689Skan
555169689Skan2006-11-05  Jakub Jelinek  <jakub@redhat.com>
556169689Skan
557169689Skan	PR middle-end/29695
558169689Skan	* fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
559169689Skan	simplification.
560169689Skan
561169689Skan2006-11-02  Brooks Moses  <brooks.moses@codesourcery.com>
562169689Skan
563169689Skan	* doc/invoke.texi: Fix mfp-trap-mode typo.
564169689Skan
565169689Skan2006-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
566169689Skan
567169689Skan	* doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
568169689Skan	instructions.
569169689Skan	(sparc64-sun-solaris2*): Likewise.
570169689Skan
571169689Skan2006-11-02  Uros Bizjak <ubizjak@gmail.com>
572169689Skan
573169689Skan	PR target/29377
574169689Skan	* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
575169689Skan	argument to HOST_WIDE_INT.  Update function prototype.
576169689Skan	(round_frame_size): Change return type to HOST_WIDE_INT.  Change
577169689Skan	"size" argument to HOST_WIDE_INT.  Update function prototype.
578169689Skan
579169689Skan2006-11-01  Chris Johns <chris@contemporary.net.au>
580169689Skan
581169689Skan	PR bootstrap/28400
582169689Skan	* Makefile.in (install-driver): Use exeext when installing
583169689Skan	$target-gcc-$version.
584169689Skan
585169689Skan2006-11-01  Andrew Haley  <aph@redhat.com>
586169689Skan
587169689Skan	* fold-const.c (fold_unary): Don't fold (t1)(t2) to (t1) if this
588169689Skan	is a Java program.
589169689Skan
590169689Skan2006-11-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
591169689Skan
592169689Skan	* builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
593169689Skan
594169689Skan2006-10-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
595169689Skan
596169689Skan	PR target/24071
597169689Skan	* gthr-posix.h (__gthread_active_p): New implementation on Solaris.
598169689Skan	* gthr-posix95.h (__gthread_active_p): Likewise.
599169689Skan
600169689Skan2006-10-30  Jakub Jelinek  <jakub@redhat.com>
601169689Skan
602169689Skan	PR tree-optimization/29637
603169689Skan	* tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
604169689Skan	of the innertype is the innertype itself.
605169689Skan
606169689Skan	* gcc.dg/pr29637.c: New test.
607169689Skan
608169689Skan2006-10-27  Mike Stump  <mrs@apple.com>
609169689Skan
610169689Skan	* config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
611169689Skan	__DYNAMIC__ from here back to ...
612169689Skan	* config/darwin.h (CPP_SPEC): ... here.
613169689Skan
614169689Skan2006-10-26  Andreas Krebbel  <krebbel1@de.ibm.com>
615169689Skan
616169689Skan	* config/s390/s390.c (s390_init_frame_layout): Check positive
617169689Skan	frame_size.
618169689Skan
619169689Skan2006-10-26  Ben Elliston  <bje@au.ibm.com>
620169689Skan
621169689Skan	* doc/extend.texi (Variable Attributes): Typo fix.
622169689Skan
623169689Skan2006-10-25  Steve Ellcey  <sje@cup.hp.com>
624169689Skan
625169689Skan	* config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
626169689Skan	Add unix98.o to link line.
627169689Skan
628169689Skan2006-10-25  Richard Sandiford  <richard@codesourcery.com>
629169689Skan	    David Daney  <ddaney@avtrex.com>
630169689Skan
631169689Skan	PR middle-end/29519
632169689Skan	* rtlanal.c (nonzero_address_p):  Remove check for values wrapping.
633169689Skan
634169689Skan2006-10-25  Daniel Berlin  <dberlin@dberlin.org>
635169689Skan
636169689Skan	* tree-ssa-structalias.c (intra_create_variable_infos):
637169689Skan	  Don't recreate nonlocal_all if it already exists.
638169689Skan
639169689Skan2006-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
640169689Skan
641169689Skan	* config/s390/predicates.md ("bras_sym_operand"): Do not accept
642169689Skan	nonlocal function symbols if flag_pic.
643169689Skan
644169689Skan2006-10-22  Richard Sandiford  <richard@codesourcery.com>
645169689Skan
646169689Skan	* config/mips/mips.c (mips_split_const): Don't accept bare PLUS
647169689Skan	expressions.
648169689Skan
649169689Skan2006-10-20  Mark Mitchell  <mark@codesourcery.com>
650169689Skan
651169689Skan	* DEV-PHASE: Mark as prerelease.
652169689Skan
653169689Skan2006-10-20  Daniel Berlin  <dberlin@dberlin.org>
654169689Skan
655169689Skan	* tree.h (DECL_PTA_ARTIFICIAL): Remove.
656169689Skan	(tree_decl_with_vis): Remove artificial_pta_var flag.
657169689Skan	* tree-flow.h (referenced_var_check_and_insert): Expose.
658169689Skan	(nonlocal_all): New prototype.
659169689Skan	* tree-ssa-structalias.c (nonlocal_for_type): Remove.
660169689Skan	(nonlocal_all): Make global.
661169689Skan	(nonlocal_lookup): Remove.
662169689Skan	(nonlocal_insert): Ditto.
663169689Skan	(create_nonlocal_var): Do not call nonlocal_insert.
664169689Skan	(get_nonlocal_id_for_type): Remove.
665169689Skan	(find_global_initializers): Mark new vars we find for renaming.
666169689Skan	(intra_create_variable_infos): Only create one nonlocal.
667169689Skan	(expand_nonlocal_solutions): Remove.
668169689Skan	(compute_points_to_sets): Don't call it.
669169689Skan	(ipa_pta_execute): Ditto.
670169689Skan	(init_alias_heapvars): Don't create nonlocal_for_type.
671169689Skan	(delete_alias_heapvars): Don't remove it.
672169689Skan	* tree-ssa-operands.c (access_can_touch_variable): Don't prune
673169689Skan	nonlocal_all.
674169689Skan
675169689Skan2006-10-19  Brooks Moses  <bmoses@stanford.edu>
676169689Skan
677169689Skan	* doc/install.texi (Downloading GCC): Clarify mention of
678169689Skan	Fortran in the "full distribution" description.
679169689Skan
680169689Skan2006-10-19  Daniel Berlin  <dberlin@dberlin.org>
681169689Skan
682169689Skan	Fix PR tree-optimization/28778
683169689Skan	Fix PR tree-optimization/29156
684169689Skan	Fix PR tree-optimization/29415
685169689Skan	* tree.h (DECL_PTA_ARTIFICIAL): New macro.
686169689Skan	(tree_decl_with_vis): Add artificial_pta_var flag.
687169689Skan	* tree-ssa-alias.c (is_escape_site): Remove alias info argument,
688169689Skan	pushed into callers.
689169689Skan	* tree-ssa-structalias.c (nonlocal_for_type): New variable.
690169689Skan	(nonlocal_all): Ditto.
691169689Skan	(struct variable_info): Add directly_dereferenced member.
692169689Skan	(var_escaped_vars): New variable.
693169689Skan	(escaped_vars_tree): Ditto.
694169689Skan	(escaped_vars_id): Ditto.
695169689Skan	(nonlocal_vars_id): Ditto.
696169689Skan	(new_var_info): Set directly_dereferenced.
697169689Skan	(graph_size): New variable
698169689Skan	(build_constraint_graph): Use graph_size.
699169689Skan	(solve_graph): Don't process constraints that cannot change the
700169689Skan	solution, don't try to propagate an empty solution to our
701169689Skan	successors.
702169689Skan	(process_constraint): Set directly_dereferenced.
703169689Skan	(could_have_pointers): New function.
704169689Skan	(get_constraint_for_component_ref): Don't process STRING_CST.
705169689Skan	(nonlocal_lookup): New function.
706169689Skan	(nonlocal_insert): Ditto.
707169689Skan	(create_nonlocal_var): Ditto.
708169689Skan	(get_nonlocal_id_for_type): Ditto.
709169689Skan	(get_constraint_for): Allow results vector to be empty in the case
710169689Skan	of string constants.
711169689Skan	Handle results of calls properly.
712169689Skan	(update_alias_info): Update alias info stats on number and type of
713169689Skan	calls.
714169689Skan	(find_func_aliases): Use could_have_pointers.
715169689Skan	(make_constraint_from_escaped): Renamed from
716169689Skan	make_constraint_to_anything, and changed to make constraints from
717169689Skan	escape variable.
718169689Skan	(make_constraint_to_escaped): New function.
719169689Skan	(find_global_initializers): Ditto.
720169689Skan	(create_variable_info_for): Make constraint from escaped to any
721169689Skan	global variable, and from any global variable to the set of
722169689Skan	escaped vars.
723169689Skan	(intra_create_variable_infos): Deal with escaped instead of
724169689Skan	pointing to anything.
725169689Skan	(set_uids_in_ptset): Do type pruning on directly dereferenced
726169689Skan	variables.
727169689Skan	(find_what_p_points_to): Adjust call to set_uids_with_ptset.
728169689Skan	(init_base_vars): Fix comment, and initialize escaped_vars.
729169689Skan	(need_to_solve): Removed.
730169689Skan	(find_escape_constraints): New function.
731169689Skan	(expand_nonlocal_solutions): Ditto.
732169689Skan	(compute_points_to_sets): Call find_escape_constraints and
733169689Skan	expand_nonlocal_solutions.
734169689Skan	(delete_points_to_sets): Don't fall off the end of the graph.
735169689Skan	(init_alias_heapvars): Initialize nonlocal_for_type and
736169689Skan	nonlocal_all.
737169689Skan	(delete_alias_heapvars): Free nonlocal_for_type and null out
738169689Skan	nonlocal_all.
739169689Skan
740169689Skan2006-10-19  Eric Botcazou  <ebotcazou@adacore.com>
741169689Skan
742169689Skan	* fold-const.c (add_double): Rename to add_double_with_sign.
743169689Skan	Add 'unsigned_p' parameter and take it into account for the overflow.
744169689Skan	(mul_double): Rename to mul_double_with_sign.
745169689Skan	Add 'unsigned_p' parameter and take it into account for the overflow.
746169689Skan	(fold_div_compare): Call add_double_with_sign instead of add_double
747169689Skan	and mul_double_with_sign instead of mul_double, passing them the
748169689Skan	unsignedness of the type.
749169689Skan	* tree.h (add_double): Macroize.
750169689Skan	(add_double_with_sign): New prototype.
751169689Skan	(mul_double): Macroize.
752169689Skan	(mul_double_with_sign): New prototype.
753169689Skan
754169689Skan2006-10-19  Chen Liqin  <liqin@sunnorth.com.cn>
755169689Skan
756169689Skan        * config/score/crti.asm: New file.
757169689Skan        * config/score/crtn.asm: New file.
758169689Skan        * config/score/elf.h: New file.
759169689Skan        * config/score/mac.md: New file.
760169689Skan        * config/score/misc.md: New file.
761169689Skan        * config/score/mul-div.S: New file.
762169689Skan        * config/score/predicates.md: New file.
763169689Skan        * config/score/score7.md: New file.
764169689Skan        * config/score/score.c: New file.
765169689Skan        * config/score/score-conv.h: New file.
766169689Skan        * config/score/score.h: New file.
767169689Skan        * config/score/score.md: New file.
768169689Skan        * config/score/score-mdaux.c: New file.
769169689Skan        * config/score/score-mdaux.h: New file.
770169689Skan        * config/score/score-modes.def: New file.
771169689Skan        * config/score/score.opt: New file.
772169689Skan        * config/score/score-protos.h: New file.
773169689Skan        * config/score/score-version.h: New file.
774169689Skan        * config/score/t-score-elf: New file.
775169689Skan        * config.gcc: Add score*-*-* configurations(Update before).
776169689Skan        * doc/invoke.texi (Score Options): New section.
777169689Skan        * doc/md.texi (Score family): New section to document constraints.
778169689Skan
779169689Skan2006-10-19  Nick Clifton  <nickc@redhat.com>
780169689Skan
781169689Skan	* config/arm/arm.c: Fix spelling typo.
782169689Skan
783169689Skan2006-10-18  Tom Tromey  <tromey@redhat.com>
784169689Skan
785169689Skan	* doc/install.texi (Prerequisites): Mention automake 1.9.6.
786169689Skan
787169689Skan2006-10-18  Jan Hubicka  <jh@suse.cz>
788169689Skan
789169689Skan	PR middle-end/29299
790169689Skan	* cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
791169689Skan	are used.
792169689Skan
793169689Skan2006-10-18  Marcin Dalecki  <martin@dalecki.de>
794169689Skan
795169689Skan	* omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
796169689Skan	TSI_SAME_STMT, since that's the desired entity.
797169689Skan
798169689Skan2006-10-17  Wolfgang Gellerich  <gellerich@de.ibm.com>
799169689Skan
800169689Skan	* config/s390/contraints.md: New file.
801169689Skan        * config/s390/s390-protos.h (s390_mem_constraint,
802169689Skan	s390_O_constraint_str, s390_N_constraint_str,
803169689Skan	s390_float_const_zero_p): Function prototypes added.
804169689Skan	* config/s390/s390.c (s390_extra_constraint_str,
805169689Skan	s390_const_double_ok_for_constraint_p,
806169689Skan	s390_const_ok_for_constraint_p): Functions removed.
807169689Skan        (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
808169689Skan	s390_float_const_zero_p): New functions.
809169689Skan	* config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
810169689Skan	CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
811169689Skan	EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
812169689Skan	Macro definitions removed.
813169689Skan	(s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
814169689Skan	s390_extra_constraint_str): Functions removed.
815169689Skan
816169689Skan2006-10-17  Andrew Pinsiki  <pinskia@gmail.com>
817169689Skan	    Richard Sandiford  <richard@codesourcery.com>
818169689Skan
819169689Skan	PR target/29413
820169689Skan	* config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
821169689Skan	* config/mips/mips.h (CC1_SPEC): Override any earlier definition.
822169689Skan
823169689Skan2006-10-16  Geoffrey Keating  <geoffk@apple.com>
824169689Skan
825169689Skan	* config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
826169689Skan	(DWARF2_FRAME_REG_OUT): Likewise.
827169689Skan	* config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
828169689Skan	(DWARF2_FRAME_REG_OUT): Likewise.
829169689Skan
830169689Skan2006-10-17  Paul Brook  <paul@codesourcery.com>
831169689Skan
832169689Skan	* config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
833169689Skan
834169689Skan2006-10-16  Brooks Moses  <bmoses@stanford.edu>
835169689Skan
836169689Skan	* doc/contrib.texi, doc/install.texi, doc/standards.texi:
837169689Skan	Standardize on "GNU Fortran" as the official name of the Fortran
838169689Skan	compiler.
839169689Skan
840169689Skan2006-10-16  Mike Stump  <mrs@apple.com>
841169689Skan
842169689Skan	* doc/invoke.texi (Darwin Options): Document -mkernel.
843169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
844169689Skan	-mkernel support.
845169689Skan	(C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support.  Add
846169689Skan	SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
847169689Skan	(CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
848169689Skan	(OS_MISSING_ALTIVEC): Add.
849169689Skan	* config/i386/i386.c (override_options): Add
850169689Skan	SUBSUBTARGET_OVERRIDE_OPTIONS callout.
851169689Skan	* config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
852169689Skan	-mkernel, -static or -mdynamic-no-pic is given.
853169689Skan	(C_COMMON_OVERRIDE_OPTIONS): Add.
854169689Skan	* config/darwin.opt (fapple-kext): Add.
855169689Skan	(mkernel): Add.
856169689Skan	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
857169689Skan	-fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
858169689Skan	-mkernel support.
859169689Skan	(SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
860169689Skan	(SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
861169689Skan	(CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
862169689Skan	(SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
863169689Skan	(TARGET_CXX_CDTOR_RETURNS_THIS): Add.
864169689Skan	(flag_mkernel): Add.
865169689Skan	(flag_apple_kext): Add.
866169689Skan	(TARGET_KEXTABI): Add.
867169689Skan	* config/darwin.c (darwin_handle_kext_attribute): Add.
868169689Skan	(DARWIN_VTABLE_P): Add.
869169689Skan	(darwin_binds_local_p): Add partial support for rebinding vtables
870169689Skan	in kexts.
871169689Skan	(darwin_kextabi_p): Add.
872169689Skan	(darwin_override_options): Add.
873169689Skan	* config/darwin-protos.h (darwin_handle_kext_attribute): Add.
874169689Skan	(darwin_kextabi_p): Add.
875169689Skan	(darwin_override_options): Add.
876169689Skan	* config/darwin-c.c (darwin_cpp_builtins): ... move defines for
877169689Skan	__DYNAMIC__ and __STATIC__ here.
878169689Skan
879169689Skan2006-10-16  Brooks Moses  <bmoses@stanford.edu>
880169689Skan
881169689Skan	* doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
882169689Skan	Added mention of "make pdf" target, and Texinfo requirements for
883169689Skan	same.
884169689Skan
885169689Skan2006-10-16  DJ Delorie  <dj@redhat.com>
886169689Skan
887169689Skan	* config/s390/s390.c (s390_decompose_address): Allow symbol+offset
888169689Skan	into the GOT in case we need a subreg of the address.
889169689Skan
890169689Skan2006-10-16  Richard Guenther  <rguenther@suse.de>
891169689Skan
892169689Skan	PR target/25519
893169689Skan	* doc/extend.texi (X86 Built-in Functions): Fix typos in
894169689Skan	SSE builtin documentation.  Document SSE2 builtins.
895169689Skan
896169689Skan2006-10-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
897169689Skan
898169689Skan	* pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
899169689Skan	symbol in the output file for non-shared links when -nostdlib or
900169689Skan	-nodefaultlibs isn't specified.
901169689Skan
902169689Skan	* config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
903169689Skan	posix thread support.
904169689Skan
905169689Skan2006-10-15  Jan Hubicka  <jh@suse.cz>
906169689Skan
907169689Skan	PR middle-end/29241
908169689Skan	* cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
909169689Skan	declared always_inline even when not inlining.
910169689Skan
911169689Skan2006-10-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
912169689Skan            John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
913169689Skan            Andrew Pinski  <pinskia@gmail.com>
914169689Skan
915169689Skan	PR middle-end/29111
916169689Skan	* builtins.c (get_pointer_alignment): Return 0 if TER is not run.
917169689Skan
918169689Skan2006-10-15  Jan Hubicka  <jh@suse.cz>
919169689Skan            Richard Guenther  <rguenther@suse.de>
920169689Skan
921169689Skan	PR middle-end/29299
922169689Skan	* cgraphunit.c (cgraph_finalize_compilation_unit): Call
923169689Skan	process_function_and_variable_attributes on all variables, including
924169689Skan	those discovered during cgraph construction phase.
925169689Skan
926169689Skan2006-10-15  Bernhard Fischer  <aldot@gcc.gnu.org>
927169689Skan
928169689Skan	* final.c: Update Copyright year. Commentary typo fix. Fix whitespace
929169689Skan
930169689Skan2006-10-14  Uros Bizjak  <uros@kss-loka.si>
931169689Skan
932169689Skan	* config/i386/athlon.md (athlon_fist): Add fisttp.
933169689Skan
934169689Skan2006-10-13  David Edelsohn  <edelsohn@gnu.org>
935169689Skan	    Ian Lance Taylor  <ian@airs.com>
936169689Skan
937169689Skan	PR middle-end/29250
938169689Skan	* expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
939169689Skan	CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
940169689Skan	recursing.
941169689Skan
942169689Skan2006-10-14  Kazu Hirata  <kazu@codesourcery.com>
943169689Skan
944169689Skan	* config/score/score.c, config/score/score.h: Fix comment
945169689Skan	typos.
946169689Skan
947169689Skan2006-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
948169689Skan
949169689Skan	PR bootstrap/29402
950169689Skan	* Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
951169689Skan	shell pipeline.
952169689Skan
953169689Skan2006-10-13  Eric Christopher  <echristo@apple.com>
954169689Skan
955169689Skan	* config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
956169689Skan
957169689Skan2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
958169689Skan
959169689Skan	Revert this change:
960169689Skan	2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
961169689Skan	* config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
962169689Skan	alignment supported by 32-bit ELF.
963169689Skan
964169689Skan2006-10-13  Eric Christopher  <echristo@apple.com>
965169689Skan
966169689Skan	* config/darwin.c (darwin_emit_unwind_label): Strip
967169689Skan	name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
968169689Skan
969169689Skan2006-10-13  Richard Guenther  <rguenther@suse.de>
970169689Skan
971169689Skan	PR tree-optimization/29446
972169689Skan	* tree-vrp.c (fix_equivalence_set): Remove.
973169689Skan	(extract_range_from_assert): Do not call fix_equivalence_set.
974169689Skan	(debug_value_range): Print a newline.
975169689Skan	(compare_name_with_value): For equivalence sets with
976169689Skan	inconsistent value ranges conservatively bail out.
977169689Skan	(compare_names): Likewise.
978169689Skan
979169689Skan2006-10-13  David Edelsohn  <edelsohn@gnu.org>
980169689Skan
981169689Skan	* doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
982169689Skan	and MPFR for gfortran.
983169689Skan
984169689Skan2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
985169689Skan
986169689Skan	* config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
987169689Skan	alignment supported by 32-bit ELF.
988169689Skan
989169689Skan2006-10-13  Paolo Bonzini  <bonzini@gnu.org>
990169689Skan
991169689Skan	PR c/29092
992169689Skan
993169689Skan	* c-typeck.c (digest_init): Always allow initializing vectors
994169689Skan	that have static storage duration with compound literals.
995169689Skan	* tree.c (build_type_attribute_qual_variant): New, based on
996169689Skan	build_type_attribute_variant.
997169689Skan	(build_type_attribute_variant): Rewrite using the former.
998169689Skan	(make_vector_type): Use build_type_attribute_qual_variant to build
999169689Skan	type variants.  Use type_hash_canon on the others.
1000169689Skan
1001169689Skan2006-10-13  Daniel Berlin <dberlin@dberlin.org>
1002169689Skan	    Ramana Radhakrishnan  <ramana.radhakrishnan@celunite.com>
1003169689Skan
1004169689Skan	* tree-flow-inline.h (zero_ssa_operands): Fix comment.
1005169689Skan
1006169689Skan2006-10-12  Jan Hubicka  <jh@suse.cz>
1007169689Skan
1008169689Skan	PR c/28419
1009169689Skan	* c-decl.c (c_make_fname_decl): Do not segfault in case where
1010169689Skan	current_function_decl is set but current_function_scope is not.
1011169689Skan
1012169689Skan2006-10-12  Jie Zhang  <jie.zhang@analog.com>
1013169689Skan
1014169689Skan	* config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
1015169689Skan	emit_insn to emit eh_return_internal instruction.
1016169689Skan	(eh_return_internal): Explicitly set pc.
1017169689Skan
1018169689Skan2006-10-11  Richard Guenther  <rguenther@suse.de>
1019169689Skan
1020169689Skan	PR tree-optimization/28230
1021169689Skan	* tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
1022169689Skan	to the correct place.
1023169689Skan
1024169689Skan2006-10-11  Richard Guenther  <rguenther@suse.de>
1025169689Skan
1026169689Skan	PR inline-asm/29119
1027169689Skan	* gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
1028169689Skan	addressable.
1029169689Skan
1030169689Skan2006-10-10  Brooks Moses  <bmoses@stanford.edu>
1031169689Skan
1032169689Skan	* configure.ac: Added pdf to "Make-hooks"
1033169689Skan	* Makefile.in: Added TEXI2PDF definition, and various pdf-file
1034169689Skan	targets and *.pdf file patterns in cleanup targets.
1035169689Skan	* configure: Regenerated.
1036169689Skan
1037169689Skan2006-10-10  Anatoly Sokolov <aesok@post.ru>
1038169689Skan
1039169689Skan	* config/avr/predicates.md: New file.
1040169689Skan	* config/avr/avr.md: Include it.
1041169689Skan	(REG_SP): New constant.
1042169689Skan	(peepholes): Use predicates.
1043169689Skan	(sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
1044169689Skan	difficult_branch,  difficult_rvbranch, cbi, sbi, sbix_branch,
1045169689Skan	sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
1046169689Skan
1047169689Skan2006-10-10  Adam Nemet  <anemet@caviumnetworks.com>
1048169689Skan
1049169689Skan	* config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
1050169689Skan	avoid alias set 0.
1051169689Skan
1052169689Skan2006-10-10  Jakub Jelinek  <jakub@redhat.com>
1053169689Skan
1054169689Skan	PR middle-end/29272
1055169689Skan	* builtins.c (var_decl_component_p): New function.
1056169689Skan	(fold_builtin_memset, fold_builtin_memory_op): Restrict
1057169689Skan	single entry optimization to variables and components thereof.
1058169689Skan
1059169689Skan2006-10-10  Richard Guenther  <rguenther@suse.de>
1060169689Skan
1061169689Skan	PR rtl-optimization/29323
1062169689Skan	* except.c (set_nothrow_function_flags): For functions
1063169689Skan	that do not bind local bail out early.
1064169689Skan
1065169689Skan2006-10-10  Ben Elliston  <bje@au.ibm.com>
1066169689Skan
1067169689Skan	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
1068169689Skan	-mdlmzb option.
1069169689Skan
1070169689Skan2006-10-09  Richard Henderson  <rth@redhat.com>
1071169689Skan
1072169689Skan	Revert emutls patch.
1073169689Skan
1074169689Skan2006-10-09  Richard Guenther  <rguenther@suse.de>
1075169689Skan
1076169689Skan	PR middle-end/29254
1077169689Skan	* cgraphunit.c (verify_cgraph_node): Bail out on earlier
1078169689Skan	errors.
1079169689Skan
1080169689Skan2006-10-09  Steve Ellcey  <sje@cup.hp.com>
1081169689Skan
1082169689Skan	PR target/27880
1083169689Skan	* unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
1084169689Skan	* configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
1085169689Skan	* configure: Regenerate.
1086169689Skan	* config.in: Regenerate.
1087169689Skan
1088169689Skan2006-10-09  Aldy Hernandez  <aldyh@redhat.com>
1089169689Skan
1090169689Skan	* tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
1091169689Skan
1092169689Skan2006-10-08  Richard Sandiford  <richard@codesourcery.com>
1093169689Skan
1094169689Skan	* config/mips/mips.c (mips_legitimize_tls_address): Implement
1095169689Skan	all TLS models in the same way as local exec if !TARGET_ABICALLS.
1096169689Skan	Remove stray newline.
1097169689Skan
1098169689Skan2006-10-08  Richard Sandiford  <richard@codesourcery.com>
1099169689Skan
1100169689Skan	* config/mips/mips.c (mips_classify_symbol): Do not return
1101169689Skan	SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
1102169689Skan	(mips_in_small_data_p): Tweak comments.
1103169689Skan
1104169689Skan2006-10-08  Richard Sandiford  <richard@codesourcery.com>
1105169689Skan
1106169689Skan	* config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
1107169689Skan
1108169689Skan2006-10-07  Kazu Hirata  <kazu@codesourcery.com>
1109169689Skan
1110169689Skan	* gimplify.c, sched-int.h: Fix comment typos.
1111169689Skan
1112169689Skan	* sched-int.h: Fix comment typos.
1113169689Skan
1114169689Skan2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1115169689Skan
1116169689Skan	* sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
1117169689Skan	New macros.
1118169689Skan	* sched-ebb.c (begin_schedule_ready): Use them.
1119169689Skan	* haifa-sched.c (schedule_insn, move_insn, try_ready,
1120169689Skan	add_to_speculative_block, create_check_block_twin, speculate_insn,
1121169689Skan	fix_jump_move, move_block_after_check): Ditto.
1122169689Skan	* sched-rgn.c (new_ready): Ditto.
1123169689Skan
1124169689Skan2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
1125169689Skan
1126169689Skan	PR rtl-optimization/29128
1127169689Skan	* sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
1128169689Skan	* sched-ebb.c (advance_target_bb): Use it to fix condition to
1129169689Skan	allow interblock movement of speculation checks.
1130169689Skan
1131169689Skan2006-10-06  Zdenek Dvorak <dvorakz@suse.cz>
1132169689Skan
1133169689Skan	PR middle-end/29256
1134169689Skan	* tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
1135169689Skan	casted to integer type.
1136169689Skan	(get_address_cost): Decrease cost of [symbol + index] addressing modes
1137169689Skan	if they are significantly more expensive than [reg + index] ones.
1138169689Skan
1139169689Skan2006-10-06  Jakub Jelinek  <jakub@redhat.com>
1140169689Skan
1141169689Skan	PR tree-optimization/29330
1142169689Skan	* tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
1143169689Skan	(initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
1144169689Skan	on newly allocated ddrs.
1145169689Skan	(find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
1146169689Skan	to VEC (loop_p, heap) pointer.
1147169689Skan	(compute_data_dependences_for_loop): Adjust caller.
1148169689Skan	(free_dependence_relations): Free DDR_LOOP_NEST.
1149169689Skan
1150169689Skan	* tree-loop-linear.c (linear_transform_loops): Don't forget to
1151169689Skan	free DEPENDENCE_RELATIONS and DATAREFS.
1152169689Skan
1153169689Skan	PR target/28924
1154169689Skan	* builtins.c (expand_builtin_sync_operation,
1155169689Skan	expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
1156169689Skan	Use convert_to_mode to handle promoted arguments.
1157169689Skan
1158169689Skan2006-10-06  J"orn Rennecke  <joern.rennecke@st.com>
1159169689Skan
1160169689Skan	* print-tree.c (print_node_brief, print_node): Print sign of Inf.
1161169689Skan
1162169689Skan2006-10-06  J"orn Rennecke  <joern.rennecke@st.com>
1163169689Skan
1164169689Skan	* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
1165169689Skan
1166169689Skan2006-10-05  Uros Bizjak  <uros@kss-loka.si>
1167169689Skan
1168169689Skan	* config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
1169169689Skan	"sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
1170169689Skan	Use <modeconstraint> instead of "r" as operand 1 constraint.
1171169689Skan
1172169689Skan2006-10-06  Olivier Hainque  <hainque@adacore.com>
1173169689Skan
1174169689Skan	* gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
1175169689Skan	Don't recurse on the pointed-to type.
1176169689Skan	* c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
1177169689Skan	DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
1178169689Skan	types with components of variable size.
1179169689Skan
1180169689Skan2006-10-06  Danny Smith  <dannysmith@users.sourceforge.net>
1181169689Skan
1182169689Skan	config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
1183169689Skan
1184169689Skan2006-10-06  Jakub Jelinek  <jakub@redhat.com>
1185169689Skan
1186169689Skan	PR tree-optimization/29290
1187169689Skan	* tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
1188169689Skan	multiple exits.
1189169689Skan
1190169689Skan	PR target/29198
1191169689Skan	* config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
1192169689Skan	* config/i386/predicates.md (local_symbolic_operand): Likewise.
1193169689Skan
1194169689Skan	PR c/29091
1195169689Skan	* varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
1196169689Skan	the number of vector elements fill the rest with zeros.
1197169689Skan
1198169689Skan2006-10-05  Richard Sandiford  <richard@codesourcery.com>
1199169689Skan
1200169689Skan	* config/mips/mips.c (mips_pass_by_reference): Do not return false
1201169689Skan	for EABI if type is NULL.  Use a size check based on GET_MODE_SIZE
1202169689Skan	instead.
1203169689Skan
1204169689Skan2006-10-05  Bernd Schmidt  <bernd.schmidt@analog.com>
1205169689Skan
1206169689Skan	* config/bfin/bfin.md (subsi3): Lose expander, change previously
1207169689Skan	unnamed pattern into subsi3.  Use correct constraints/predicates.
1208169689Skan	* config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
1209169689Skan	* config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
1210169689Skan
1211169689Skan2006-10-05  Ira Rosen  <irar@il.ibm.com>
1212169689Skan
1213169689Skan	* doc/loop.texi: Add data references analysis description.
1214169689Skan
1215169689Skan2006-10-04  Brooks Moses  <bmoses@stanford.edu>
1216169689Skan
1217169689Skan	* doc/gcov.texi: Add formatting to "Invoking gcov" section head.
1218169689Skan
1219169689Skan2006-10-04  Richard Henderson  <rth@redhat.com>
1220169689Skan	    Jakub Jelinek  <jakub@redhat.com>
1221169689Skan
1222169689Skan	* Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
1223169689Skan	* builtin-types.def (BT_WORD): Make unsigned.
1224169689Skan	(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
1225169689Skan	* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
1226169689Skan	(BUILT_IN_EMUTLS_REGISTER_COMMON): New.
1227169689Skan	* c-decl.c (grokdeclarator): Don't error if !have_tls.
1228169689Skan	* c-parser.c (c_parser_omp_threadprivate): Likewise.
1229169689Skan	* cgraph.c (decide_is_variable_needed): Look at force_output.
1230169689Skan	Recurse for emulated tls.
1231169689Skan	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
1232169689Skan	checks redundant with decide_is_variable_needed.
1233169689Skan	(cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
1234169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
1235169689Skan	emulated tls.
1236169689Skan	* expr.c (emutls_var_address): New.
1237169689Skan	(expand_expr_real_1): Expand emulated tls.
1238169689Skan	(expand_expr_addr_expr_1): Likewise.
1239169689Skan	* libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
1240169689Skan	* output.h (emutls_finish): Declare.
1241169689Skan	* toplev.c (compile_file): Call it.
1242169689Skan	* tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
1243169689Skan	address before wrapping in CONST.
1244169689Skan	* varasm.c (emutls_htab, emutls_object_type): New.
1245169689Skan	(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
1246169689Skan	(get_emutls_object_name, get_emutls_object_type): New.
1247169689Skan	(get_emutls_init_templ_addr, emutls_decl): New.
1248169689Skan	(emutls_common_1, emutls_finish): New.
1249169689Skan	(assemble_variable): When emulating tls, swap decls; generate
1250169689Skan	constructor for the emutls objects.
1251169689Skan	(do_assemble_alias): When emulating tls, swap decl and target name.
1252169689Skan	(default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
1253169689Skan	for emulated tls.
1254169689Skan	* emutls.c: New file.
1255169689Skan	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
1256169689Skan	tls_object for real tls.
1257169689Skan
1258169689Skan2006-10-04  Zack Weinberg  <zackw@panix.com>
1259169689Skan
1260169689Skan	Fix bug in constraint-check generator, reported by Rask Ingemann
1261169689Skan	Lambertsen:
1262169689Skan	* genpreds.c (add_constraint): Don't remove anything from the
1263169689Skan	expression here.
1264169689Skan	(write_tm_constrs_h): Detect whether "op" argument is used, and
1265169689Skan	mark it ARG_UNUSED if it isn't.
1266169689Skan	(write_insn_const_int_ok_for_constraint): Skip the part of the
1267169689Skan	expression that would test whether "op" (which is not available
1268169689Skan	here) is a CONST_INT.
1269169689Skan
1270169689Skan2006-10-04  Ryan Mansfield  <rmansfield@qnx.com>
1271169689Skan
1272169689Skan	PR c++/28448
1273169689Skan	* doc/invoke.texi (fdiagnostics-show-option): Fix typos.
1274169689Skan
1275169689Skan2006-10-03  Geoffrey Keating  <geoffk@apple.com>
1276169689Skan
1277169689Skan	* config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
1278169689Skan	current Leopard versions.
1279169689Skan	* config/rs6000/darwin-libgcc.10.5.ver: Likewise.
1280169689Skan
1281169689Skan2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
1282169689Skan
1283169689Skan	* doc/install.texi: Fix typos.
1284169689Skan
1285169689Skan2006-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
1286169689Skan
1287169689Skan	* builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
1288169689Skan	* doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
1289169689Skan	* config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
1290169689Skan
1291169689Skan2006-10-02  Jack Howarth  <howarth@bromo.med.uc.edu>
1292169689Skan
1293169689Skan	* unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
1294169689Skan	arg to be struct mach_header_64* instead.
1295169689Skan
1296169689Skan2006-10-02  Jakub Jelinek  <jakub@redhat.com>
1297169689Skan
1298169689Skan	PR c/29154
1299169689Skan	* gimplify.c (gimplify_self_mod_expr): Run inner expression's post
1300169689Skan	side effects after the outer expression's post side effects.
1301169689Skan
1302169689Skan2006-10-01  Sandra Loosemore  <sandra@codesourcery.com>
1303169689Skan
1304169689Skan	* tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET):  Fix
1305169689Skan	comments to reflect actual behavior and relationship between
1306169689Skan	DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
1307169689Skan
1308169689Skan	* doc/c-tree.texi (Working with declarations): Fix documentation
1309169689Skan	of FIELD_DECL likewise.
1310169689Skan
1311169689Skan2006-10-01  Ryan Mansfield  <rmansfield@qnx.com>
1312169689Skan
1313169689Skan	PR c/20533
1314169689Skan	* doc/extend.texi: Add used variable attribute description.
1315169689Skan
1316169689Skan2006-09-30  Joseph S. Myers  <joseph@codesourcery.com>
1317169689Skan
1318169689Skan	PR c/24010
1319169689Skan	* c.opt (Woverride-init): New.
1320169689Skan	* c-opts.c (c_common_post_options): Default warn_override_init to
1321169689Skan	extra_warnings.
1322169689Skan	* c-typeck.c (add_pending_init, output_init_element): Warn for
1323169689Skan	overriding initializers without side effects.
1324169689Skan	* doc/invoke.texi (-Woverride-init): Document.
1325169689Skan	(-Wextra): Update.
1326169689Skan
1327169689Skan2006-09-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
1328169689Skan
1329169689Skan	PR rtl-optimization/28096
1330169689Skan	* ifcvt.c (check_cond_move_block): Return FALSE if the source of an
1331169689Skan	assignment has already been used as a destination earlier in the block.
1332169689Skan
1333169689Skan2006-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1334169689Skan
1335169689Skan	* builtins.c (expand_builtin_setjmp): Delete.
1336169689Skan	(expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
1337169689Skan	<BUILT_IN_SETJMP_SETUP>: New case.
1338169689Skan	<BUILT_IN_SETJMP_DISPATCHER>: Likewise.
1339169689Skan	<BUILT_IN_SETJMP_RECEIVER>: Likewise.
1340169689Skan	* builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
1341169689Skan	(BUILT_IN_SETJMP_DISPATCHER): Likewise.
1342169689Skan	(BUILT_IN_SETJMP_RECEIVER): Likewise.
1343169689Skan	* gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
1344169689Skan	(lower_function_body): Initialize it to false.  If it is set to true
1345169689Skan	at the end of the processing, emit the setjmp dispatcher.
1346169689Skan	(lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
1347169689Skan	is __builtin_setjmp and set calls_builtin_setjmp to true as well.
1348169689Skan	<MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
1349169689Skan	on the rhs of the assignment.
1350169689Skan	(lower_builtin_setjmp): New function.
1351169689Skan	* tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
1352169689Skan	BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
1353169689Skan	* tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
1354169689Skan	to detect calls that can go to non-local labels.  Use specific
1355169689Skan	helper to create the abnormal edges associated with them.
1356169689Skan	<MODIFY_EXPR>: Likewise.
1357169689Skan	(make_abnormal_goto_edges): New function extracted from...
1358169689Skan	(make_goto_expr_edges): ...here.  Call it for computed gotos.
1359169689Skan	(simple_goto_p): Minor tweak.
1360169689Skan	(tree_can_make_abnormal_goto): New predicate.
1361169689Skan	(tree_redirect_edge_and_branch): Return zero on all abnormal edges.
1362169689Skan	(tree_purge_dead_abnormal_call_edges): New function.
1363169689Skan	* tree-flow.h (tree_can_make_abnormal_goto): Declare.
1364169689Skan	(tree_purge_dead_abnormal_call_edges): Likewise.
1365169689Skan	(make_abnormal_goto_edges): Likewise.
1366169689Skan	* tree-inline.c (expand_call_inline): Simplify statement frobbing.
1367169689Skan	Purge all dead abnormal edges if the call was in the last statement.
1368169689Skan	* tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
1369169689Skan	(execute_fixup_cfg): If there are non-local labels in the function,
1370169689Skan	scan the basic blocks and split them at calls that can go to non-local
1371169689Skan	labels or add missing abnormal call edges.  Write down the CFG in the
1372169689Skan	dump file.
1373169689Skan	(pass_fixup_cfg): Remove TODO_dump_func flag.
1374169689Skan	* unwind-sjlj.c: Poison setjmp.
1375169689Skan	* doc/install.texi (enable-sjlj-exceptions): Use more general wording.
1376169689Skan	* doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
1377169689Skan	(TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
1378169689Skan	(DONT_USE_BUILTIN_SETJMP): Document it.
1379169689Skan
1380169689Skan2006-09-28  Geoffrey Keating  <geoffk@apple.com>
1381169689Skan
1382169689Skan	PR target/28617
1383169689Skan	* config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
1384169689Skan	to 1 when __ppc64__ is defined.
1385169689Skan	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
1386169689Skan	darwin-64.c.
1387169689Skan	* config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
1388169689Skan
1389169689Skan2006-09-28  Steve Ellcey  <sje@cup.hp.com>
1390169689Skan
1391169689Skan	* config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
1392169689Skan	* config/ia64/unwind-hpux.c: Delete.
1393169689Skan
1394169689Skan2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
1395169689Skan
1396169689Skan	* gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
1397169689Skan	on the element before gimplifying it, instead of punting if it is of
1398169689Skan	variable size.
1399169689Skan
1400169689Skan2006-09-28  Zdenek Dvorak <dvorakz@suse.cz>
1401169689Skan
1402169689Skan	* doc/loop.texi: New file.
1403169689Skan	* doc/gccint.texi: Reference loop.texi.
1404169689Skan	* Makefile.in (loop.texi): Add.
1405169689Skan
1406169689Skan2006-09-27  Geoffrey Keating  <geoffk@apple.com>
1407169689Skan
1408169689Skan	* config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
1409169689Skan	__sysctl.
1410169689Skan	* config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
1411169689Skan	* config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
1412169689Skan
1413169689Skan2006-09-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1414169689Skan
1415169689Skan	* config/sh/sh.md (divsi_inv_m0): Remove unused variable.
1416169689Skan
1417169689Skan2006-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
1418169689Skan
1419169689Skan	* doc/install.texi: Document required versions of GMP and MPFR.
1420169689Skan
1421169689Skan2006-09-27  Paul Brook  <paul@codesourcery.com>
1422169689Skan
1423169689Skan	PR target/29230
1424169689Skan	* config/arm/arm.md (arith_adjacentmem): Handle large offsets.
1425169689Skan
1426169689Skan2006-09-27  Richard Sandiford  <richard@codesourcery.com>
1427169689Skan
1428169689Skan	* reload1.c (alter_reg): Require the alignment of the stack slot to
1429169689Skan	be at least reg_max_ref_width bytes.
1430169689Skan	(scan_paradoxical_subregs): Record the largest width in
1431169689Skan	reg_max_ref_width.
1432169689Skan
1433169689Skan2006-09-26  Jakub Jelinek  <jakub@redhat.com>
1434169689Skan
1435169689Skan	PR middle-end/25261
1436169689Skan	PR middle-end/28790
1437169689Skan	* tree-nested.c (struct nesting_info): Added static_chain_added.
1438169689Skan	(convert_call_expr): Set static_chain_added when adding static
1439169689Skan	chain.  Handle OMP_PARALLEL and OMP_SECTION.
1440169689Skan
1441169689Skan2006-09-25  Matthias Klose  <doko@debian.org>
1442169689Skan
1443169689Skan	* doc/invoke.texi: Add missing full stop.
1444169689Skan
1445169689Skan2006-09-25  Richard Henderson  <rth@redhat.com>
1446169689Skan
1447169689Skan	* cgraph.c (dump_cgraph_varpool_node): Don't crash if called
1448169689Skan	before cgraph_function_flags_ready.
1449169689Skan
1450169689Skan2006-09-24  Zdenek Dvorak <dvorakz@suse.cz>
1451169689Skan	    Adam Nemet  <anemet@caviumnetworks.com>
1452169689Skan
1453169689Skan	* tree-ssa-loop-ivopts.c (aff_combination_convert,
1454169689Skan	determine_common_wider_type): New functions.
1455169689Skan	(get_computation_aff): Use them to simplify arithmetic between
1456169689Skan	UBASE and CBASE if they are shortened from the same type.
1457169689Skan
1458169689Skan2006-09-24  Kazu Hirata  <kazu@codesourcery.com>
1459169689Skan
1460169689Skan	PR target/28911
1461169689Skan	* config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
1462169689Skan	-2147483647 - 1 instead of 0x80000000.
1463169689Skan
1464169689Skan2006-09-23  Revital1 Eres  <ERES@il.ibm.com>
1465169689Skan
1466169689Skan	* flags.h (HONOR_NANS): Fix typo in comment.
1467169689Skan
1468169689Skan2006-09-23  Uros Bizjak <uros@kss-loka.si>
1469169689Skan
1470169689Skan	* config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
1471169689Skan
1472169689Skan2006-09-23  Jakub Jelinek  <jakub@redhat.com>
1473169689Skan
1474169689Skan	PR c/28706
1475169689Skan	PR c/28712
1476169689Skan	* tree.c (merge_attributes, attribute_list_contained): If both
1477169689Skan	TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
1478169689Skan	simple_cst_equal.
1479169689Skan	* c-typeck.c (comptypes_internal): Don't consider aggregates
1480169689Skan	in different TUs as compatible if there one set of attributes is
1481169689Skan	not a subset of the other type's attributes.
1482169689Skan	(composite_type): Try harder not to create a new aggregate type.
1483169689Skan
1484169689Skan2006-09-22  Geoffrey Keating  <geoffk@apple.com>
1485169689Skan
1486169689Skan	* config/i386/driver-i386.c: Always define host_detect_local_cpu.
1487169689Skan	* config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
1488169689Skan	or x86_64 host.  Define HAVE_LOCAL_CPU_DETECT.
1489169689Skan	(CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
1490169689Skan	than replicating condition above.
1491169689Skan	* config.host (i[34567]86-*-*): Always use driver-i386.o.
1492169689Skan
1493169689Skan	* config/darwin.h (LINK_SYSROOT_SPEC): New.
1494169689Skan	(LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
1495169689Skan	the linker by default.
1496169689Skan
1497169689Skan2006-09-22  Mike Stump  <mrs@apple.com>
1498169689Skan
1499169689Skan	* config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
1500169689Skan	code.
1501169689Skan
1502169689Skan2006-09-22  Richard Guenther  <rguenther@suse.de>
1503169689Skan
1504169689Skan	PR middle-end/28964
1505169689Skan	* cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
1506169689Skan	sort of stack variables stable.
1507169689Skan
1508169689Skan2006-09-22  Peter Bergner <bergner@vnet.ibm.com>
1509169689Skan
1510169689Skan	PR middle-end/28690
1511169689Skan	* explow.c (force_reg): Set REG_POINTER flag according to
1512169689Skan	MEM_POINTER flag.
1513169689Skan
1514169689Skan2006-09-22  Zdenek Dvorak <dvorakz@suse.cz>
1515169689Skan
1516169689Skan	PR tree-optimization/28888
1517169689Skan	* tree-if-conv.c (combine_blocks): Rewritten.
1518169689Skan	* tree-cfg.c (tree_verify_flow_info): Check that edges with
1519169689Skan	EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
1520169689Skan
1521169689Skan2006-09-22  Jakub Jelinek  <jakub@redhat.com>
1522169689Skan
1523169689Skan	* tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
1524169689Skan	needed.
1525169689Skan
1526169689Skan2006-09-21  Richard Sandiford  <richard@codesourcery.com>
1527169689Skan
1528169689Skan	* varasm.c (copy_constant): Fix reversed gcc_assert check.
1529169689Skan
1530169689Skan2006-09-21  Janis Johnson  <janis187@us.ibm.com>
1531169689Skan
1532169689Skan	* ginclude/decfloat.h (DEC*_DEN): Define using the correct builtins.
1533169689Skan
1534169689Skan2006-09-21  Roger Sayle  <roger@eyesopen.com>
1535169689Skan
1536169689Skan	PR debug/29132
1537169689Skan	* dwarf2out.c (dwarf2out_begin_prologue): Initialise the current label,
1538169689Skan	dw_fde_current_label, to be the start of the function, i.e. the same
1539169689Skan	value as dw_fde_begin.
1540169689Skan
1541169689Skan2006-09-20  Richard Sandiford  <richard@codesourcery.com>
1542169689Skan
1543169689Skan	* config/mips/mips.c (CODE_FOR_mips_abs_ps): Delete.
1544169689Skan	* config/mips/mips.md (UNSPEC_ABS_PS): New constant.
1545169689Skan	(UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2)
1546169689Skan	(UNSPEC_SINGLE_CC, UNSPEC_SCC): Bump values by 1.
1547169689Skan	(*nmadd<mode>, *nmadd<mode>_fastmath): Require !HONOR_NANS.
1548169689Skan	(*nmsub<mode>, *nmsub<mode>_fastmath): Likewise.
1549169689Skan	(abs<mode>2, neg<mode>2): Likewise.
1550169689Skan	* config/mips/mips-ps-3d.md (mips_abs_ps): New define_expand.
1551169689Skan	(*mips_abs_ps): New define_insn.
1552169689Skan
1553169689Skan2006-09-20  Josh Conner  <jconner@apple.com>
1554169689Skan
1555169689Skan	PR middle-end/25505
1556169689Skan	* calls.c (expand_call): Allow reuse of structure return stack
1557169689Skan	temp.
1558169689Skan
1559169689Skan2006-09-20  Paul Brook  <paul@codesourcery.com>
1560169689Skan
1561169689Skan	* config/arm/unwind-arm.c (selfrel_offset31): Clear top bit for
1562169689Skan	positive offsets.
1563169689Skan
1564169689Skan2006-09-20  Janis Johnson  <janis187@us.ibm.com>
1565169689Skan
1566169689Skan	* doc/extend.texi (Decimal Float): Update for latest draft TR,
1567169689Skan	clean up terminology.
1568169689Skan
1569169689Skan2006-09-20  Steve Ellcey  <sje@cup.hp.com>
1570169689Skan
1571169689Skan	PR target/28574
1572169689Skan	* ifcvt.c (dead_or_predicable): Don't predicate then blocks
1573169689Skan	with tablejumps in them.
1574169689Skan
1575169689Skan2006-09-20  Jakub Jelinek  <jakub@redhat.com>
1576169689Skan
1577169689Skan	PR middle-end/28046
1578169689Skan	* c-omp.c (c_finish_omp_atomic): If ADDR is not simple enough,
1579169689Skan	wrap it into TARGET_EXPR.
1580169689Skan
1581169689Skan2006-09-20  Eric Christopher  <echristo@apple.com>
1582169689Skan
1583169689Skan	* config/i386/i386.c (x86_fisttp): Remove.
1584169689Skan	* config/i386/i386.h (x86_fisttp): Ditto.
1585169689Skan	(TARGET_FISTTP): Ditto.
1586169689Skan
1587169689Skan2006-09-19  Eric Christopher  <echristo@apple.com>
1588169689Skan
1589169689Skan	* doc/tm.texi (OBJC_JBLEN): Describe.
1590169689Skan	* config/i386/darwin.h (OBJC_JBLEN): Define.
1591169689Skan	* config/rs6000/darwin.h: Ditto.
1592169689Skan
1593169689Skan2006-09-19  Steven Bosscher  <steven@gcc.gnu.org>
1594169689Skan
1595169689Skan	PR rtl-optimization/21299
1596169689Skan	* reload1.c (reload): Purge invalid ASMs in the final pass.
1597169689Skan
1598169689Skan2006-09-19  Steve Ellcey  <sje@cup.hp.com>
1599169689Skan
1600169689Skan	PR  28490
1601169689Skan	* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
1602169689Skan	pointers as legitimate constants.
1603169689Skan
1604169689Skan2006-09-19  Paul Brook  <paul@codesourcery.com>
1605169689Skan
1606169689Skan	PR target/28516
1607169689Skan	* config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
1608169689Skan
1609169689Skan2006-09-17  Zdenek Dvorak <dvorakz@suse.cz>
1610169689Skan
1611169689Skan	PR tree-optimization/28887
1612169689Skan	* tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
1613169689Skan	component parts from the reference.
1614169689Skan	(gather_memory_references_ref): Record the reference without the
1615169689Skan	nonaddressable component parts.
1616169689Skan
1617169689Skan2006-09-17  Steven Bosscher  <steven@gcc.gnu.org>
1618169689Skan
1619169689Skan	PR c/25993
1620169689Skan	* c-opts.c (c_common_handle_option): Ignore the -std options
1621169689Skan	if the input language is assembly.
1622169689Skan
1623169689Skan2006-09-17  Ira Rosen  <irar@il.ibm.com>
1624169689Skan
1625169689Skan	PR tree-opt/21591
1626169689Skan	* tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
1627169689Skan	tag first.
1628169689Skan	(ptr_ptr_may_alias_p): Likewise.
1629169689Skan	(record_record_differ_p): New function.
1630169689Skan	(base_object_differ_p): Call record_record_differ_p.
1631169689Skan
1632169689Skan2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
1633169689Skan
1634169689Skan	PR tree-opt/29059
1635169689Skan	* tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
1636169689Skan	away for the expr argument.
1637169689Skan
1638169689Skan2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
1639169689Skan
1640169689Skan	PR tree-opt/27742
1641169689Skan	* tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
1642169689Skan	before using it for dumping after vectorizing loops.
1643169689Skan
1644169689Skan2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
1645169689Skan	    Jack Howarth  <howarth@bromo.med.uc.edu>
1646169689Skan
1647169689Skan	PR target/29030
1648169689Skan	* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
1649169689Skan	skip on error_mark_node.
1650169689Skan	(rs6000_darwin64_record_arg_recurse): Likewise.
1651169689Skan
1652169689Skan2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
1653169689Skan
1654169689Skan	* rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
1655169689Skan	* doc/rtl.texi: Remove related documentation.
1656169689Skan
1657169689Skan2006-09-16  Bernd Schmidt  <bernd.schmidt@analog.com>
1658169689Skan
1659169689Skan	* loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
1660169689Skan	printf.
1661169689Skan
1662169689Skan2006-09-15  Jim Wilson  <wilson@specifix.com>
1663169689Skan
1664169689Skan	* config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
1665169689Skan	Handle symbol offsets same as they are handled in ia64_expand_move
1666169689Skan	and move_operand.
1667169689Skan
1668169689Skan2006-09-16  Andreas Tobler  <a.tobler@schweiz.org>
1669169689Skan
1670169689Skan	* loop-doloop.c (doloop_optimize): Change type of max_cost to int.
1671169689Skan	Add forgotten parameter to the fprintf call.
1672169689Skan
1673169689Skan2006-09-15  Steve Ellcey  <sje@cup.hp.com>
1674169689Skan
1675169689Skan	* config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
1676169689Skan
1677169689Skan2006-09-15  Uros Bizjak <uros@kss-loka.si>
1678169689Skan
1679169689Skan	* doc/contrib.texi: Add my entry.
1680169689Skan
1681169689Skan2006-09-15  Nick Clifton  <nickc@redhat.com>
1682169689Skan
1683169689Skan	* doc/md.texi (Processor pipeline description): Fix typo in
1684169689Skan	example of how to use the absence_set directive and reword the
1685169689Skan	description to make it slightly easier to read.
1686169689Skan
1687169689Skan2006-09-15  Bernd Schmidt  <bernd.schmidt@analog.com>
1688169689Skan
1689169689Skan	* params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
1690169689Skan	* loop-doloop.c (doloop_optimize): Use it to limit costs of
1691169689Skan	expanding the number of iterations.
1692169689Skan	* config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
1693169689Skan
1694169689Skan	* cfgrtl.c (emit_insn_at_entry): New function.
1695169689Skan	* rtl.h (emit_insn_at_entry): Declare it.
1696169689Skan	* integrate.c (emit_initial_value_sets): Use it.
1697169689Skan
1698169689Skan	* cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
1699169689Skan
1700169689Skan	* config/bfin/bfin.c (struct loop_info): New members block_bitmap and
1701169689Skan	bad.
1702169689Skan	(struct loop_work and related VEC declarations): Delete.
1703169689Skan	(bfin_dump_loops): Print out new member bad.
1704169689Skan	(bfin_bb_in_loop): Use plain bitmap test.  Don't recurse.
1705169689Skan	(bfin_scan_loop): Don't recurse.
1706169689Skan	(bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
1707169689Skan	loops.  No longer need to update outer loops if the current one is
1708169689Skan	found bad.  Move some validitiy checks to bfin_discover_loop.
1709169689Skan	(bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
1710169689Skan	but changed not to check for nesting.  Also changed to use the new bad
1711169689Skan	flag.
1712169689Skan	(bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
1713169689Skan	time.  Use bitmap based test to discover loop nesting.
1714169689Skan
1715169689Skan2006-09-15  Kazu Hirata  <kazu@codesourcery.com>
1716169689Skan
1717169689Skan	* doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
1718169689Skan	one line.
1719169689Skan
1720169689Skan2006-09-14  Richard Guenther  <rguenther@suse.de>
1721169689Skan	    Kazu Hirata  <kazu@codesourcery.com>
1722169689Skan
1723169689Skan	PR middle-end/28884.
1724169689Skan	* doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
1725169689Skan	(FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
1726169689Skan	Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
1727169689Skan	with TARGET_FUNCTION_VALUE.
1728169689Skan
1729169689Skan2006-09-14  Anatoly Sokolov <aesok@post.ru>
1730169689Skan
1731169689Skan	PR target/26504
1732169689Skan	* config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
1733169689Skan
1734169689Skan2006-09-13  Aldy Hernandez  <aldyh@redhat.com>
1735169689Skan
1736169689Skan	* doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
1737169689Skan	of a RETURN_EXPR
1738169689Skan
1739169689Skan2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
1740169689Skan
1741169689Skan	PR debug/28980
1742169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Handle
1743169689Skan	FUNCTION_DECL.
1744169689Skan
1745169689Skan2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
1746169689Skan
1747169689Skan	* basic_block.h (bb_has_eh_pred): Fix comment.
1748169689Skan
1749169689Skan2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
1750169689Skan
1751169689Skan	* flow.c (calculate_global_regs_live): Invalidate eh registers
1752169689Skan	on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
1753169689Skan	(propagate_block): Handle eh registers as if they were set at basic
1754169689Skan	block start.
1755169689Skan	* except.c (dw2_build_landing_pads): Don't emit clobbers for eh
1756169689Skan	registers.
1757169689Skan	* global.c (global_conflicts): Make eh registers to conflict with
1758169689Skan	pseudos live at basic block begin.
1759169689Skan	* basic_block.h (bb_has_eh_pred): New function.
1760169689Skan
1761169689Skan2006-09-13  Richard Sandiford  <richard@codesourcery.com>
1762169689Skan
1763169689Skan	PR rtl-optimization/28982
1764169689Skan	* reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
1765169689Skan	index of a PRE_MODIFY or POST_MODIFY address.
1766169689Skan	* reload1.c (inc_for_reload): Use find_replacement on the original
1767169689Skan	base and index registers.
1768169689Skan
1769169689Skan2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
1770169689Skan
1771169689Skan	* doc/invoke.texi (mpreferred-stack-boundary): Remove exception
1772169689Skan	for -Os. Update __m128 alignment requirement.
1773169689Skan
1774169689Skan2006-09-13  Jan Hubicka  <jh@suse.cz>
1775169689Skan
1776169689Skan	* cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
1777169689Skan
1778169689Skan2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
1779169689Skan
1780169689Skan	PR rtl-optimization/28243
1781169689Skan	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
1782169689Skan	the insn to which the note was originally attached.
1783169689Skan
1784169689Skan2006-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
1785169689Skan	    Roger Sayle  <roger@eyesopen.com>
1786169689Skan
1787169689Skan	* dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
1788169689Skan	outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
1789169689Skan	on platforms that don't use dwarf for debug info.
1790169689Skan
1791169689Skan2006-09-12  Jason Merrill  <jason@redhat.com>
1792169689Skan
1793169689Skan	PR middle-end/28493
1794169689Skan	* builtins.c (expand_builtin_setjmp_receiver): Clobber
1795169689Skan	hard_frame_pointer_rtx after using it to update the frame pointer.
1796169689Skan
1797169689Skan2006-09-12  Roger Sayle  <roger@eyesopen.com>
1798169689Skan
1799169689Skan	* target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
1800169689Skan	(TARGET_ASM_CLOSE_PAREN): Likewise.
1801169689Skan	* config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
1802169689Skan	(TARGET_ASM_CLOSE_PAREN): Likewise.
1803169689Skan
1804169689Skan2006-09-12  Roger Sayle  <roger@eyesopen.com>
1805169689Skan
1806169689Skan	PR target/22223
1807169689Skan	* config/alpha/alpha.c (alpha_start_function): Don't emit stack
1808169689Skan	frame information for frames larger than 512 Kbytes on Tru64 when
1809169689Skan	using the native assembler.
1810169689Skan
1811169689Skan2006-09-12  Roger Sayle  <roger@eyesopen.com>
1812169689Skan
1813169689Skan	PR middle-end/4520
1814169689Skan	PR bootstrap/28784
1815169689Skan	* cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
1816169689Skan	and symbols.  Instead use the implementation from cse.c's hash_rtx.
1817169689Skan
1818169689Skan2006-09-12  Jan Hubicka  <jh@suse.cz>
1819169689Skan
1820169689Skan	PR rtl-optimization/28071
1821169689Skan	* tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
1822169689Skan	(vect_transform_loop): Likewise.
1823169689Skan	* tree-vectorizer.c (new_loop_vec_info): Likewise.
1824169689Skan	(new_loop_vec_info): Likewise.
1825169689Skan	(destroy_loop_vec_info): Likewise.
1826169689Skan	* tree-dfa.c (create_var_ann): Use GCC_CNEW.
1827169689Skan	(create_stmt_ann): Likewise.
1828169689Skan	(create_tree_ann): Rename to ...
1829169689Skan	(create_tree_common_ann): ... this one; allocate only the common part
1830169689Skan	of annotations.
1831169689Skan	* tree-vn.c (set_value_handle): Use get_tree_common_ann.
1832169689Skan	(get_value_handle): Likewise.
1833169689Skan	* tree-ssa-pre.c (phi_translate): Delay annotation allocation for
1834169689Skan	get_tree_common_ann.
1835169689Skan	* tree-vectorizer.h (set_stmt_info): Take stmt annotation.
1836169689Skan	(vinfo_for_stmt): Use stmt annotations.
1837169689Skan	* tree-flow.h (tree_ann_common_t): New type.
1838169689Skan	(tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
1839169689Skan	(tree_ann, get_tree_ann, create_tree_ann): New.
1840169689Skan	* tree-flow-inline.h (get_function_ann): Do more type checking.
1841169689Skan	(stmt_ann): Likewise.
1842169689Skan	(tree_ann): Rename to ...
1843169689Skan	(tree_common_ann): ... this one; return ony common_ann
1844169689Skan	(get_tree_ann): Rename to ...
1845169689Skan	(tree_common_ann): This one; return only common_ann.
1846169689Skan	* tree-vect-patterns.c (vect_pattern_recog_1): Update call
1847169689Skan	of set_stmt_info.
1848169689Skan
1849169689Skan2006-09-11  Geoffrey Keating  <geoffk@apple.com>
1850169689Skan
1851169689Skan	* config.gcc (i[34567]86-*-darwin*): Set with_arch and
1852169689Skan	with_cpu by default.
1853169689Skan
1854169689Skan	* dwarf2out.c (dwarf_file_data): New.
1855169689Skan	(enum dw_val_class): Add dw_val_class_file.
1856169689Skan	(struct dw_val_struct): Add val_file.
1857169689Skan	(file_table): Change to a hash table.
1858169689Skan	(file_table_emitted): Delete.
1859169689Skan	(file_table_last_lookup_index): Delete.
1860169689Skan	(emitcount): Delete.
1861169689Skan	(last_emitted_file): New.
1862169689Skan	(lookup_filename): Change prototype to return a struct dwarf_file_data.
1863169689Skan	(init_file_table): Delete.
1864169689Skan	(maybe_emit_file): Change prototype to take a struct dwarf_file_data.
1865169689Skan	(AT_addr): Add comment.
1866169689Skan	(add_AT_file): New.
1867169689Skan	(AT_file): New.
1868169689Skan	(get_AT_file): New.
1869169689Skan	(print_die): Handle dw_val_class_file.
1870169689Skan	(print_dwarf_line_table): Update for new file table structure.
1871169689Skan	(attr_checksum): Do checksum a filename.
1872169689Skan	(same_dw_val_p, same_attr_p): Do compare a filename.
1873169689Skan	(size_of_die): Handle dw_val_class_file.
1874169689Skan	(value_format): Likewise.
1875169689Skan	(output_die): Likewise.  Also, call maybe_emit_file here.
1876169689Skan	(struct file_info): Constify filenames.  Make file_idx a pointer
1877169689Skan	to a struct dwarf_file_data.
1878169689Skan	(struct dir_info): Constify directory names.  Remove 'used' field.
1879169689Skan	(struct file_name_acquire_data): New.
1880169689Skan	(file_name_acquire): New.
1881169689Skan	(output_file_names): Modify to handle new file data structures.
1882169689Skan	(add_src_coords_attributes): Use add_AT_file.
1883169689Skan	(add_call_src_coords_attributes): Likewise.
1884169689Skan	(dwarf2out_imported_module_or_decl): Likewise.
1885169689Skan	(gen_subprogram_die): Modify for new file data structures.
1886169689Skan	(gen_variable_die): Likewise.
1887169689Skan	(file_table_eq): New.
1888169689Skan	(file_table_hash): New.
1889169689Skan	(file_table_last_lookup): New.
1890169689Skan	(lookup_filename): Rewrite to handle new file data structures.
1891169689Skan	(maybe_emit_file): Rewrite to handle new file data structures.
1892169689Skan	(dwarf2out_source_line): Always call lookup_filename and
1893169689Skan	maybe_emit_file.
1894169689Skan	(dwarf2out_init): Create file_table here.
1895169689Skan	(prune_unused_types_walk_attribs): Don't call maybe_emit_file here.
1896169689Skan	(file_table_relative_p): New.
1897169689Skan	(dwarf2out_finish): Change detection of relative filenames
1898169689Skan	to work with new file data structures.  Move output_line_info call
1899169689Skan	after debug_info output.
1900169689Skan
1901169689Skan2006-09-11  H.J. Lu  <hongjiu.lu@intel.com>
1902169689Skan
1903169689Skan	PR target/13685
1904169689Skan	PR target/27537
1905169689Skan	PR target/28621
1906169689Skan	* config/i386/i386.c (override_options): Always default to 16
1907169689Skan	byte stack boundary.
1908169689Skan
1909169689Skan2006-09-11  Alexandre Oliva  <aoliva@redhat.com>
1910169689Skan
1911169689Skan	PR target/28672
1912169689Skan	* var-tracking.c (dump_dataflow_set): Start dumping at
1913169689Skan	register zero.
1914169689Skan	(clobber_variable_part): Kill only the variable part in
1915169689Skan	registers holding it, leaving other variables alone.
1916169689Skan
1917169689Skan2006-09-11  Josh Triplett  <josh@freedesktop.org>
1918169689Skan
1919169689Skan	* doc/extend.texi (Other Builtins): Actually use the macro
1920169689Skan	argument in the documentation example for
1921169689Skan	__builtin_types_compatible_p.
1922169689Skan
1923169689Skan2006-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
1924169689Skan
1925169689Skan	PR rtl-optimization/28726
1926169689Skan	* sched-deps.c (sched_analyze_reg): New function extracted from...
1927169689Skan	(sched_analyze_1): ...here.  Call it to analyze references to
1928169689Skan	registers.  Treat again writes to a stack register as writing to the
1929169689Skan	register.
1930169689Skan	(sched_analyze_2): ...and here.  Call it to analyze references to
1931169689Skan	registers.  Treat again reads of a stack register as reading the
1932169689Skan	register.
1933169689Skan
1934169689Skan2006-09-11  Guenter Roeck  <guenter@roeck-us.net>
1935169689Skan	    David Edelsohn  <edelsohn@gnu.org>
1936169689Skan
1937169689Skan	PR target/27287
1938169689Skan	* config/rs6000/spe.md (frob_df_di): Remove %H.
1939169689Skan	(frob_di_df): Remove %H.  Change evmergelo to mr.
1940169689Skan	(frob_di_df_2): Remove %H.  Change evldd to two loads.
1941169689Skan
1942169689Skan2006-09-11  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
1943169689Skan
1944169689Skan	* doc/cpp.texi: Fix names of charset options.
1945169689Skan
1946169689Skan2006-09-10  Andrew Pinski  <pinskia@physics.uc.edu>
1947169689Skan
1948169689Skan	PR target/29009
1949169689Skan	* config/i386/i386.c (override_options): Use 128-bit
1950169689Skan	stack boundary always for 64bits.
1951169689Skan
1952169689Skan2006-09-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1953169689Skan
1954169689Skan	PR rtl-optimization/28636
1955169689Skan	* combine.c (force_to_mode): Test for side-effects before
1956169689Skan	substituting by zero.
1957169689Skan	(simplify_shift_const): Likewise for zero or other constants.
1958169689Skan
1959169689Skan2006-09-10  Steven Bosscher  <steven@gcc.gnu.org>
1960169689Skan
1961169689Skan	PR middle-end/26983
1962169689Skan	* builtins.c (expand_builtin_setjmp): Force next_lab to be
1963169689Skan	preserved.
1964169689Skan
1965169689Skan2006-09-10  Richard Sandiford  <richard@codesourcery.com>
1966169689Skan
1967169689Skan	PR target/29006
1968169689Skan	* config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
1969169689Skan	* config/mips/mips.c (mips_expand_unaligned_store): Use the mode
1970169689Skan	returned by mode_for_size, rather than the mode of src itself,
1971169689Skan	to choose between 32-bit and 64-bit patterns.
1972169689Skan	(mips_mem_fits_mode_p): New function.
1973169689Skan	* config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
1974169689Skan	that the size of the source matches the size of the destination.
1975169689Skan	(mov_<store>l, mov_<store>r): Likewise.
1976169689Skan
1977169689Skan2006-09-10  Eric Christopher  <echristo@apple.com>
1978169689Skan
1979169689Skan	* config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
1980169689Skan	for literal16.
1981169689Skan
1982169689Skan2006-09-09  Eric Christopher  <echristo@apple.com>
1983169689Skan
1984169689Skan	PR target/28995
1985169689Skan	* config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
1986169689Skan	for literal16.
1987169689Skan
1988169689Skan2006-09-09  Roger Sayle  <roger@eyesopen.com>
1989169689Skan	    Nicolas Setton <setton@adacore.com>
1990169689Skan
1991169689Skan	* dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
1992169689Skan
1993169689Skan2006-09-10  Andreas Schwab  <schwab@suse.de>
1994169689Skan
1995169689Skan	* config/m68k/m68k.md (bungt_rev): New pattern.
1996169689Skan
1997169689Skan2006-09-09  Paolo Bonzini  <bonzini@gnu.org>
1998169689Skan	    Dale Johannesen  <dalej@apple.com>
1999169689Skan
2000169689Skan	PR target/26778
2001169689Skan	* regclass.c (struct reg_pref): Update documentation.
2002169689Skan	(regclass): Set prefclass to NO_REGS if memory is the best option.
2003169689Skan	(record_reg_classes): Cope with a prefclass set to NO_REGS.
2004169689Skan
2005169689Skan2006-09-08  Eric Christopher  <echristo@apple.com>
2006169689Skan
2007169689Skan	* config.gcc (i?86-*-darwin): Add 64-bit HWI support.
2008169689Skan	* config/t-slibgcc-darwin: Support x86_64 multilib.
2009169689Skan	* config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
2010169689Skan	Return 1 for x86_64-darwin.
2011169689Skan	* config/i386/t-darwin: Add m64 multilib.
2012169689Skan	(LIB2_SIDITI_CONV_FUNCS): Use.
2013169689Skan	(LIB2FUNCS_EXTRA): Ditto.
2014169689Skan	* config/i386/darwin.h: Support x86_64.
2015169689Skan	* config/i386/i386.c (override_options): Turn on flag_pic
2016169689Skan	for x86_64-darwin. Disable flag_omit_pointer.
2017169689Skan	(get_pc_thunk_name): Assert !TARGET_64BIT.
2018169689Skan	(legitimate_address_p): Disable machopic addressing for
2019169689Skan	x86_64.
2020169689Skan	(legitimize_pic_address): Ditto.
2021169689Skan	(ix86_expand_move): Ditto.
2022169689Skan	(ix86_expand_call): Ditto.
2023169689Skan	(machopic_output_stub): Ditto.
2024169689Skan	* config/darwin.c (machopic_select_section): Support literal16.
2025169689Skan	(machopic_select_rtx_section): Ditto.
2026169689Skan	* config/darwin-sections.def: Ditto.
2027169689Skan	* config/darwin-64.c: New.
2028169689Skan
2029169689Skan2006-09-08  Joseph S. Myers  <joseph@codesourcery.com>
2030169689Skan
2031169689Skan	PR c/28504
2032169689Skan	* c-tree.h (struct c_arg_info): Add pending_sizes.
2033169689Skan	* c-parser.c (c_parser_parms_declarator,
2034169689Skan	c_parser_parms_list_declarator): Initialize pending_sizes.
2035169689Skan	* c-decl.c (get_parm_info): Initialize pending_sizes.
2036169689Skan	(get_parm_info): Set pending_sizes.
2037169689Skan	(grokdeclarator): Call put_pending_sizes for parameters for
2038169689Skan	function definition only.
2039169689Skan
2040169689Skan2006-09-07  Jason Merrill  <jason@redhat.com>
2041169689Skan
2042169689Skan	PR middle-end/27724
2043169689Skan	* varasm.c (output_constant): Only strip actual no-op conversions.
2044169689Skan
2045169689Skan	PR target/13685
2046169689Skan	* config/i386/i386.c (override_options): Use 128-bit
2047169689Skan	stack boundary if -msse.
2048169689Skan
2049169689Skan2006-09-07  Eric Christopher  <echristo@apple.com>
2050169689Skan
2051169689Skan	* config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
2052169689Skan	comment.
2053169689Skan	* config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
2054169689Skan	Redefine.
2055169689Skan
2056169689Skan2006-09-07  Geoffrey Keating  <geoffk@apple.com>
2057169689Skan
2058169689Skan	* dwarf2out.c: Remove strange characters from comment above
2059169689Skan	dwarf2out_frame_debug_expr.
2060169689Skan
2061169689Skan2006-09-07  Eric Christopher  <echristo@apple.com>
2062169689Skan
2063169689Skan	* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
2064169689Skan	* config/darwin.h: ... to here.
2065169689Skan
2066169689Skan2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>
2067169689Skan
2068169689Skan	* config/i386/i386.c (x86_partial_flag_reg_stall): New.
2069169689Skan
2070169689Skan	* config/i386/i386.h (x86_partial_flag_reg_stall): New.
2071169689Skan	(TARGET_PARTIAL_FLAG_REG_STALL): New.
2072169689Skan
2073169689Skan	* config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
2074169689Skan	TARGET_PARTIAL_FLAG_REG_STALL.
2075169689Skan	(*ashldi3_cconly_rex64): Likewise.
2076169689Skan	(*ashlsi3_cmp): Likewise.
2077169689Skan	(*ashlsi3_cconly): Likewise.
2078169689Skan	(*ashlsi3_cmp_zext): Likewise.
2079169689Skan	(*ashlhi3_cmp): Likewise.
2080169689Skan	(*ashlhi3_cconly): Likewise.
2081169689Skan	(*ashlqi3_cmp): Likewise.
2082169689Skan	(*ashlqi3_cconly): Likewise.
2083169689Skan	(*ashrdi3_cmp_rex64): Likewise.
2084169689Skan	(*ashrdi3_cconly_rex64): Likewise.
2085169689Skan	(*ashrsi3_cmp): Likewise.
2086169689Skan	(*ashrsi3_cconly): Likewise.
2087169689Skan	(*ashrsi3_cmp_zext): Likewise.
2088169689Skan	(*ashrhi3_cmp): Likewise.
2089169689Skan	(*ashrhi3_cconly): Likewise.
2090169689Skan	(*ashrqi3_cmp): Likewise.
2091169689Skan	(*ashrqi3_cconly): Likewise.
2092169689Skan	(*lshrdi3_cmp_rex64): Likewise.
2093169689Skan	(*lshrdi3_cconly_rex64): Likewise.
2094169689Skan	(*lshrsi3_cmp): Likewise.
2095169689Skan	(*lshrsi3_cconly): Likewise.
2096169689Skan	(*lshrsi3_cmp_zext): Likewise.
2097169689Skan	(*lshrhi3_cmp): Likewise.
2098169689Skan	(*lshrhi3_cconly): Likewise.
2099169689Skan	(*lshrqi2_cmp): Likewise.
2100169689Skan	(*lshrqi2_cconly): Likewise.
2101169689Skan
2102169689Skan2006-09-07 Uros Bizjak <uros@kss-loka.si>
2103169689Skan
2104169689Skan	PR target/28946
2105169689Skan	* config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
2106169689Skan	"*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
2107169689Skan	"*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
2108169689Skan	"*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
2109169689Skan	"*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
2110169689Skan	"*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
2111169689Skan	"*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
2112169689Skan	"*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
2113169689Skan	"*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
2114169689Skan	implement only CC setting effects of shift instructions.
2115169689Skan
2116169689Skan2006-09-07  Martin Michlmayr  <tbm@cyrius.com>
2117169689Skan
2118169689Skan	* doc/contrib.texi: Add myself.
2119169689Skan
2120169689Skan2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>
2121169689Skan
2122169689Skan	PR middle-end/28862
2123169689Skan	* stor-layout.c (relayout_decl): Don't zero the alignment if it
2124169689Skan	was set by the user.
2125169689Skan
2126169689Skan2006-09-07  Paolo Bonzini  <bonzini@gnu.org>
2127169689Skan
2128169689Skan	PR target/27117
2129169689Skan	* config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
2130169689Skan	(divsi_inv_m1): Use them.
2131169689Skan	(UNSPEC_DIV_INV_TABLE): New constant.
2132169689Skan
2133169689Skan2006-09-06  James E Wilson  <wilson@specifix.com>
2134169689Skan
2135169689Skan	PR rtl-opt/27883
2136169689Skan	* flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
2137169689Skan	then call count_or_remove_death_notes.
2138169689Skan
2139169689Skan2006-09-06  Jason Merrill  <jason@redhat.com>
2140169689Skan
2141169689Skan	PR c++/27371
2142169689Skan	* tree-inline.c (copy_result_decl_to_var): New fn.
2143169689Skan	(declare_return_variable): Use it.  Call declare_inline_vars here.
2144169689Skan	(expand_call_inline): Not here.
2145169689Skan
2146169689Skan2006-09-06  Diego Novillo  <dnovillo@redhat.com>
2147169689Skan
2148169689Skan	* doc/contrib.texi: Update my entry.
2149169689Skan
2150169689Skan2006-09-06  Nick Clifton  <nickc@redhat.com>
2151169689Skan
2152169689Skan	* config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
2153169689Skan
2154169689Skan2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
2155169689Skan
2156169689Skan	PR tree-opt/28937
2157169689Skan	* tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
2158169689Skan	(canonicalize_induction_variables): Likewise.
2159169689Skan	(tree_unroll_loops_completely): Likewise.
2160169689Skan	(tree_ssa_prefetch_arrays): Likewise.
2161169689Skan	(remove_empty_loops): Likewise.
2162169689Skan	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
2163169689Skan	TODO_cleanup_cfg instead of directly calling
2164169689Skan	cleanup_tree_cfg_loop.
2165169689Skan	* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
2166169689Skan	Likewise.
2167169689Skan	(tree_unroll_loops_completely): Likewise.
2168169689Skan	(remove_empty_loops): Likewise.
2169169689Skan	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
2170169689Skan	* tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
2171169689Skan	of tree_ssa_unswitch_loops.
2172169689Skan	(tree_ssa_loop_ivcanon): Use the return value of
2173169689Skan	canonicalize_induction_variables.
2174169689Skan	(tree_ssa_empty_loop): Use the return value of
2175169689Skan	remove_empty_loops.
2176169689Skan	(tree_complete_unroll): Use the return value of
2177169689Skan	tree_unroll_loops_completely.
2178169689Skan	(tree_ssa_loop_prefetch): Use the return value of
2179169689Skan	tree_ssa_prefetch_arrays.
2180169689Skan	* passes.c (execute_todo): Before Cleanup CFG, set
2181169689Skan	updating_used_alone and after cleanup CFG, call
2182169689Skan	recalculate_used_alone.
2183169689Skan
2184169689Skan2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
2185169689Skan
2186169689Skan	PR tree-opt/28952
2187169689Skan	* tree-vect-transform.c (vectorizable_condition): Move the check
2188169689Skan	for the type after the check for simple condition.
2189169689Skan
2190169689Skan2006-09-05  J"orn Rennecke  <joern.rennecke@st.com>
2191169689Skan	    Kaz Kojima  <kkojima@gcc.gnu.org>
2192169689Skan
2193169689Skan	PR target/28764
2194169689Skan	* mode-switching.c (optimize_mode_switching): Make the destination
2195169689Skan	block of an abnormal edge have no anticipatable mode.  Don't
2196169689Skan	insert mode switching code at the end of the source block of
2197169689Skan	an abnormal edge.
2198169689Skan
2199169689Skan2006-09-05  Paolo Bonzini  <bonzini@gnu.org>
2200169689Skan
2201169689Skan	PR rtl-optimization/26847
2202169689Skan	* simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
2203169689Skan	(simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
2204169689Skan	(simplify_plus_minus): Count n_constants while filling ops.  Replace
2205169689Skan	qsort with insertion sort.  Before going through the array to simplify
2206169689Skan	pairs, sort it.  Delay early exit until after the first sort, exiting
2207169689Skan	only if no swaps occurred.  Simplify pairs in reversed order, without
2208169689Skan	special-casing the first iteration.  Pack ops after simplifying pairs.
2209169689Skan
2210169689Skan2006-09-05  Anatoly Sokolov <aesok@post.ru>
2211169689Skan
2212169689Skan	* config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
2213169689Skan	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2214169689Skan	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2215169689Skan	(avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
2216169689Skan
2217169689Skan2006-09-05  Richard Guenther  <rguenther@suse.de>
2218169689Skan
2219169689Skan	PR tree-optimization/28900
2220169689Skan	* tree-if-conv.c (find_phi_replacement_condition): Gimplify
2221169689Skan	compound conditional before creating COND_EXPR condition.
2222169689Skan
2223169689Skan2006-09-05  Richard Guenther  <rguenther@suse.de>
2224169689Skan
2225169689Skan	PR tree-optimization/28905
2226169689Skan	* tree-vrp.c (fix_equivalence_set): Manually implement
2227169689Skan	!value_ranges_intersect_p to also handle symbolic ranges.
2228169689Skan
2229169689Skan2006-09-05  Richard Guenther  <rguenther@suse.de>
2230169689Skan
2231169689Skan	PR middle-end/28935
2232169689Skan	* tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
2233169689Skan	of a COND_EXPR.
2234169689Skan
2235169689Skan2006-09-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
2236169689Skan
2237169689Skan	PR rtl-optimization/27616
2238169689Skan	* cse.c (table_size): New static variable.
2239169689Skan	(new_basic_block): Initialize it to 0.
2240169689Skan	(remove_from_table): Decrement it.
2241169689Skan	(insert): Increment it.
2242169689Skan	(fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
2243169689Skan	(fold_rtx_mem): Enforce a cap on the recursion depth.  Call
2244169689Skan	fold_rtx_mem_1 if under the cap.
2245169689Skan	(fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
2246169689Skan	the lookup of the equivalent expression and test for equality of the
2247169689Skan	first operand of the equivalent expression before in turn looking up
2248169689Skan	an equivalent constant for the second operand.
2249169689Skan
2250169689Skan2006-09-02  Geoffrey Keating  <geoffk@apple.com>
2251169689Skan
2252169689Skan	Revert this change:
2253169689Skan	2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
2254169689Skan	* dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
2255169689Skan	pointer, instead of assuming it is possible to derive the
2256169689Skan	correct args size from a call insn.
2257169689Skan
2258169689Skan2006-09-02  Jakub Jelinek  <jakub@redhat.com>
2259169689Skan
2260169689Skan	PR middle-end/27567
2261169689Skan	* builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
2262169689Skan	(fold_builtin_mempcpy): Rename to...
2263169689Skan	(fold_builtin_memory_op): ... this.  Optimize one element copy
2264169689Skan	into an assignment.
2265169689Skan	(fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
2266169689Skan	functions.
2267169689Skan	(expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
2268169689Skan	(expand_builtin_memcpy, expand_builtin_mempcpy,
2269169689Skan	expand_builtin_memmove): Likewise.  Use fold_builtin_memory_op.
2270169689Skan	(fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
2271169689Skan	BUILT_IN_BCOPY.  Use fold_builtin_memory_op for
2272169689Skan	BUILT_IN_MEM{CPY,PCPY,MOVE}.
2273169689Skan
2274169689Skan2006-09-01  DJ Delorie  <dj@redhat.com>
2275169689Skan
2276169689Skan	* config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
2277169689Skan	(stzx_16): Likewise.
2278169689Skan	("stzx_24_<mode>"): Likewise.
2279169689Skan	("stzx_reversed_<mode>"): Likewise, and make mode-specific.
2280169689Skan	("cmp<mode>_op"): New.
2281169689Skan	(cmp<mode>): Change to expander; just save operands.
2282169689Skan	(b<code>_op): New.
2283169689Skan	(b<code>): Change to expander, emit compare here.
2284169689Skan	(s<code>_op): Change to use split and expander.
2285169689Skan	(s<code>_24_op): Likewise.
2286169689Skan	(s<code>_<mode>): New.
2287169689Skan	(s<code>_<mode>_24): New.
2288169689Skan	(movqicc_<code>_<mode): New.
2289169689Skan	(movhicc_<code>_<mode>): New.
2290169689Skan	(s<code>): New.
2291169689Skan	(s<code>_24): New.
2292169689Skan	* config/m32c/m32c.c (compare_op0, compare_op1): New.
2293169689Skan	(m32c_pend_compare): New.
2294169689Skan	(m32c_unpend_compare): New.
2295169689Skan	(m32c_expand_scc): New.
2296169689Skan	(m32c_expand_movcc): Emit the compare also.
2297169689Skan	* config/m32c/predicates.md (mra_nopp_operand): New.
2298169689Skan
2299169689Skan2006-09-01  J"orn Rennecke  <joern.rennecke@st.com>
2300169689Skan	Richard Guenther  <rguenther@suse.de>
2301169689Skan	Adam Nemet  <anemet@caviumnetworks.com>
2302169689Skan
2303169689Skan	PR middle-end/27226
2304169689Skan	* builtins.c (get_pointer_alignment): Handle more forms
2305169689Skan	of base addresses that can be used to derive more precise
2306169689Skan	information about alignment.
2307169689Skan
2308169689Skan2006-09-01  Jason Merrill  <jason@redhat.com>
2309169689Skan
2310169689Skan	PR c++/28899
2311169689Skan	* gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle
2312169689Skan	want_value.
2313169689Skan
2314169689Skan	* gimplify.c (voidify_wrapper_expr): Handle null type.
2315169689Skan
2316169689Skan2006-09-01  Josh Conner  <jconner@apple.com>
2317169689Skan
2318169689Skan	PR c++/25505
2319169689Skan	* tree-nrv.c (dest_safe_for_nrv_p): New function.
2320169689Skan	(execute_return_slot_opt): Use it.
2321169689Skan
2322169689Skan2006-08-31  Josh Conner  <jconner@apple.com>
2323169689Skan
2324169689Skan	PR c++/25505
2325169689Skan	* tree-gimple.c (is_gimple_mem_rhs): Recognize functions
2326169689Skan	returning aggregates.
2327169689Skan
2328169689Skan2006-08-31  Zdenek Dvorak <dvorakz@suse.cz>
2329169689Skan
2330169689Skan	PR tree-optimization/28839
2331169689Skan	* tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in
2332169689Skan	blocks in that phi arguments appear.
2333169689Skan
2334169689Skan2006-08-31  Roger Sayle  <roger@eyesopen.com>
2335169689Skan
2336169689Skan	PR other/22313
2337169689Skan	* dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
2338169689Skan	NULL, otherwise use an advance_loc4 to adjust relative to the
2339169689Skan	current label.
2340169689Skan	(output_cfi) <DW_CFA_set_loc>: Update the current label.
2341169689Skan	(dwarf2out_switch_text_section): Reset the current label to avoid
2342169689Skan	using advance_loc4 over section boundaries.
2343169689Skan
2344169689Skan2006-08-31  Andreas Krebbel  <krebbel1@de.ibm.com>
2345169689Skan
2346169689Skan	PR target/24367
2347169689Skan	* config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
2348169689Skan	r12 + SYMBOLIC_CONST.
2349169689Skan
2350169689Skan2006-08-30  Richard Guenther  <rguenther@suse.de>
2351169689Skan
2352169689Skan	* Makefile.in (see.o): Add $(EXPR_H) dependency.
2353169689Skan
2354169689Skan2006-08-30  Zdenek Dvorak <dvorakz@suse.cz>
2355169689Skan
2356169689Skan	PR rtl-optimization/27735
2357169689Skan	* cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop):
2358169689Skan	Add new argument to keep track of whether an irreducible region
2359169689Skan	was affected.  All callers changed.
2360169689Skan	(fix_irreducible_loops): Removed.
2361169689Skan	(remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP
2362169689Skan	flags were invalidated.
2363169689Skan
2364169689Skan2006-08-29  H.J. Lu  <hongjiu.lu@intel.com>
2365169689Skan
2366169689Skan	* config/i386/i386.md (*fop_df_comm_mixed): Match DF operands
2367169689Skan	instead of SF operands.
2368169689Skan	(*fop_df_comm_sse): Likewise.
2369169689Skan	(*fop_df_comm_i387): Likewise.
2370169689Skan	(*fop_df_1_mixed): Likewise.
2371169689Skan	(*fop_df_1_sse): Likewise.
2372169689Skan
2373169689Skan2006-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
2374169689Skan	    J"orn Rennecke  <joern.rennecke@st.com>
2375169689Skan
2376169689Skan	PR tree-optimization/17506
2377169689Skan	* tree-ssa.c (warn_uninit): If warning about a location outside of
2378169689Skan	the current function, note where the variable was declared.
2379169689Skan
2380169689Skan2006-08-28  Zdenek Dvorak <dvorakz@suse.cz>
2381169689Skan
2382169689Skan	PR tree-optimization/28411
2383169689Skan	* double-int.c (double_int_div): Use double_int_divmod.
2384169689Skan	(double_int_divmod, double_int_sdivmod, double_int_udivmod,
2385169689Skan	double_int_mod, double_int_smod, double_int_umod): New functions.
2386169689Skan	* double-int.h (double_int_divmod, double_int_sdivmod,
2387169689Skan	double_int_udivmod, double_int_mod, double_int_smod, double_int_umod):
2388169689Skan	Declare.
2389169689Skan	* tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result
2390169689Skan	in double_int.
2391169689Skan	(get_computation_aff, get_computation_cost_at): Handle double_int
2392169689Skan	return type of constant_multiple_of.
2393169689Skan
2394169689Skan2006-08-28  Kazu Hirata  <kazu@codesourcery.com>
2395169689Skan
2396169689Skan	PR middle-end/26632
2397169689Skan	* convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
2398169689Skan	an implicit conversion.
2399169689Skan
2400169689Skan2006-08-28  Prafulla Thakare  <prafullat@kpitcummins.com>
2401169689Skan
2402169689Skan	* config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
2403169689Skan
2404169689Skan2006-08-27  Roger Sayle  <roger@eyesopen.com>
2405169689Skan
2406169689Skan	* ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
2407169689Skan	x87 instructions.
2408169689Skan
2409169689Skan2006-08-27  Kazu Hirata  <kazu@codesourcery.com>
2410169689Skan
2411169689Skan	* config/i386/crtfastmath.c: Fix a comment typo.
2412169689Skan
2413169689Skan2006-08-26  Roger Sayle  <roger@eyesopen.com>
2414169689Skan
2415169689Skan	* tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating
2416169689Skan	temporary visit flags on CASE_LABEL_EXPRs.
2417169689Skan	* c-common.c (match_case_to_enum): Add function comment.  Avoid
2418169689Skan	O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN.
2419169689Skan	(c_do_switch_warnings):  Reorganize to record CASE_LOW_SEEN and
2420169689Skan	CASE_HIGH_SEEN for enumerated types.  If the switch expression is
2421169689Skan	a constant, only warn if that constant value isn't handled.
2422169689Skan
2423169689Skan2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
2424169689Skan
2425169689Skan	PR c++/24009
2426169689Skan	* input.h (restore_input_file_stack): Declare.
2427169689Skan	(INPUT_FILE_STACK_BITS): Define.
2428169689Skan	* toplev.c (fs_p, input_file_stack_history,
2429169689Skan	input_file_stack_restored, restore_input_file_stack): New.
2430169689Skan	(push_srcloc, pop_srcloc): Check for input_file_stack_tick
2431169689Skan	overflowing INPUT_FILE_STACK_BITS bits.  Save new state of stack.
2432169689Skan	(pop_srcloc): Don't free old state of stack.
2433169689Skan
2434169689Skan2006-08-26  David Edelsohn  <edelsohn@gnu.org>
2435169689Skan
2436169689Skan	PR target/27544
2437169689Skan	* doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
2438169689Skan	(PowerPC Type Attributes): New.
2439169689Skan
2440169689Skan2006-08-26  Bob Wilson  <bob.wilson@acm.org>
2441169689Skan
2442169689Skan	* config/xtensa/xtensa.c (function_arg_boundary): New.
2443169689Skan	(function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
2444169689Skan	STACK_BOUNDARY.
2445169689Skan	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
2446169689Skan	function_arg_boundary function that limits alignment to STACK_BOUNDARY.
2447169689Skan
2448169689Skan2006-08-26  Jakub Jelinek  <jakub@redhat.com>
2449169689Skan
2450169689Skan	PR middle-end/28683
2451169689Skan	* cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
2452169689Skan	3 following insns.
2453169689Skan
2454169689Skan2006-08-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2455169689Skan
2456169689Skan	* flow.c (verify_wide_reg): Use internal_error for consistency failure.
2457169689Skan	(verify_local_live_at_start): Likewise.
2458169689Skan
2459169689Skan2006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
2460169689Skan
2461169689Skan	PR c/27893
2462169689Skan	* gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval,
2463169689Skan	omp_add_variable): Treat sizes as variable whenever not
2464169689Skan	INTEGER_CST.
2465169689Skan
2466169689Skan2006-08-26  Richard Guenther  <rguenther@suse.de>
2467169689Skan
2468169689Skan	PR middle-end/28814
2469169689Skan	* fold-const.c (fold_binary): Fold temporary to correct
2470169689Skan	type before constructing new comparison.
2471169689Skan
2472169689Skan2006-08-25  Fariborz Jahanian  <fjahanian@apple.com>
2473169689Skan
2474169689Skan	PR c/28418
2475169689Skan	* c-gimplify.c (gimplify_compound_literal_expr): Don't add
2476169689Skan	variable again if DECL_SEEN_IN_BIND_EXPR_P.
2477169689Skan
2478169689Skan2006-08-25  Joseph S. Myers  <joseph@codesourcery.com>
2479169689Skan
2480169689Skan	PR c/28299
2481169689Skan	* c-decl.c (start_function): Don't try to process prototype
2482169689Skan	information from old declaration that isn't a function.
2483169689Skan
2484169689Skan2006-08-25  Jan Hubicka  <jh@suse.cz>
2485169689Skan
2486169689Skan	PR target/28621
2487169689Skan	* config/i386/crtfastmath.c (set_fast_math): Force stack alignment.
2488169689Skan
2489169689Skan2006-08-25  Alan Modra  <amodra@bigpond.net.au>
2490169689Skan
2491169689Skan	PR target/27075
2492169689Skan	* config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
2493169689Skan	for 8 byte objects.
2494169689Skan
2495169689Skan2006-08-25  J"orn Rennecke  <joern.rennecke@st.com>
2496169689Skan
2497169689Skan	PR tree-optimization/16876
2498169689Skan	* c-typeck.c (c_convert_parm_for_inlining): Don't take early
2499169689Skan	exit if PARM doesn't match VALUE.
2500169689Skan
2501169689Skan2006-08-25  Bob Wilson  <bob.wilson@acm.org>
2502169689Skan
2503169689Skan	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a
2504169689Skan	literal_prefix directive.
2505169689Skan	(XTENSA_DECLARE_FUNCTION_SIZE): Delete.
2506169689Skan	* config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
2507169689Skan	* config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete.
2508169689Skan
2509169689Skan2006-08-25  David Edelsohn  <edelsohn@gnu.org>
2510169689Skan
2511169689Skan	PR target/28753
2512169689Skan	* config/rs6000/rs6000.md (movcc_internal1): Change operand 1
2513169689Skan	predicate to general_operand.  Add 0->y and I->r alternatives.
2514169689Skan
2515169689Skan2006-08-25  Kazu Hirata  <kazu@codesourcery.com>
2516169689Skan
2517169689Skan	* doc/tm.texi: Fix a typo.
2518169689Skan	* predict.c: Fix comment typos.
2519169689Skan
2520169689Skan2006-08-25  Nick Clifton  <nickc@redhat.com>
2521169689Skan
2522169689Skan	* config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
2523169689Skan	assertions of "cpu" and "machine".
2524169689Skan
2525169689Skan2006-08-24  Andrew Pinski  <pinskia@physics.uc.edu>
2526169689Skan
2527169689Skan	PR tree-opt/28807
2528169689Skan	* tree-ssa-operands.c (access_can_touch_variable): Don't say
2529169689Skan	the access through a base which has an alias set of 0 cannot
2530169689Skan	touch the variable.
2531169689Skan
2532169689Skan2006-08-24  Bill Wendling  <wendling@apple.com>
2533169689Skan
2534169689Skan	* doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
2535169689Skan
2536169689Skan2006-08-24  Jan Hubicka  <jh@suse.cz>
2537169689Skan
2538169689Skan	* reload1.c (emit_reload_insns): Fix yet another typo in my patch.
2539169689Skan
2540169689Skan2006-08-24  Jan Hubicka  <jh@suse.cz>
2541169689Skan
2542169689Skan	PR debug/26881
2543169689Skan	* cgraph.c: Fix comments.
2544169689Skan	(cgraph_varpool_mark_needed_node): Mark only variables not already
2545169689Skan	output to file.
2546169689Skan	* cgraphunit.c: Update comments; include gt-cgraphunit.h
2547169689Skan	(cgraph_varpool_assembled_nodes_queue): New static variable.
2548169689Skan	(cgraph_varpool_assemble_decl): Record output decls for debug out code.
2549169689Skan	(cgraph_varpool_output_debug_info): New function.
2550169689Skan	(cgraph_finalize_compilation_unit, cgraph_optimize): Call it.
2551169689Skan	* Makefile.in: Add gt-cgraphunit.h
2552169689Skan
2553169689Skan2006-08-24  Jan Hubicka  <jh@suse.cz>
2554169689Skan
2555169689Skan	* predict.c (probability_reliable_p): New predicate.
2556169689Skan	(edge_probability_reliable_p, br_prob_note_reliable_p): Likewise.
2557169689Skan	(predict_loops): Do not predict loop exit with less than 2%
2558169689Skan	probability.
2559169689Skan	* basic-block.h (edge_probability_reliable_p,
2560169689Skan	br_prob_note_reliable_p): Declare.
2561169689Skan	* ia64.h (ia64_print_operand): Do not disable on-chip branch
2562169689Skan	prediction when static predictor is not reliable.
2563169689Skan	* rs6000.c (output_cbranch): Likewise.
2564169689Skan
2565169689Skan2006-08-23  Stuart Hastings  <stuart@apple.com>
2566169689Skan
2567169689Skan	PR 28825
2568169689Skan	* gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
2569169689Skan	ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
2570169689Skan
2571169689Skan2006-08-21  Geoffrey Keating  <geoffk@apple.com>
2572169689Skan
2573169689Skan	PR debug/28692
2574169689Skan	* dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for
2575169689Skan	complex values, nor for generic vector values.
2576169689Skan
2577169689Skan2006-08-22  Richard Guenther  <rguenther@suse.de>
2578169689Skan
2579169689Skan	PR middle-end/28776
2580169689Skan	* tree-scalar-evolution.c (fold_used_pointer): Add at_stmt
2581169689Skan	parameter.  Convert arguments to arithmetic expression to the
2582169689Skan	chrecs type.
2583169689Skan	(analyze_scalar_evolution_1): Adjust caller.
2584169689Skan
2585169689Skan2006-08-22  Jan Hubicka  <jh@suse.cz>
2586169689Skan
2587169689Skan	Patch by Paolo Bonzini
2588169689Skan	* reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by
2589169689Skan	my previous patch.
2590169689Skan
2591169689Skan2006-08-22  Daniel Berlin  <dberlin@dberlin.org>
2592169689Skan
2593169689Skan	PR tree-optimization/28003
2594169689Skan	* tree-ssa-alias.c (compute_may_aliases): Compute call clobbered
2595169689Skan	before grouping aliases.
2596169689Skan
2597169689Skan2006-08-22  Roger Sayle  <roger@eyesopen.com>
2598169689Skan
2599169689Skan	* config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG
2600169689Skan	if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE.
2601169689Skan
2602169689Skan2006-08-21  Jason Merrill  <jason@redhat.com>
2603169689Skan
2604169689Skan	PR c++/27115
2605169689Skan	* gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a
2606169689Skan	wrapper.  Loop to handle nested wrappers.
2607169689Skan	(gimplify_bind_expr): Remove temp parameter.
2608169689Skan	(gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR
2609169689Skan	and STATEMENT_LIST on the rhs.
2610169689Skan	(gimplify_statement_list): Voidify the STATEMENT_LIST.
2611169689Skan	(gimplify_expr): Pass pre_p to gimplify_statement_list.
2612169689Skan	(gimplify_target_expr): Remove special BIND_EXPR handling.
2613169689Skan
2614169689Skan2006-08-21  J"orn Rennecke  <joern.rennecke@st.com>
2615169689Skan
2616169689Skan	* config/sh/lib1funcs-Os-4-200.asm: Guard entire file with
2617169689Skan	#if !__SHMEDIA__ .
2618169689Skan
2619169689Skan2006-08-21  Olivier Hainque  <hainque@adacore.com>
2620169689Skan
2621169689Skan	* gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
2622169689Skan	Arrange for the temporary captures of components overlapping the lhs
2623169689Skan	to happen before the lhs is possibly cleared.
2624169689Skan
2625169689Skan2006-08-21  Mark Shinwell  <shinwell@codesourcery.com>
2626169689Skan
2627169689Skan	* config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
2628169689Skan	necessary places to pass the correct "number of registers" values
2629169689Skan	to _Unwind_VRS_Pop.
2630169689Skan
2631169689Skan2006-08-20  Jan Hubicka  <jh@suse.cz>
2632169689Skan
2633169689Skan	* tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function.
2634169689Skan	(create_name_tags): Instead of quadratic checking use hashtable.
2635169689Skan	* bitmap.h: Include hashtab.h.
2636169689Skan	(bitmap_hash): Declare.
2637169689Skan	* bitmap.c (bitmap_hash): New function.
2638169689Skan
2639169689Skan2006-08-20  Jan Hubicka  <jh@suse.cz>
2640169689Skan
2641169689Skan	PR rtl-optimization/28071
2642169689Skan	* tree-optimize.c (tree_rest_of_compilation): Do not remove edges
2643169689Skan	twice.
2644169689Skan	* tree-inline.c (copy_bb): Use cgraph_set_call_stmt.
2645169689Skan	* ipa-inline.c (cgraph_check_inline_limits): Add one_only argument.
2646169689Skan	(cgraph_decide_inlining, cgraph_decide_inlining_of_small_function,
2647169689Skan	cgraph_decide_inlining_incrementally): Update use of
2648169689Skan	cgraph_check_inline_limits.
2649169689Skan	* cgraph.c (edge_hash, edge_eq): New function.
2650169689Skan	(cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge,
2651169689Skan	cgraph_edge_remove_caller, cgraph_node_remove_callees,
2652169689Skan	cgraph_remove_node): Maintain call site hash.
2653169689Skan	* cgraph.h (struct cgraph_node): Add call_site_hash.
2654169689Skan	(cgraph_set_call_stmt): New function.
2655169689Skan
2656169689Skan2006-08-20  Jan Hubicka  <jh@suse.cz>
2657169689Skan
2658169689Skan	PR rtl-optimization/28071
2659169689Skan	* reload1.c (reg_has_output_reload): Turn into regset.
2660169689Skan	(reload_as_needed, forget_old_reloads_1, forget_marked_reloads,
2661169689Skan	choose_reload_regs, emit_reload_insns): Update to new
2662169689Skan	reg_has_output_reload.
2663169689Skan
2664169689Skan2006-08-20  Jan Hubicka  <jh@suse.cz>
2665169689Skan
2666169689Skan	PR middle-end/28779
2667169689Skan	* ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute
2668169689Skan	function body sizes.
2669169689Skan	* cgraphunit.c (cgraph_analyze_function): Don't do so.
2670169689Skan
2671169689Skan2006-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
2672169689Skan
2673169689Skan	PR target/28648 c:
2674169689Skan	* tree.c (handle_dll_attribute): Return early if not a
2675169689Skan	var or function decl.
2676169689Skan
2677169689Skan2006-08-18  Joseph Myers  <joseph@codesourcery.com>
2678169689Skan
2679169689Skan	PR target/27565
2680169689Skan	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust
2681169689Skan	alignment of SPE vector types.
2682169689Skan
2683169689Skan2006-08-18  Christophe Jaillet  <christophe.jaillet@wanadoo.fr>
2684169689Skan
2685169689Skan	* tree.c (is_attribute_with_length_p): Remove a duplicated assert.
2686169689Skan
2687169689Skan2006-08-17  Jakub Jelinek  <jakub@redhat.com>
2688169689Skan
2689169689Skan	PR c/28744
2690169689Skan	* cgraph.h (struct cgraph_node): Remove externally_visible
2691169689Skan	bitfield.
2692169689Skan	* cgraphunit.c (process_function_and_variable_attributes): Set
2693169689Skan	local.externally_visible rather than externally_visible.
2694169689Skan
2695169689Skan	PR c/28744
2696169689Skan	* c-common.c (handle_externally_visible_attribute): First look
2697169689Skan	at TREE_CODE and only if it is function or var decl, check for
2698169689Skan	non-public objects.  Don't warn for DECL_EXTERNAL.
2699169689Skan	* cgraphunit.c (process_function_and_variable_attributes): Warn
2700169689Skan	if externally_visible attribute is used on non-public object.
2701169689Skan
2702169689Skan2006-08-17  Jan Hubicka  <jh@suse.cz>
2703169689Skan
2704169689Skan	PR tree-optimization/27865
2705169689Skan	* reload1.c (forget_marked_reloads): New function.
2706169689Skan	(forget_old_reloads_1): When data are passed, just mark the registers
2707169689Skan	for later removal.
2708169689Skan	(reload_as_needed): Use the new mechanizm.
2709169689Skan
2710169689Skan2006-08-17  Alexandre Oliva  <aoliva@redhat.com>
2711169689Skan
2712169689Skan	PR target/28146
2713169689Skan	* reload.h (reg_equiv_alt_mem_list): New declaration.
2714169689Skan	* reload1.c (reg_equiv_alt_mem_list): New definition.
2715169689Skan	(reload): Initialize it and release it.
2716169689Skan	(delete_output_reload): Use it.
2717169689Skan	* reload.c (push_reg_equiv_alt_mem): New function.
2718169689Skan	(find_reloads_toplev): Call it.
2719169689Skan	(find_reloads_address, find_reloads_address_1): Likewise.
2720169689Skan	(find_reloads_subreg_address): Likewise.
2721169689Skan
2722169689Skan2006-08-17  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2723169689Skan
2724169689Skan	PR rtl-optimization/28489
2725169689Skan	* sched-ebb.c (begin_schedule_ready): Create basic block
2726169689Skan	at the right place.
2727169689Skan	(advance_target_bb): Skip empty blocks.
2728169689Skan	* haifa-sched.c (bb_note): Make global.
2729169689Skan	* sched-int.h (bb_note): Add prototype.
2730169689Skan
2731169689Skan2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
2732169689Skan
2733169689Skan	PR tree-optimization/27865
2734169689Skan	* tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE
2735169689Skan	for pointer types.
2736169689Skan	* tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p,
2737169689Skan	fold_used_pointer, pointer_used_p): New functions.
2738169689Skan	(analyze_scalar_evolution_1): Use fold_used_pointer.
2739169689Skan	* tree-chrec.c (convert_affine_scev): Convert no-op casts correctly.
2740169689Skan	* tree-ssa-loop-ivopts.c (generic_type_for): Return integral type
2741169689Skan	for pointers.
2742169689Skan
2743169689Skan2006-08-17  Paolo Bonzini <bonzini@gnu.org>
2744169689Skan
2745169689Skan	PR c++/28573
2746169689Skan	* c-common.c (fold_offsetof_1): Add an argument and recurse down to it
2747169689Skan	or the INTEGER_CST.  Fail on a CALL_EXPR.
2748169689Skan	(fold_offsetof): Pass new argument to fold_offsetof_1.
2749169689Skan	* c-parser.c (c_parser_postfix_expression): Don't include a NULL
2750169689Skan	operand into an INDIRECT_REF.
2751169689Skan	* c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
2752169689Skan
2753169689Skan2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
2754169689Skan
2755169689Skan	PR gcov/profile/26570
2756169689Skan	* value-prof.c (static_values): Removed.
2757169689Skan	(tree_find_values_to_profile): Do not set static_values.
2758169689Skan	(find_values_to_profile): Do not free static_values.
2759169689Skan	* profile.c (instrument_values): Do not free the values.
2760169689Skan	(branch_prob): Free the values.
2761169689Skan
2762169689Skan2006-08-16  Naveen.H.S  <naveenh@kpitcummins.com>
2763169689Skan
2764169689Skan	* config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest.
2765169689Skan
2766169689Skan2006-08-16  Joseph S. Myers  <joseph@codesourcery.com>
2767169689Skan
2768169689Skan	PR c/27697
2769169689Skan	* c-typeck.c (build_component_ref): Combine qualifiers of
2770169689Skan	structure or union and field.
2771169689Skan
2772169689Skan2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
2773169689Skan
2774169689Skan	PR rtl-optimization/28071
2775169689Skan	* basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
2776169689Skan	* dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
2777169689Skan	* tree-into-ssa.c (struct dom_dfsnum): New.
2778169689Skan	(cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
2779169689Skan	functions.
2780169689Skan	(insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
2781169689Skan	compute_global_livein.
2782169689Skan	(prepare_block_for_update, prepare_use_sites_for): Mark the uses
2783169689Skan	in phi nodes in the correct blocks.
2784169689Skan
2785169689Skan2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
2786169689Skan
2787169689Skan	PR tree-optimization/28364
2788169689Skan	* tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero
2789169689Skan	correctly.
2790169689Skan	(fold_affine_expr): New function.
2791169689Skan	(may_eliminate_iv): Use fold_affine_expr.
2792169689Skan
2793169689Skan2006-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2794169689Skan
2795169689Skan	PR c/27489
2796169689Skan	* c-typeck.c (c_start_case): Handle invalid orig_type correctly.
2797169689Skan	Clean up.
2798169689Skan
2799169689Skan2006-08-16  Mike Stump  <mrs@apple.com>
2800169689Skan
2801169689Skan	* doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref.
2802169689Skan	* doc/cppopts.texi (-MD): Likewise.
2803169689Skan
2804169689Skan2006-08-15  Danny Smith  <dannysmith@users.sourceforge.net>
2805169689Skan
2806169689Skan	PR c/28287
2807169689Skan	* c-common.c (handle_weak_attribute): Ignore and warn if
2808169689Skan	not a FUNCTION_ or VAR_DECL.
2809169689Skan
2810169689Skan2006-07-15  Mike Stump  <mrs@apple.com>
2811169689Skan
2812169689Skan	PR c/28280
2813169689Skan	* c-parser.c (c_parser_typeof_specifier): Don't use
2814169689Skan	c_finish_expr_stmt, open code desired semantics instead.
2815169689Skan
2816169689Skan2006-08-15  Nick Clifton  <nickc@redhat.com>
2817169689Skan
2818169689Skan	* config.gcc (x86-mingw32): Add a gthr-win32.h including makefile
2819169689Skan	fragment to tmake_file only if threads are enabled.
2820169689Skan	* config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to...
2821169689Skan	* config/i386/t-gthr-win32: New file. ... here.
2822169689Skan
2823169689Skan2006-08-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2824169689Skan
2825169689Skan	PR c/28649
2826169689Skan	* c-parser.c (c_parser_compound_statement_nostart): Reset
2827169689Skan	parser->error after each statement.
2828169689Skan
2829169689Skan2006-08-15  Jakub Jelinek  <jakub@redhat.com>
2830169689Skan
2831169689Skan	PR middle-end/28713
2832169689Skan	* omp-low.c (lower_omp_parallel): Convert t to
2833169689Skan	receiver_decl's type.
2834169689Skan	(expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR
2835169689Skan	source before comparison.
2836169689Skan
2837169689Skan	PR middle-end/28724
2838169689Skan	* gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival
2839169689Skan	to itype in assignment to oldival2.
2840169689Skan
2841169689Skan2006-07-14  Andrew Pinski  <pinksia@physics.uc.edu>
2842169689Skan
2843169689Skan	PR c/27490
2844169689Skan	PR c/27489
2845169689Skan	* c-typeck.c (build_compound_expr): If the second expression
2846169689Skan	is an error mark, then just return an error mark instead of
2847169689Skan	creating a COMPOUND_EXPR.
2848169689Skan
2849169689Skan2006-07-14  Mike Stump  <mrs@apple.com>
2850169689Skan
2851169689Skan	* Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES.
2852169689Skan
2853169689Skan2006-08-14  Kazu Hirata  <kazu@codesourcery.com>
2854169689Skan
2855169689Skan	* c-decl.c, var-tracking.c: Fix comment typos.
2856169689Skan
2857169689Skan2006-08-14  Richard Sandiford  <richard@codesourcery.com>
2858169689Skan
2859169689Skan	PR rtl-optimization/28634
2860169689Skan	* reorg.c (fill_slots_from_thread): Do not assume A + X - X == A
2861169689Skan	for floating-point modes unless flag_unsafe_math_optimizations.
2862169689Skan
2863169689Skan2006-08-13  Alexandre Oliva  <aoliva@redhat.com>
2864169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
2865169689Skan
2866169689Skan	PR c/27184
2867169689Skan	* tree.c (build_array_type): Unify array types with
2868169689Skan	unspecified index_type.
2869169689Skan	* c-decl.c (grokdeclarator): Make sure we do not modify a
2870169689Skan	unified incomplete array type.
2871169689Skan	* c-typeck.c (store_init_value): Create distinct type before
2872169689Skan	filling in the index type in an initializer from a compound
2873169689Skan	literal.
2874169689Skan
2875169689Skan	* c-decl.c (grokdeclarator): Remove code where we copy the
2876169689Skan	array type over.
2877169689Skan
2878169689Skan2006-08-13  Andrew Pinski  <pinskia@physics.uc.edu>
2879169689Skan
2880169689Skan	* tree-pass.h (TODO_update_ssa): Fix which bit is used to take
2881169689Skan	into account for TODO_dump_cgraph.
2882169689Skan	(TODO_update_ssa_no_phi): Likewise.
2883169689Skan	(TODO_update_ssa_full_phi): Likewise.
2884169689Skan	(TODO_update_ssa_only_virtuals): Likewise.
2885169689Skan	(TODO_remove_unused_locals): Likewise.
2886169689Skan	(TODO_set_props): Likewise.
2887169689Skan	(TODO_update_stmt_usage): Likewise.
2888169689Skan
2889169689Skan2006-08-13  Dirk Mueller  <dmueller@suse.de>
2890169689Skan
2891169689Skan	* c-common.c (strict_aliasing_warning): Fix formatting.
2892169689Skan
2893169689Skan2006-08-13  Matthias Klose  <doko@debian.org>
2894169689Skan
2895169689Skan	* doc/invoke.texi: Fix spelling errors.
2896169689Skan
2897169689Skan2006-08-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2898169689Skan
2899169689Skan	PR rtl-optimization/23454
2900169689Skan	* reorg.c (relax_delay_slots): Update comment.
2901169689Skan
2902169689Skan2006-08-11  Richard Guenther  <rguenther@suse.de>
2903169689Skan
2904169689Skan	PR middle-end/28651
2905169689Skan	* simplify-rtx.c (simplify_const_relational_operation):
2906169689Skan	Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison
2907169689Skan	codes.
2908169689Skan
2909169689Skan2006-08-10  Eric Botcazou  <ebotcazou@adacore.com>
2910169689Skan
2911169689Skan	* tree.c (build1_stat): Also propagate the TREE_CONSTANT and
2912169689Skan	TREE_INVARIANT flags for a VIEW_CONVERT_EXPR.
2913169689Skan
2914169689Skan2006-08-10  Paul Brook  <paul@codesourcery.com>
2915169689Skan
2916169689Skan	* final.c (final_scan_insn): Clear current_insn_predicate before
2917169689Skan	outputting inline asm.
2918169689Skan
2919169689Skan2006-08-10  Dorit Nuzman  <dorit@il.ibm.com>
2920169689Skan
2921169689Skan	PR tree-optimization/26197
2922169689Skan	* tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls
2923169689Skan	get_ref_base_and_extent and overlap_subvar to add only relevant
2924169689Skan	subvars as may-aliases.
2925169689Skan	(add_may_alias_for_new_tag): New function, factored out of
2926169689Skan	new_type_alias.
2927169689Skan	* tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias
2928169689Skan	with additional argument.
2929169689Skan	* tree-flow.h (new_type_alias): Takes additional argument.
2930169689Skan
2931169689Skan2006-08-09  Nathan Sidwell  <nathan@codesourcery.com>
2932169689Skan
2933169689Skan	* gcov.c (no_data_file): New flag.
2934169689Skan	(read_count_file): Set it if data file not present.  Assume counts
2935169689Skan	zero if not found.
2936169689Skan	(output_lines): Don't name the data file, if there wasn't one.
2937169689Skan
2938169689Skan2006-08-09  Eric Botcazou  <ebotcazou@adacore.com>
2939169689Skan
2940169689Skan	* config/rs6000/rs6000.c (print_operand) <D>: Fix comment and adjust.
2941169689Skan	(rs6000_generate_compare): Tweak comments.
2942169689Skan	* config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment.
2943169689Skan
2944169689Skan2006-08-09  Alexandre Oliva  <aoliva@redhat.com>
2945169689Skan
2946169689Skan	* var-tracking.c (enum micro_operation_type): Add MO_COPY.
2947169689Skan	(var_debug_decl): New function.
2948169689Skan	(var_reg_set): Follow debug decl link.  Add location even if
2949169689Skan	reg is already known to hold some other variable.
2950169689Skan	(var_mem_set): Follow debug decl link.
2951169689Skan	(var_reg_delete_and_set, var_mem_delete_and_set): Follow debug
2952169689Skan	decl link.  Delete other known locations of the variable part
2953169689Skan	if requested.
2954169689Skan	(var_reg_delete, var_mem_delete): Delete other known locations
2955169689Skan	of the variable part if requested.
2956169689Skan	(same_variable_part_p): New function.
2957169689Skan	(add_stores): Select MO_COPY when appropriate.
2958169689Skan	(vt_initialize): Handle it.
2959169689Skan	(compute_bb_dataflow, emit_notes_in_bb): Likewise.  Delete
2960169689Skan	known locations for MO_SET and MO_CLOBBER.
2961169689Skan	(find_variable_location_part): New function.
2962169689Skan	(set_variable_part, delete_variable_part): Use it.
2963169689Skan	(clobber_variable_part): New function.
2964169689Skan	* dwarf2out.c (dwarf2out_var_location): Do not follow debug
2965169689Skan	decl link.
2966169689Skan
2967169689Skan2006-08-07  Victor Kaplansky <victork@il.ibm.com>
2968169689Skan
2969169689Skan	PR tree-optimization/26969
2970169689Skan	* tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
2971169689Skan	with an empty list of PHIs.
2972169689Skan
2973169689Skan2006-08-06  Paolo Bonzini  <bonzini@gnu.org>
2974169689Skan
2975169689Skan	PR target/27827
2976169689Skan
2977169689Skan	* conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
2978169689Skan	instructions.
2979169689Skan
2980169689Skan2006-08-06  Andreas Schwab  <schwab@suse.de>
2981169689Skan
2982169689Skan	* config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
2983169689Skan	string.  Whitespace and comment fixup.
2984169689Skan
2985169689Skan2006-08-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2986169689Skan
2987169689Skan	PR c/28502
2988169689Skan	* c-decl.c (validate_proto_after_old_defn): Return false on invalid
2989169689Skan	argument.
2990169689Skan
2991169689Skan	PR c/27721
2992169689Skan	* c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
2993169689Skan
2994169689Skan	PR c/28136
2995169689Skan	* c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
2996169689Skan
2997169689Skan2006-08-04  Jan Hubicka  <jh@suse.cz>
2998169689Skan
2999169689Skan	PR target/26655
3000169689Skan	PR target/28270
3001169689Skan	* reload.c (push_reload): Patch out the mismatching instruction;
3002169689Skan	return early.
3003169689Skan	(find_reload): Bail out if the instruction was patched out.
3004169689Skan
3005169689Skan2006-08-04  Jan Hubicka  <jh@suse.cz>
3006169689Skan
3007169689Skan	PR tree-optimization/24888
3008169689Skan	* tree-inline.c (expand_call_inline): Do not re-record variables.
3009169689Skan	(declare_inline_vars): Add variable to unexpanded_var_list.
3010169689Skan
3011169689Skan2006-08-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3012169689Skan	    Roger Sayle  <roger@eyesopen.com>
3013169689Skan
3014169689Skan	PR rtl-optimization/26244
3015169689Skan	* cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
3016169689Skan	inner_const are negative or greater than or equal to the bitsize of
3017169689Skan	MODE.  If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
3018169689Skan	Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
3019169689Skan	Simplify complicated if statement.  For ASHIFT and LSHIFTRT, return
3020169689Skan	CONST0_RTX (mode) when the new shift count is greater than or equal to
3021169689Skan	to the bitsize of the object being shifted and XEXP (y, 0) has no side
3022169689Skan	effects.
3023169689Skan
3024169689Skan2006-08-04  Kazu Hirata  <kazu@codesourcery.com>
3025169689Skan
3026169689Skan	* tree-cfg.c: Fix a comment typo.
3027169689Skan
3028169689Skan2006-08-03  Mark Mitchell  <mark@codesourcery.com>
3029169689Skan
3030169689Skan	PR c++/28148
3031169689Skan	* varasm.c (output_constant): Give the front end another chance to
3032169689Skan	expand constants, after stripping NOPs.
3033169689Skan
3034169689Skan2006-08-03  Jan Hubicka  <jh@suse.cz>
3035169689Skan
3036169689Skan	* domwalk.c (walk_dominator_tree): Reorganize to non-recursive
3037169689Skan	implementation.
3038169689Skan
3039169689Skan2006-08-03  Dorit Nuzman  <dorit@il.ibm.com>
3040169689Skan
3041169689Skan	PR tree-optimization/27770
3042169689Skan	* tree-vectorizer.h (get_vectype_for_scalar_type): Function
3043169689Skan	declaration removed (moved to tree-flow.h).
3044169689Skan	(vect_can_force_dr_alignment_p): Likewise.
3045169689Skan	* tree-flow.h (get_vectype_for_scalar_type): New function declaration
3046169689Skan	(moved from tree-vectorizer.h).
3047169689Skan	(vect_can_force_dr_alignment_p): Likewise.
3048169689Skan	* tree-vectorizer.c (vect_print_dump_info): Allow calling this function
3049169689Skan	from outside the vectorizer - in particular from cgraph stage.
3050169689Skan	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
3051169689Skan	the alignment of global arrays when -fsection-anchors is enabled.
3052169689Skan	* cgraphunit.c (cgraph_increase_alignment): New function.
3053169689Skan	(cgraph_optimize): Call cgraph_increase_alignment.
3054169689Skan
3055169689Skan2006-08-03  David Edelsohn  <edelsohn@gnu.org>
3056169689Skan
3057169689Skan	PR target/27566
3058169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
3059169689Skan	not reload a SPE symbol_ref into a lo_sum address.
3060169689Skan
3061169689Skan2006-08-02  Daniel Jacobowitz  <dan@codesourcery.com>
3062169689Skan
3063169689Skan	PR debug/28063
3064169689Skan	* dwarf2out.c (prune_unused_types_prune): Move call to
3065169689Skan	prune_unused_types_update_strings to cover the parent DIE also.
3066169689Skan
3067169689Skan2006-08-02  Jan Hubicka  <jh@suse.cz>
3068169689Skan
3069169689Skan	PR gcov/profile/28480
3070169689Skan	* tree-cfg.c (change_bb_for_stmt): New function.
3071169689Skan	(tree_merge_blocks, tree_split_blocks): Use it.
3072169689Skan
3073169689Skan2006-08-01  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3074169689Skan
3075169689Skan	PR c++/28250
3076169689Skan	PR c++/28257
3077169689Skan	PR c++/28259
3078169689Skan	PR c++/28267
3079169689Skan	* toplev.c (compile_file): Return early on errorcount or sorrycount.
3080169689Skan	* cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
3081169689Skan	(cgraph_optimize): Likewise.
3082169689Skan
3083169689Skan2006-08-01  Stuart Hastings  <stuart@apple.com>
3084169689Skan
3085169689Skan	* rtl.h (UINTVAL) New.
3086169689Skan	* config/rs6000/rs6000.c (SMALL_INT) Use it.
3087169689Skan	* testsuite/gcc.dg/20060801-1.c: New.
3088169689Skan
3089169689Skan2006-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
3090169689Skan
3091169689Skan	PR debug/23336
3092169689Skan	* c-typeck.c (build_external_type): Mark used enum types.
3093169689Skan	* dwarf2out.c (dwarf2out_abstract_function): Save and restore
3094169689Skan	cfun also.
3095169689Skan	(gen_subprogram_die): Whitespace fix.
3096169689Skan
3097169689Skan2006-08-01  Jan Hubicka  <jh@suse.cz>
3098169689Skan
3099169689Skan	* tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
3100169689Skan	bitmap when not needed.
3101169689Skan	* tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
3102169689Skan	bitmaps.
3103169689Skan
3104169689Skan2006-08-01  Dirk Mueller  <dmueller@suse.de>
3105169689Skan
3106169689Skan	* tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
3107169689Skan
3108169689Skan2006-07-31  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3109169689Skan
3110169689Skan	* Makefile.in: Revert part of previous patch:
3111169689Skan	Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
3112169689Skan	and REGS_H.
3113169689Skan
3114169689Skan2006-07-30  Eric Christopher  <echristo@apple.com>
3115169689Skan
3116169689Skan	PR target/27543
3117169689Skan	* doc/extend.texi (i386 Variable Attributes): Add anchor.
3118169689Skan	(PowerPC Variable Attributes): New section.
3119169689Skan
3120169689Skan2006-07-30  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>
3121169689Skan
3122169689Skan	PR target/28126 (partial fix)
3123169689Skan	* config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
3124169689Skan
3125169689Skan2006-07-28  Jan Hubicka  <jh@suse.cz>
3126169689Skan
3127169689Skan	PR rtl-optimization/28071
3128169689Skan	* cfgrtl.c (rtl_delete_block): Free regsets.
3129169689Skan	* flow.c (allocate_bb_life_data): Re-use regsets if available.
3130169689Skan
3131169689Skan2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3132169689Skan
3133169689Skan	* Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
3134169689Skan	and variables used in dependencies.
3135169689Skan
3136169689Skan2006-07-27  Arjan van de Ven <arjan@linux.intel.com>
3137169689Skan
3138169689Skan	* config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
3139169689Skan	%fs for -mcmodel=kernel.
3140169689Skan	(stack_tls_protect_test_di): Likewise.
3141169689Skan
3142169689Skan2006-07-27  Carlos O'Donell  <carlos@codesourcery.com>
3143169689Skan
3144169689Skan	* Makefile.in: Use mkinstalldirs.
3145169689Skan
3146169689Skan2006-07-27  H.J. Lu  <hongjiu.lu@intel.com>
3147169689Skan
3148169689Skan	PR driver/28437
3149169689Skan	* opts-common.c (prune_options): Skip joined switches.
3150169689Skan
3151169689Skan2006-07-27  Jan Hubicka  <jh@suse.cz>
3152169689Skan
3153169689Skan	PR rtl-optimization/28071
3154169689Skan	* cselib.c (cselib_process_insn): Don't remove useless values too
3155169689Skan	often for very large hashtables.
3156169689Skan
3157169689Skan2006-07-27  Jan Hubicka  <jh@suse.cz>
3158169689Skan
3159169689Skan	PR rtl-optimization/28071
3160169689Skan	* global.c (greg_obstack): New obstack.
3161169689Skan	(allocate_bb_info): Use it.
3162169689Skan	(free_bb_info): Likewise.
3163169689Skan	(modify_reg_pav): Likewise.
3164169689Skan
3165169689Skan2006-07-27  Roger Sayle  <roger@eyesopen.com>
3166169689Skan
3167169689Skan	* builtins.c (fold_fixed_mathfn): When long and long long are the
3168169689Skan	same size, canonicalize llceil*, llfloor*, llround* and llrint*
3169169689Skan	functions to their lceil*, lfloor*, lround* and lrint* forms.
3170169689Skan
3171169689Skan2006-07-27  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3172169689Skan
3173169689Skan	PR gcc/28508
3174169689Skan	* config/m32r/m32r.md (branch_insn): Reduce pc range for short
3175169689Skan	branch.
3176169689Skan	(rev_branch_insn): Likewise.
3177169689Skan
3178169689Skan2006-07-27  Jan Hubicka  <jh@suse.cz>
3179169689Skan
3180169689Skan	PR rtl-optimization/28071
3181169689Skan	* regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
3182169689Skan	(reg_set_in_bb, max_reg_computed): New static variables.
3183169689Skan	(regmove_optimize): Free the new array.
3184169689Skan	(fixup_match_1): Update call of reg_is_remote_constant_p.
3185169689Skan
3186169689Skan2006-07-26  Jan Hubicka  <jh@suse.cz>
3187169689Skan
3188169689Skan	PR tree-optimization/27882
3189169689Skan	* cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
3190169689Skan	and decl fields.
3191169689Skan	* cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
3192169689Skan	next pointer
3193169689Skan	(cgraph_analyze_compilation_unit): Likewise.
3194169689Skan	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
3195169689Skan	* ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
3196169689Skan	(cgraph_early_inlinine): Make order garbage collected.
3197169689Skan	* Makefile.in (gt-ipa-inline): New garbagecollected file.
3198169689Skan
3199169689Skan2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
3200169689Skan
3201169689Skan	* dbxout.c (output_types_sort): Add a comment.
3202169689Skan	(output_used_types): Free the VEC.
3203169689Skan
3204169689Skan2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
3205169689Skan
3206169689Skan	* function.c (reorder_fix_fragments): Delete.
3207169689Skan	(reorder_blocks): Don't call it.
3208169689Skan	(reorder_blocks_1): Put all subblocks under the origin block.
3209169689Skan
3210169689Skan2006-07-26  Zdenek Dvorak <dvorakz@suse.cz>
3211169689Skan
3212169689Skan	PR rtl-optimization/27907
3213169689Skan	* expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
3214169689Skan	FLOAT_TRUNCATE.
3215169689Skan
3216169689Skan2006-07-25  Roger Sayle  <roger@eyesopen.com>
3217169689Skan
3218169689Skan	PR middle-end/28473
3219169689Skan	* convert.c (convert_to_integer): When transforming (T)foo(x) into
3220169689Skan	bar(x) check that bar's result type can represent all the values of T.
3221169689Skan
3222169689Skan2006-07-25  Zdenek Dvorak <dvorakz@suse.cz>
3223169689Skan
3224169689Skan	* tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
3225169689Skan
3226169689Skan2006-07-25  Nick Clifton  <nickc@redhat.com>
3227169689Skan
3228169689Skan	* ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
3229169689Skan	size_lookup[] array.
3230169689Skan	(ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
3231169689Skan	(ggc_pch_count_object): Likewise.
3232169689Skan	(ggc_pch_alloc_object): Likewise.
3233169689Skan	(ggc_pch_write_object): Likewise.
3234169689Skan	(init_ggc): Do not attempt to initialize entries in the
3235169689Skan	size_lookup[] array for objects whose size is greater than than
3236169689Skan	the length of the array.
3237169689Skan
3238169689Skan2006-07-25  Daniel Jacobowitz  <dan@codesourcery.com>
3239169689Skan
3240169689Skan	* dbxout.c (output_used_types_helper): Push queued types
3241169689Skan	on a VEC.
3242169689Skan	(output_types_sort): New.
3243169689Skan	(output_used_types): Collect used types on a VEC and sort them
3244169689Skan	before emission.
3245169689Skan
3246169689Skan2006-07-24  Richard Guenther  <rguenther@suse.de>
3247169689Skan
3248169689Skan	PR middle-end/28463
3249169689Skan	* cgraph.c (cgraph_remove_node): Do not check if dumps
3250169689Skan	are enabled.
3251169689Skan	* cgraphunit.c (cgraph_optimize): Likewise.
3252169689Skan
3253169689Skan2006-07-24  Jan Hubicka  <jh@suse.cz>
3254169689Skan
3255169689Skan	PR rtl-optimization/28071
3256169689Skan	* tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
3257169689Skan	* tree-iterator.c (tsi_split_statement_list_before): Do not crash when
3258169689Skan	splitting before first stmt.
3259169689Skan
3260169689Skan2006-07-24  Jan Hubicka  <jh@suse.cz>
3261169689Skan
3262169689Skan	PR rtl-optimization/28071
3263169689Skan	* ipa-inline.c (update_caller_keys): Remove edges that
3264169689Skan	are no longer inline candidates.
3265169689Skan
3266169689Skan2006-07-23  Daniel Jacobowitz  <dan@codesourcery.com>
3267169689Skan
3268169689Skan	PR debug/27473
3269169689Skan	* dbxout.c (output_used_types_helper, output_used_types): New.
3270169689Skan	(dbxout_symbol): Call output_used_types.
3271169689Skan
3272169689Skan2006-07-23  Jan Hubicka  <jh@suse.cz>
3273169689Skan
3274169689Skan	PR c/25795
3275169689Skan	PR c++/27369
3276169689Skan	* cgraph.c (cgraph_varpool_nodes): Export.
3277169689Skan	(decide_is_variable_needed): Ignored "used" attribute in
3278169689Skan	unit-at-a-time mode.
3279169689Skan	* cgraph.h (cgraph_varpool_nodes): Declare.
3280169689Skan	* cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
3281169689Skan	unit-at-a-time mode.
3282169689Skan
3283169689Skan2006-07-23  Roger Sayle  <roger@eyesopen.com>
3284169689Skan
3285169689Skan	PR target/28247
3286169689Skan	* gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
3287169689Skan	mutex_destroy even when !_LIBOOBJC.  Remove duplicate prototype of
3288169689Skan	the __gthrw form of thr_keycreate.
3289169689Skan	(__gthread_key_delete): Silence the unused argument warning.
3290169689Skan
3291169689Skan2006-07-23  Steven Bosscher  <steven@gcc.gnu.org>
3292169689Skan
3293169689Skan	PR debug/25468
3294169689Skan	* config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
3295169689Skan	Cache the last found '\0' marker to avoid quadratic behavior.
3296169689Skan
3297169689Skan2006-07-23  Jan Hubicka  <jh@suse.cz>
3298169689Skan
3299169689Skan	* i386.md (subsi_3_zext): Fix output template.
3300169689Skan
3301169689Skan2006-07-21  Mike Stump  <mrs@apple.com>
3302169689Skan
3303169689Skan	* doc/invoke.texi (C++ Dialect Options): Note that
3304169689Skan	-fvisibility-inlines-hidden doesn't affect explicitly
3305169689Skan	instantiationed inline methods.
3306169689Skan
3307169689Skan2006-07-20  Roger Sayle  <roger@eyesopen.com>
3308169689Skan
3309169689Skan	* config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
3310169689Skan	if the target assembler is GNU binutils' gas.
3311169689Skan	* config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
3312169689Skan	whether to pass GNU gas or native as command line options.
3313169689Skan
3314169689Skan2006-07-20  Jason Merrill  <jason@redhat.com>
3315169689Skan
3316169689Skan	* tree.c (remove_attribute): New fn.
3317169689Skan	* tree.h: Declare it.
3318169689Skan
3319169689Skan2006-07-20  Paul Brook  <paul@codesourcery.com>
3320169689Skan
3321169689Skan	PR 27363
3322169689Skan	* cse.c (cse_insn): Add destination addresses to hash table. Check if
3323169689Skan	they are invalidated by this instruction.
3324169689Skan
3325169689Skan2006-07-21  Danny Smith  <dannysmith@users.sourceforge.net>
3326169689Skan
3327169689Skan	PR target/28427
3328169689Skan	* config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
3329169689Skan
3330169689Skan2006-07-20  Eric Christopher  <echristo@apple.com>
3331169689Skan
3332169689Skan	PR target/26877
3333169689Skan	* config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
3334169689Skan
3335169689Skan2006-07-19  Eric Christopher  <echristo@apple.com>
3336169689Skan
3337169689Skan	* config/t-slibgcc-darwin (stmp-lipo): Remove.
3338169689Skan	Rewrite dependencies for libgcc_s.1.dylib.
3339169689Skan
3340169689Skan2006-07-19  Jakub Jelinek  <jakub@redhat.com>
3341169689Skan
3342169689Skan	* except.c (duplicate_eh_regions_1): Clear next_peer.
3343169689Skan
3344169689Skan2006-07-17  Nathan Sidwell  <nathan@codesourcery.com>
3345169689Skan
3346169689Skan	* doc/invoke.texi (RS/6000 and PowerPC Options): Document that
3347169689Skan	-mlongcall does not guarantee all calls will be long.
3348169689Skan	* doc/extend.texi (long_call/short_call): Document that longcall
3349169689Skan	does not guarantee a long call will be used.
3350169689Skan	(longcall/shortcall): Likewise.
3351169689Skan
3352169689Skan2006-07-18  Roger Sayle  <roger@eyesopen.com>
3353169689Skan
3354169689Skan	PR middle-end/28283
3355169689Skan	* expmed.c (expand_shift): Additionally check that the shift_cost
3356169689Skan	is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
3357169689Skan	before implementing a LSHIFT_EXPR as a sequence of additions.
3358169689Skan	* config/sh/sh.c (shift_costs): Return MAX_COST to inform the
3359169689Skan	middle-end that DImode shifts need to be synthesized by expand.
3360169689Skan
3361169689Skan2006-07-18  Diego Novillo  <dnovillo@redhat.com>
3362169689Skan
3363169689Skan	PR 28410
3364169689Skan	* tree-ssa-operands.c (access_can_touch_variable): Update
3365169689Skan	comment.
3366169689Skan	Return true if ALIAS is .GLOBAL_VAR.
3367169689Skan
3368169689Skan2006-07-18  David Daney  <ddaney@avtrex.com>
3369169689Skan
3370169689Skan	* gcc.c (display_help): Fix typo in help text.
3371169689Skan
3372169689Skan2006-07-18  Olivier Hainque  <hainque@adacore.com>
3373169689Skan
3374169689Skan	* tree.h (categorize_ctor_elements): Adjust prototype and add
3375169689Skan	descriptive comment, both in accordance with the interface change
3376169689Skan	described below.
3377169689Skan	* varasm.c (constructor_static_from_elts_p): New function.
3378169689Skan	Whether a constructor node is a valid static constant initializer
3379169689Skan	if all its elements are.
3380169689Skan	(initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
3381169689Skan	* output.h: Declare it.
3382169689Skan	* expr.c (categorize_ctor_elements_1): Return whether the constructor
3383169689Skan	is a valid constant initializer instead of computing the number of
3384169689Skan	non-constant elements.  Use constructor_static_from_elts_p for this
3385169689Skan	purpose.  Replace the head comment with an indication that this is a
3386169689Skan	helper for categorize_ctor_elements.
3387169689Skan	(categorize_ctor_elements): Same interface change as for the _1
3388169689Skan	helper.  Former head comment from this helper moved here, adjusted to
3389169689Skan	account for the interface changes.
3390169689Skan	(mostly_zeros_p): Adjust call to categorize_ctor_elements.
3391169689Skan	(all_zeros_p): Likewise.
3392169689Skan	* gimplify.c (gimplify_init_constructor): Decide whether we can make
3393169689Skan	static versions of the constructor from the categorize_ctor_elements
3394169689Skan	return value instead of the formerly computed number of non-constant
3395169689Skan	elements.
3396169689Skan
3397169689Skan2006-07-18  Paolo Bonzini  <bonzini@gnu.org>
3398169689Skan
3399169689Skan	* configure: Regenerate.
3400169689Skan	* Makefile.in (build_libsubdir): New configure substitution
3401169689Skan	(build_libobjdir): New variable.
3402169689Skan	(BUILD_LIBIBERTY): Use it.
3403169689Skan
3404169689Skan2006-07-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3405169689Skan
3406169689Skan	PR c/28286
3407169689Skan	* c-pragma.c (handle_pragma_pack): Handle invalid constants.
3408169689Skan
3409169689Skan2006-07-18  Alexandre Oliva  <aoliva@redhat.com>
3410169689Skan
3411169689Skan	PR c/26993
3412169689Skan	* c-common.c (handle_weakref_attribute): Ignore attribute in
3413169689Skan	the same conditions the alias attribute is ignored.
3414169689Skan
3415169689Skan2006-07-17  Carlos O'Donell  <carlos@codesourcery.com>
3416169689Skan
3417169689Skan	* dbxout.c (dbxout_function_end): Do not increment scope_labelno.
3418169689Skan	(dbxout_begin_prologue): Increment scope_labelno.
3419169689Skan
3420169689Skan2006-07-17  Richard Henderson  <rth@redhat.com>
3421169689Skan
3422169689Skan	PR 27889
3423169689Skan	* tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
3424169689Skan	if needed.
3425169689Skan
3426169689Skan2006-07-17  Roger Sayle  <roger@eyesopen.com>
3427169689Skan	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3428169689Skan
3429169689Skan	* config/i386/gmon-sol2.c: Silence compilation warnings by partially
3430169689Skan	synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
3431169689Skan	blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
3432169689Skan	functions such as sbrk, write, etc..  Add function prototypes.
3433169689Skan	Convert function declarations from K&R to ISO C.  Cast pointers
3434169689Skan	to "long" and "unsigned long" instead of "int" and "unsigned int".
3435169689Skan	Convert tokens following #endif into comments.
3436169689Skan
3437169689Skan2006-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
3438169689Skan
3439169689Skan	* invoke.texi: Remove mention of f77; Reformat table for
3440169689Skan	inline parameter options correctly; mention that -malign-double
3441169689Skan	is default on x86-64 targets.
3442169689Skan
3443169689Skan2006-07-17  Zdenek Dvorak <dvorakz@suse.cz>
3444169689Skan
3445169689Skan	* tree-chrec.c (avoid_arithmetics_in_type_p): New.
3446169689Skan	(convert_affine_scev, chrec_convert_aggressive): Use
3447169689Skan	avoid_arithmetics_in_type_p.  Do not check for the subtypes
3448169689Skan	separately.
3449169689Skan
3450169689Skan2006-07-17  Richard Sandiford  <richard@codesourcery.com>
3451169689Skan
3452169689Skan	PR middle-end/28403
3453169689Skan	* optabs.c (expand_doubleword_shift): Wrap the call to
3454169689Skan	do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
3455169689Skan
3456169689Skan2006-07-17  Richard Sandiford  <richard@codesourcery.com>
3457169689Skan
3458169689Skan	PR middle-end/28402
3459169689Skan	* optabs.c (expand_binop): Pass next_methods rather than methods
3460169689Skan	to expand_doubleword_shift.
3461169689Skan
3462169689Skan2006-07-17  J"orn Rennecke  <joern.rennecke@st.com>
3463169689Skan
3464169689Skan	PR other/28251
3465169689Skan	* tree.h (dump_addr): Declare.
3466169689Skan	* print-tree.c (dump_addr): New function.
3467169689Skan	(print_node_brief, print_node): Use it.
3468169689Skan	* print-rtl.c (print_rtx): Likewise.
3469169689Skan	* common.opt (-fdump-noaddr): New option.
3470169689Skan	* doc/invoke.texi (-fdump-noaddr): Document.
3471169689Skan	* loop-unroll.c (si_info_hash): Make hash independent of addresses.
3472169689Skan	(ve_info_hash): Likewise.
3473169689Skan
3474169689Skan2006-07-13  Andrew Haley  <aph@redhat.com>
3475169689Skan
3476169689Skan	PR tree-optimization/19505
3477169689Skan	* tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
3478169689Skan	edge leaving this block, make sure that the destination of this
3479169689Skan	block has only one predecessor.
3480169689Skan
3481169689Skan2006-07-17  Richard Guenther  <rguenther@suse.de>
3482169689Skan
3483169689Skan	PR tree-optimization/28238
3484169689Skan	* tree-inline.c (copy_bb): Check if we produced valid
3485169689Skan	gimple copying and substituting a stmt.  If not, gimplify
3486169689Skan	it.
3487169689Skan
3488169689Skan2006-07-16  Eric Botcazou  <ebotcazou@adacore.com>
3489169689Skan
3490169689Skan	* optabs.c (maybe_encapsulate_block): New function extracted from...
3491169689Skan	(emit_libcall_block): ...here.  Invoke it on the block of insns to
3492169689Skan	maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
3493169689Skan	(emit_no_conflict_block): Likewise.
3494169689Skan
3495169689Skan2006-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
3496169689Skan
3497169689Skan	* doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
3498169689Skan
3499169689Skan2006-07-15  Roger Sayle  <roger@eyesopen.com>
3500169689Skan
3501169689Skan	* tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
3502169689Skan	a new NOP_EXPR case of the switch statement.
3503169689Skan
3504169689Skan2006-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
3505169689Skan
3506169689Skan	PR middle-end/28160
3507169689Skan	* stor-layout.c (place_field): Take the bit field with
3508169689Skan	an excessive size into account in the ms-bitfiled case.
3509169689Skan
3510169689Skan	PR middle-end/28161
3511169689Skan	* stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
3512169689Skan	the previous bit field.
3513169689Skan
3514169689Skan2006-07-14  Eliot Dresselhaus  <eliot@sonic.net>
3515169689Skan
3516169689Skan	PR target/27287
3517169689Skan	* config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
3518169689Skan
3519169689Skan2006-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
3520169689Skan
3521169689Skan	* config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
3522169689Skan	signal frames correctly even when the signal was installed with
3523169689Skan	sa_restorer set.
3524169689Skan
3525169689Skan2006-07-14  Carlos O'Donell  <carlos@codesourcery.com>
3526169689Skan
3527169689Skan	* dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
3528169689Skan	(dbxout_function_end): Use local label LFBB. Remove hook
3529169689Skan	DBX_OUTPUT_NFUN.
3530169689Skan	(dbxout_source_line): Use local label LFBB.
3531169689Skan	(dbxout_block): Likewise.
3532169689Skan	(dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
3533169689Skan	(dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
3534169689Skan	* config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
3535169689Skan	and DBX_OUTPUT_NFUN.
3536169689Skan
3537169689Skan2006-07-13  Janis Johnson  <janis187@us.ibm.com>
3538169689Skan
3539169689Skan	* doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
3540169689Skan
3541169689Skan2006-07-13  Jan Hubicka  <jh@suse.cz>
3542169689Skan
3543169689Skan	* cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
3544169689Skan	align_variable.
3545169689Skan	* output.h (align_variable): Declare.
3546169689Skan	* varasm.c (align_variable): Export.
3547169689Skan	* value-prof.c (tree_value_profile_transformations): Recompute iterator
3548169689Skan	when basic block changed.
3549169689Skan
3550169689Skan2006-07-13  Nick Clifton  <nickc@redhat.com>
3551169689Skan
3552169689Skan	* config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
3553169689Skan	walking the LOG_LINKS chain.
3554169689Skan
3555169689Skan2006-07-12  Geoffrey Keating  <geoffk@apple.com>
3556169689Skan
3557169689Skan	* doc/invoke.texi (C++ Dialect Options): Explain difference
3558169689Skan	between -fvisibility-inlines-hidden and setting hidden
3559169689Skan	visibility explicitly.
3560169689Skan
3561169689Skan2006-07-12  Eric Christopher  <echristo@apple.com>
3562169689Skan
3563169689Skan	* config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
3564169689Skan	(stmp-lipo): Depend on libgcc.a.
3565169689Skan
3566169689Skan2006-07-12  Kazu Hirata  <kazu@codesourcery.com>
3567169689Skan
3568169689Skan	* tree.c: Fix a comment typo.
3569169689Skan
3570169689Skan2006-07-12  Naveen.H.S  <naveenh@kpitcummins.com>
3571169689Skan
3572169689Skan	* config/m32c/muldiv.md (umulhisi3_c): Use only registers for
3573169689Skan	dest.
3574169689Skan	(umulhisi3_r): Likewise.
3575169689Skan
3576169689Skan2006-07-12  Paolo Carlini  <pcarlini@suse.de>
3577169689Skan
3578169689Skan	PR libstdc++/27878
3579169689Skan	* doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
3580169689Skan	x < 19, vs wchar_t support.
3581169689Skan
3582169689Skan2006-07-12  Nick Clifton  <nickc@redhat.com>
3583169689Skan
3584169689Skan	* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
3585169689Skan	instead of -isa=sh4.
3586169689Skan
3587169689Skan2006-07-12  Mike Stump  <mrs@apple.com>
3588169689Skan
3589169689Skan	* protoize.c (edit_fn_definition): Add volatile to clean_text_p.
3590169689Skan
3591169689Skan2006-07-10  Eric Christopher  <echristo@apple.com>
3592169689Skan
3593169689Skan	* config/t-slibgcc-darwin: Rewrite.
3594169689Skan
3595169689Skan2006-07-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3596169689Skan
3597169689Skan	PR bootstrap/20437
3598169689Skan	* Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
3599169689Skan	dependencies.
3600169689Skan
3601169689Skan2006-07-08  Matthias Klose  <doko@debian.org>
3602169689Skan
3603169689Skan	* doc/sourcebuild.texi: Fix typo.
3604169689Skan
3605169689Skan2006-07-07  Mike Stump  <mrs@apple.com>
3606169689Skan
3607169689Skan	* toplev.c (process_options): Don't give -ffunction-sections may
3608169689Skan	affect debugging warning for Mach-O.
3609169689Skan
3610169689Skan2006-07-07  James E Wilson  <wilson@specifix.com>
3611169689Skan
3612169689Skan	* config/mips/mips.md (cpu): Add sb1a.
3613169689Skan	* config/mips/sb1.md: Modify almost all patterns to accept sb1a in
3614169689Skan	addition to sb1.  Adjust comments to clarify SB-1A differences from
3615169689Skan	SB-1.
3616169689Skan	(ir_sb1a_load): New.  Modify bypasses to use it.
3617169689Skan	(ir_sb1a_simple_alu): Likewise.
3618169689Skan	* config/mips/mips.c (mips_cpu_info_table): Add sb1a.
3619169689Skan	(mips_rtx_cost_data): Add PROCESSOR_SB1A support.
3620169689Skan	(mips_issue_rate): Add PROCESSOR_SB1A.
3621169689Skan	(mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
3622169689Skan	* config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
3623169689Skan	(TARGET_SB1): Add PROCESSOR_SB1A check.
3624169689Skan	(TUNE_SB1): Likewise.
3625169689Skan
3626169689Skan	* config/mips/mips-protos.h (mips_store_data_bypass_p): New.
3627169689Skan	* config/mips/mips.c (mips_store_data_bypass_p): New.
3628169689Skan	* config/mips/sb1.md: Use mips_store_data_bypass_p instead of
3629169689Skan	store_data_bypass_p.
3630169689Skan
3631169689Skan2006-07-08  Paul Brook  <paul@codesourcery.com>
3632169689Skan
3633169689Skan	PR target/27991
3634169689Skan	* config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
3635169689Skan
3636169689Skan2006-07-07   Richard Guenther  <rguenther@suse.de>
3637169689Skan
3638169689Skan	PR middle-end/28268
3639169689Skan	* tree.h (build_one_cst): Declare.
3640169689Skan	* tree.c (build_one_cst): New function.
3641169689Skan	* tree-ssa-math-opts.c (get_constant_one): Remove.
3642169689Skan	(insert_reciprocals): Use build_one_cst.
3643169689Skan	* fold-const.c (fold_plusminus_mult): Likewise.
3644169689Skan
3645169689Skan2006-07-07  Roger Sayle  <roger@eyesopen.com>
3646169689Skan
3647169689Skan	* pointer-set.c (pointer_set_destroy): Correct whitespace.
3648169689Skan	* cfgloopanal.c (dump_graph): Likewise.
3649169689Skan	* dojump.c (discard_pending_stack_adjust): Likewise.
3650169689Skan	* fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
3651169689Skan	Likewise.
3652169689Skan	* alloc-pool.c (dump_alloc_pool_statistics): Likewise.
3653169689Skan	* function.c (finalize_block_changes): Likewise.
3654169689Skan	* gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
3655169689Skan	* tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
3656169689Skan	* rtl.c (dump_rtx_statistics): Likewise.
3657169689Skan	* tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
3658169689Skan	Likewise.
3659169689Skan	* varray.c (dump_varray_statistics): Likewise.
3660169689Skan	* dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
3661169689Skan	decode_decimal64, encode_decimal128, decode_decimal128,
3662169689Skan	decimal_real_to_decimal): Likewise.
3663169689Skan
3664169689Skan2006-07-07  Richard Guenther  <rguenther@suse.de>
3665169689Skan
3666169689Skan	PR tree-optimization/28187
3667169689Skan	* tree-vrp.c (vrp_operand_equal_p): New function.
3668169689Skan	(vrp_bitmap_equal_p): Likewise.
3669169689Skan	(update_value_range): Use them to compare old and new
3670169689Skan	max and min values.
3671169689Skan
3672169689Skan2006-07-06  Roger Sayle  <roger@eyesopen.com>
3673169689Skan
3674169689Skan	* c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
3675169689Skan	a default case to switch statement to silence compiler warnings.
3676169689Skan
3677169689Skan2006-07-06  Roger Sayle  <roger@eyesopen.com>
3678169689Skan
3679169689Skan	PR target/27968
3680169689Skan	* configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
3681169689Skan	the configured assembler supports the x87's ffreep mnemonic.
3682169689Skan	* configure: Regenerate.
3683169689Skan	* config.in: Regenerate.
3684169689Skan
3685169689Skan	* config/i386/i386.c (output_387_ffreep): New function.
3686169689Skan	(output_fp_compare): Use output_387_ffreep to emit ffreep insns.
3687169689Skan	(output_387_reg_move): Likewise.
3688169689Skan
3689169689Skan2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3690169689Skan
3691169689Skan	Port to hosts whose 'sort' and 'tail' implementations
3692169689Skan	treat operands with leading '+' as file names, as POSIX
3693169689Skan	has required since 2001.  However, make sure the code still
3694169689Skan	works on pre-POSIX hosts.
3695169689Skan	* Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
3696169689Skan	which says you should use "tail -c +N" rather than "tail +Nc".
3697169689Skan	Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
3698169689Skan
3699169689Skan2006-07-06  Zdenek Dvorak <dvorakz@suse.cz>
3700169689Skan
3701169689Skan	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
3702169689Skan	argument name.
3703169689Skan
3704169689Skan2006-07-06  David Edelsohn  <edelsohn@gnu.org>
3705169689Skan
3706169689Skan	PR target/28150
3707169689Skan	* config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
3708169689Skan	PRE_{INC,DEC} of TFmode.
3709169689Skan
3710169689Skan2006-07-06  David Edelsohn  <edelsohn@gnu.org>
3711169689Skan	    Alan Modra  <amodra@bigpond.net.au>
3712169689Skan
3713169689Skan	PR target/28170
3714169689Skan	* config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
3715169689Skan	bounds. Simplify.
3716169689Skan
3717169689Skan2006-07-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3718169689Skan
3719169689Skan	PR target/28285
3720169689Skan	* config/alpha/predicates.md (alpha_swapped_comparison_operator):
3721169689Skan	Remove duplicate gtu.
3722169689Skan
3723169689Skan2006-07-05  Jason Merrill  <jason@redhat.com>
3724169689Skan
3725169689Skan	PR c++/13983
3726169689Skan	PR c++/17519
3727169689Skan	* stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
3728169689Skan	* c-common.c (handle_packed_attribute): So don't copy it here.
3729169689Skan	* c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
3730169689Skan
3731169689Skan2006-07-05  Mike Stump  <mrs@apple.com>
3732169689Skan
3733169689Skan	* doc/invoke.texi (Invoking G++): Clarify prose for g++.
3734169689Skan
3735169689Skan2006-07-05  H.J. Lu  <hongjiu.lu@intel.com>
3736169689Skan
3737169689Skan	PR target/26146
3738169689Skan	* config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
3739169689Skan
3740169689Skan2006-07-05  Richard Guenther  <rguenther@suse.de>
3741169689Skan
3742169689Skan	PR target/28158
3743169689Skan	* config/i386/i386.md (*negdf2_1): Restrict pattern to
3744169689Skan	TARGET_SSE2 targets if using SSE math.
3745169689Skan	(*absdf2_1): Likewise.
3746169689Skan
3747169689Skan2006-07-05  Richard Guenther  <rguenther@suse.de>
3748169689Skan
3749169689Skan	PR tree-optimization/28162
3750169689Skan	* fold-const.c (fold_binary): For (-A) * (-B) -> A * B
3751169689Skan	make sure to convert the operands to the correct type.
3752169689Skan
3753169689Skan2006-07-04  Paolo Bonzini  <bonzini@gnu.org>
3754169689Skan
3755169689Skan	PR tree-optimization/28218
3756169689Skan
3757169689Skan	* tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
3758169689Skan	to calculate and free the dominator information.
3759169689Skan
3760169689Skan2006-07-04  Peter O'Gorman  <peter@pogma.com>
3761169689Skan
3762169689Skan	* mklibgcc.in: chmod 644 before ranlib during install.
3763169689Skan
3764169689Skan2006-07-04  Andrew Stubbs <andrew.stubbs@st.com>
3765169689Skan	    J"orn Rennecke <joern.rennecke@st.com>
3766169689Skan
3767169689Skan	* configure.ac (.eh_frame data check): Use diff -b.
3768169689Skan
3769169689Skan2006-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3770169689Skan
3771169689Skan	PR bootstrap/18058
3772169689Skan	* Makefile.in (BUILD_RTL): Add build/vec.o.
3773169689Skan	(build/gencondmd.o): Filter out -fkeep-inline-functions.
3774169689Skan	(build/genextract): Delete.
3775169689Skan	(build/genautomata): Likewise.
3776169689Skan
3777169689Skan2006-07-04  Alan Modra  <amodra@bigpond.net.au>
3778169689Skan
3779169689Skan	PR target/28207
3780169689Skan	* config/rs6000/rs6000.c (function_arg_boundary): Double-word align
3781169689Skan	128-bit IBM long doubles for ABI_V4.
3782169689Skan
3783169689Skan2006-07-03  Eric Botcazou  <ebotcazou@adacore.com>
3784169689Skan
3785169689Skan	* tree.c (range_in_array_bounds_p): New predicate.
3786169689Skan	* tree.h (range_in_array_bounds_p): Declare it.
3787169689Skan	* tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
3788169689Skan	return a less conservative answer.
3789169689Skan	* tree-sra.c (struct sra_elt): Add new pointer field 'groups'
3790169689Skan	and flag 'is_group'.
3791169689Skan	(IS_ELEMENT_FOR_GROUP): New macro.
3792169689Skan	(FOR_EACH_ACTUAL_CHILD): Likewise.
3793169689Skan	(next_child_for_group): New helper function.
3794169689Skan	(can_completely_scalarize_p): Take into account groups.
3795169689Skan	(sra_hash_tree): Handle RANGE_EXPR.
3796169689Skan	(sra_elt_eq): Likewise.
3797169689Skan	(lookup_element): Be prepared for handling groups.
3798169689Skan	(is_valid_const_index): Delete.
3799169689Skan	(maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
3800169689Skan	instead of is_valid_const_index.
3801169689Skan	<ARRAY_RANGE_REF>: New case.
3802169689Skan	(sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
3803169689Skan	is_valid_const_index.
3804169689Skan	<ARRAY_RANGE_REF>: Do not unconditionally punt.
3805169689Skan	(scan_dump): Dump info for groups too.
3806169689Skan	(decide_instantiation_1): Likewise.
3807169689Skan	(decide_block_copy): Assert that the element is not a group.
3808169689Skan	Propagate decision to groups.
3809169689Skan	(generate_one_element_ref): Handle RANGE_EXPR.
3810169689Skan	(mark_no_warning): Iterate over actual childs.
3811169689Skan	(generate_copy_inout): Likewise.
3812169689Skan	(generate_element_copy): Likewise.
3813169689Skan	(generate_element_zero): Likewise.
3814169689Skan	(generate_element_init_1): Likewise.
3815169689Skan	(dump_sra_elt_name): Handle RANGE_EXPR.
3816169689Skan
3817169689Skan2006-07-03  Roger Sayle  <roger@eyesopen.com>
3818169689Skan
3819169689Skan	PR tree-optimization/26251
3820169689Skan	* tree-ssa-threadupdate.c (redirection_block_p): New function.
3821169689Skan	(thread_block): When optimizing for size refuse to thread jumps
3822169689Skan	that would require duplication of blocks other than redirection
3823169689Skan	blocks.
3824169689Skan
3825169689Skan2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
3826169689Skan
3827169689Skan	* configure.ac: Fix thinko in previous check-in.
3828169689Skan	* configure: Regenerate.
3829169689Skan
3830169689Skan2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
3831169689Skan
3832169689Skan	PR other/27063
3833169689Skan	* configure.ac (for lang...): Simplify nesting of conditionals.
3834169689Skan	Test subdir_requires for non-enabled languages.  Move processing
3835169689Skan	of lang_opt_files and lang_tree_fiels below that test.
3836169689Skan	* configure: Regenerate.
3837169689Skan	* doc/sourcebuild.texi (Front End Config): Document subdir_requires.
3838169689Skan
3839169689Skan2006-07-01  Martin Michlmayr  <tbm@cyrius.com>
3840169689Skan
3841169689Skan	* doc/gcov.texi (Invoking Gcov): Add a missing word.
3842169689Skan
3843169689Skan2006-06-30  Kazu Hirata  <kazu@codesourcery.com>
3844169689Skan
3845169689Skan	* cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
3846169689Skan	comment typos.
3847169689Skan
3848169689Skan2006-06-29  Jason Merrill  <jason@redhat.com>
3849169689Skan
3850169689Skan	PR c++/26905
3851169689Skan	PR c++/26612
3852169689Skan	PR c++/27000
3853169689Skan	PR c++/26984
3854169689Skan	PR c++/19134
3855169689Skan	* tree.c (build_decl_stat): Don't hande #pragma visibility here.
3856169689Skan	* c-common.c (c_determine_visibility): Handle it here.
3857169689Skan	* c-decl.c (finish_decl): Call c_determine_visibility for
3858169689Skan	functions, too.
3859169689Skan	* flags.h (enum symbol_visibility): Sort from most to least visibility.
3860169689Skan	* tree.h: Likewise.
3861169689Skan	* varasm.c (default_assemble_visibility): Likewise.
3862169689Skan	* c-common.c (handle_visibility_attribute): Complain about trying
3863169689Skan	to give visibility to an already defined class, or trying to change
3864169689Skan	declared visibility. Always attach the attribute.
3865169689Skan
3866169689Skan	PR c++/26905
3867169689Skan	PR c++/21675
3868169689Skan	PR c++/17470
3869169689Skan	* attribs.c (decl_attributes): Ignore type-in-place attributes
3870169689Skan	once the type has been defined.
3871169689Skan
3872169689Skan2006-06-29  Roger Sayle  <roger@eyesopen.com>
3873169689Skan
3874169689Skan	PR middle-end/27428
3875169689Skan	* c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
3876169689Skan	to indicate the cpplib has issued an error message for us.
3877169689Skan
3878169689Skan2006-06-29  Asher Langton  <langton2@llnl.gov>
3879169689Skan
3880169689Skan	PR target/25765
3881169689Skan	* config/i386/i386.c (ix86_output_function_epilogue): Don't
3882169689Skan	insert a label at the end of an function under Mach-O.
3883169689Skan
3884169689Skan2006-06-29  Eric Christopher  <echristo@apple.com>
3885169689Skan	    Evan Cheng  <evan.cheng@apple.com>
3886169689Skan
3887169689Skan	* predicates.md (vector_all_ones_operand): New.
3888169689Skan	(nonimmediate_or_sse_const_operand): Ditto.
3889169689Skan	* config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
3890169689Skan	* config/i386/i386.c (standard_sse_constant_opcode): Define.
3891169689Skan	(standard_sse_mode_p): Ditto.
3892169689Skan	(standard_sse_constant_p): Add case for -1 vector.
3893169689Skan	(ix86_expand_vector_move): Try to use.
3894169689Skan	* sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
3895169689Skan	Call standard_sse_constant_opcode.
3896169689Skan	(*movv4sf_internal): Ditto.
3897169689Skan	(*movv2df_internal): Ditto.
3898169689Skan
3899169689Skan2006-06-29  Roger Sayle  <roger@eyesopen.com>
3900169689Skan
3901169689Skan	* genpreds.c (write_match_code_switch): Correctly use XSTR instead
3902169689Skan	of XEXP to extract the operands of a MATCH_CODE rtx.
3903169689Skan
3904169689Skan2006-06-28  Andrew Pinski  <pinskia@gmail.com>
3905169689Skan
3906169689Skan	* tree.c (tree_size): Do not waste tail padding in
3907169689Skan	struct tree_string and make the size be the same as
3908169689Skan	build_string will generate.
3909169689Skan
3910169689Skan2006-06-28  Jason Merrill  <jason@redhat.com>
3911169689Skan
3912169689Skan	PR c++/27768
3913169689Skan	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
3914169689Skan	may_aliases already in the tag's annotations to the bitmap.
3915169689Skan
3916169689Skan2006-06-28  Roger Sayle  <roger@eyesopen.com>
3917169689Skan
3918169689Skan	* genpreds.c (write_predicate_stmts) <IOR>: Add missing break.
3919169689Skan
3920169689Skan2006-06-28  Roger Sayle  <roger@eyesopen.com>
3921169689Skan
3922169689Skan	* genpreds.c (generate_switch_p): New function.
3923169689Skan	(add_mode_tests): Push the new mode test down inside an AND expr
3924169689Skan	if this allows the switch-suitable MATCH_CODE to be near the root.
3925169689Skan	(write_match_code_switch): New function to write a MATCH_CODE as
3926169689Skan	a switch statement.
3927169689Skan	(write_predicate_stmts): New function to write a predicate RTX
3928169689Skan	expression as a sequence of statements.
3929169689Skan	(write_one_predicate_function): Use write_predicate_stmts.
3930169689Skan	(write_tm_constrs_h): Likewise.
3931169689Skan
3932169689Skan2006-06-26  Fred Fish  <fnf@specifix.com>
3933169689Skan
3934169689Skan	* config/mips/t-sb1: New file.
3935169689Skan	* config.gcc (mipsisa64sb1-*-elf*): Add mips/t-sb1 to
3936169689Skan	tmake_file list.
3937169689Skan
3938169689Skan2006-06-26  DJ Delorie  <dj@redhat.com>
3939169689Skan
3940169689Skan	* config/m32c/m32c.c (m32c_print_operand): Fix sign-merging logic.
3941169689Skan
3942169689Skan2006-06-26  Naveen H.S  <naveenh@kpitcummins.com>
3943169689Skan	    Jayant Sonar  <jayants@kpitcummins.com>
3944169689Skan	    Jaydeep Vipradas  <jaydeepv@kpitcummins.com>
3945169689Skan
3946169689Skan	* config/m32c/addsub.md (addsi3, addsi3_1, addsi3_2): New.
3947169689Skan	(subsi3, subsi3_1, subsi3_2): New.
3948169689Skan	* config/m32c/bitops.md (andsi3, iorsi3, xorsi3): New.
3949169689Skan	* config/m32c/mov.md (SI mov peephole): New.
3950169689Skan	* config/m32c/m32.c (m32c_immd_dbl_mov): New.
3951169689Skan	* config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
3952169689Skan
3953169689Skan2006-06-26  Olivier Hainque  <hainque@adacore.com>
3954169689Skan
3955169689Skan	* function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
3956169689Skan	a CALL_EXPR target function declaration.
3957169689Skan
3958169689Skan2006-06-26  Richard Guenther  <rguenther@suse.de>
3959169689Skan
3960169689Skan	* tree.c (build_string): Do not waste tail padding in
3961169689Skan	struct tree_string.
3962169689Skan
3963169689Skan2006-06-26  Richard Guenther  <rguenther@suse.de>
3964169689Skan
3965169689Skan	* ggc-page.c (init_ggc): Add missing element to size_lookup
3966169689Skan	table.
3967169689Skan
3968169689Skan	Revert
3969169689Skan	2006-06-23  Richard Guenther  <rguenther@suse.de>
3970169689Skan
3971169689Skan	* ggc-page.c (init_ggc): Do not round up the extra_order_size_table
3972169689Skan	sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
3973169689Skan	alignment requests instead.  Add verification code.
3974169689Skan	Add struct tree_function_decl and struct tree_binfo size to
3975169689Skan	extra_order_size_table.  Add missing element to size_lookup
3976169689Skan	table.
3977169689Skan
3978169689Skan2006-06-25  Eric Botcazou  <ebotcazou@adacore.com>
3979169689Skan
3980169689Skan	PR middle-end/28151
3981169689Skan	* fold-const.c (const_binop): Be prepared for self returning zero.
3982169689Skan	Simplify code handling complex values.
3983169689Skan
3984169689Skan2006-06-24  Olivier Hainque  <hainque@adacore.com>
3985169689Skan
3986169689Skan	* gimplify.c (gimplify_scalar_mode_aggregate_compare): New function.
3987169689Skan	(gimplify_expr): Use it for tcc_comparison of operands of non BLKmode
3988169689Skan	aggregate types.
3989169689Skan
3990169689Skan2006-06-24  Olivier Hainque  <hainque@adacore.com>
3991169689Skan
3992169689Skan	* tree-ssa-loop-im.c (for_each_index): Handle ARRAY_RANGE_REF as
3993169689Skan	ARRAY_REF, so have the callback called for the low bound expression.
3994169689Skan
3995169689Skan2006-06-23  Janis Johnson  <janis187@us.ibm.com>
3996169689Skan
3997169689Skan	* tree.h (DECIMAL_FLOAT_TYPE_P): New.
3998169689Skan	* c-typeck.c (c_common_type): Disallow operations on decimal float
3999169689Skan	types and other float types.
4000169689Skan	* convert.c (convert_to_real): Don't ignore conversions involving
4001169689Skan	decimal float types.
4002169689Skan
4003169689Skan2006-06-23  Olivier Hainque  <hainque@adacore.com>
4004169689Skan
4005169689Skan	* tree.c (max_int_size_in_bytes): New function, inspired from
4006169689Skan	code in function.c:assign_temp.
4007169689Skan	* tree.h (max_int_size_in_bytes): Declare.
4008169689Skan	* function.c (assign_temp): Use it.
4009169689Skan	* gimplify.c (create_tmp_var): Relax the assertions on the type
4010169689Skan	properties, not mandating constant size any more.
4011169689Skan	(force_constant_size): New static function.
4012169689Skan	(gimple_add_tmp_var): Use it, forcing variable size to a
4013169689Skan	constant upper bound if it is not constant on entry.
4014169689Skan
4015169689Skan2006-06-23  Danny Smith   <dannysmith@users.sourceforge.net>
4016169689Skan
4017169689Skan	PR target/27789
4018169689Skan	* config/i386/winnt.c (ix86_handle_selectany_attribute): Move check
4019169689Skan	for initialization and setting of one_only flag to ...
4020169689Skan	(i386_pe_encode_section_info): ...here.
4021169689Skan	(i386_pe_dllimport_p): Check for DECL_DLLIMPORT_P also.
4022169689Skan	Recheck that the symbol has not been defined.
4023169689Skan
4024169689Skan2006-06-23  Richard Guenther  <rguenther@suse.de>
4025169689Skan
4026169689Skan	* ggc-page.c (init_ggc): Do not round up the extra_order_size_table
4027169689Skan	sizes to MAX_ALIGNMENT.  Fix the size_lookup table to honour
4028169689Skan	alignment requests instead.  Add verification code.
4029169689Skan	Add struct tree_function_decl and struct tree_binfo size to
4030169689Skan	extra_order_size_table.  Add missing element to size_lookup
4031169689Skan	table.
4032169689Skan
4033169689Skan2006-06-22  Roger Sayle  <roger@eyesopen.com>
4034169689Skan	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4035169689Skan
4036169689Skan	PR middle-end/28131
4037169689Skan	* expr.c (expand_expr_real_1) <VECTOR_CST>: Check whether the
4038169689Skan	call to lang_hooks.types.type_for_mode returned NULL_TREE.
4039169689Skan
4040169689Skan2006-06-23  Ben Elliston  <bje@au.ibm.com>
4041169689Skan
4042169689Skan	* dfp.c (decimal_to_decnumber): Do not use decNumberNegate to
4043169689Skan	negate dn -- manipulate it directly.
4044169689Skan
4045169689Skan2006-06-22  Roger Sayle  <roger@eyesopen.com>
4046169689Skan	    Steven Bosscher  <stevenb.gcc@gmail.com>
4047169689Skan
4048169689Skan	PR target/27531
4049169689Skan	* reload1.c (gen_reload): Call mark_jump_label on the new insns
4050169689Skan	generated by gen_move_insn to add REG_LABEL notes if necessary.
4051169689Skan
4052169689Skan2006-06-22  Bob Wilson  <bob.wilson@acm.org>
4053169689Skan
4054169689Skan	* config/xtensa/lib1funcs.asm (MIN_ESA): Delete.
4055169689Skan	(leaf_entry): Remove use of MIN_ESA.
4056169689Skan
4057169689Skan2006-06-22  Zdenek Dvorak <dvorakz@suse.cz>
4058169689Skan
4059169689Skan	PR rtl-optimization/28121
4060169689Skan	* cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from
4061169689Skan	the entry edge.
4062169689Skan
4063169689Skan2006-06-21  DJ Delorie  <dj@redhat.com>
4064169689Skan
4065169689Skan	* config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
4066169689Skan	(TN-16C-A156A/E).
4067169689Skan	(mulhisi3_r): Likewise.
4068169689Skan
4069169689Skan2006-06-21  Richard Sandiford  <richard@codesourcery.com>
4070169689Skan
4071169689Skan	PR middle-end/28034
4072169689Skan	* coverage.c (coverage_counter_alloc): Leave the index type
4073169689Skan	unspecified.
4074169689Skan	(coverage_counter_alloc): Use null arguments for operands 2 and 3
4075169689Skan	of the ARRAY_REF.
4076169689Skan
4077169689Skan2006-06-21  Andrew Pinski  <pinskia@physics.uc.edu>
4078169689Skan
4079169689Skan	* doc/invoke.texi (-fopenmp) Move to "Options Controlling C Dialect"
4080169689Skan	section from the "Options for Code Generation Conventions".
4081169689Skan
4082169689Skan2006-06-21  Richard Henderson  <rth@redhat.com>
4083169689Skan
4084169689Skan	PR target/26347
4085169689Skan	PR target/27082
4086169689Skan	* config/alpha/predicates.md (small_symbolic_operand): Deny weak
4087169689Skan	symbols.
4088169689Skan	(global_symbolic_operand): Allow weak symbols, even if local_p.
4089169689Skan
4090169689Skan2006-06-21  Eric Botcazou  <ebotcazou@adacore.com>
4091169689Skan
4092169689Skan	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.
4093169689Skan	(find_interesting_uses_address): Punt if above function returns true.
4094169689Skan
4095169689Skan2006-06-21  Richard Guenther  <rguenther@suse.de>
4096169689Skan
4097169689Skan	* configure: Regenerated.
4098169689Skan
4099169689Skan2006-06-21  Joseph Myers  <joseph@codesourcery.com>
4100169689Skan
4101169689Skan	* config/mips/mips.c (function_arg): Where one part of a
4102169689Skan	complex argument is in registers and the other part in the stack,
4103169689Skan	return a REG not a PARALLEL.
4104169689Skan
4105169689Skan2006-06-21  Mark Mitchell  <mark@codesourcery.com>
4106169689Skan
4107169689Skan	* configure.ac: Set gcc_gxx_include_dir to $target/include/c++
4108169689Skan	when cross-compiling.  Do not substitute libstdcxx_incdir.
4109169689Skan	* configure: Regenerated.
4110169689Skan
4111169689Skan2006-06-21  Jakub Jelinek  <jakub@redhat.com>
4112169689Skan
4113169689Skan	* varasm.c (mergeable_string_section): Check for embedded NULs and
4114169689Skan	NUL termination in the first int_size_in_bytes (TREE_TYPE (decl))
4115169689Skan	rather than TREE_STRING_LENGTH bytes.
4116169689Skan
4117169689Skan2006-06-21  Richard Guenther  <rguenther@suse.de>
4118169689Skan
4119169689Skan	* ggc-page.c (extra_order_size_table): Add var_ann_d,
4120169689Skan	tree_ssa_name, bitmap_element and phi_node with 4 arguments
4121169689Skan	sizes.
4122169689Skan
4123169689Skan2006-06-21  Richrad Guenther  <rguenther@suse.de>
4124169689Skan
4125169689Skan	* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
4126169689Skan	Limit iteration over the dominators.
4127169689Skan
4128169689Skan2006-06-20  Roger Sayle  <roger@eyesopen.com>
4129169689Skan
4130169689Skan	* config/mips/iris6.h (LIB_SPEC): Add support for -pthread.
4131169689Skan	(SUBTARGET_CPP_SPEC): Define _REENTERANT if -pthread specified.
4132169689Skan
4133169689Skan2006-06-20  Richard Guenther  <rguenther@suse.de>
4134169689Skan	Michael Matz  <matz@suse.de>
4135169689Skan
4136169689Skan	* alloc-pool.h (free_alloc_pool_if_empty): Prototype new
4137169689Skan	function.
4138169689Skan	* alloc-pool.c (free_alloc_pool_if_empty): New function.
4139169689Skan	* et-forest.h (et_free_pools): Prototype new function.
4140169689Skan	* et-forest.c (et_free_tree_force): Free parent occurrence.
4141169689Skan	(et_free_pools): New function.
4142169689Skan	* dominance.c (free_dominance_info): Free et-forest alloc
4143169689Skan	pools.
4144169689Skan
4145169689Skan2006-06-20  Roger Sayle  <roger@eyesopen.com>
4146169689Skan
4147169689Skan	* expr.c (expand_expr_real_1) <VECTOR_CST>: For vector constants with
4148169689Skan	integer modes, attempt to directly construct an integer constant.
4149169689Skan
4150169689Skan	* fold-const.c (native_encode_vector): Determine the size of each
4151169689Skan	element from the vector type instead of the first vector element.
4152169689Skan
4153169689Skan	* tree.c (build_constructor_single): Mark a CONSTRUCTOR as constant,
4154169689Skan	if all of its elements/components are constant.
4155169689Skan	(build_constructor_from_list): Likewise.
4156169689Skan
4157169689Skan2006-06-20  Zdenek Dvorak <dvorakz@suse.cz>
4158169689Skan
4159169689Skan	PR tree-optimization/27331
4160169689Skan	* tree-data-ref.c (free_data_ref): New function.
4161169689Skan	(create_data_ref): Fail if the data reference has unknown access
4162169689Skan	function.
4163169689Skan	(free_data_refs): Use free_data_ref.
4164169689Skan
4165169689Skan2006-06-19  Andrew Pinski  <pinskia@gmail.com>
4166169689Skan
4167169689Skan	PR middle-end/28075
4168169689Skan	* tree-inline.c (setup_one_parameter): Strip useless
4169169689Skan	type conversion before adding it to the IR.
4170169689Skan	(declare_return_variable): Likewise.
4171169689Skan
4172169689Skan2006-06-19  Martin Michlmayr  <tbm@cyrius.com>
4173169689Skan
4174169689Skan	PR c/27149
4175169689Skan	* c-common.c (c_common_truthvalue_conversion): Fix grammar in warning.
4176169689Skan
4177169689Skan2006-06-19  Mike Stump  <mrs@apple.com>
4178169689Skan
4179169689Skan	* tree.c (variably_modified_type_p): VM arguments don't make the
4180169689Skan	type a VM type.
4181169689Skan
4182169689Skan2006-06-19  Richard Guenther  <rguenther@suse.de>
4183169689Skan
4184169689Skan	* tree-ssa-pre.c (try_combine_conversion): Strip useless
4185169689Skan	type conversions after folding.
4186169689Skan
4187169689Skan2006-06-19  Richard Guenther  <rguenther@suse.de>
4188169689Skan
4189169689Skan	* ggc-page.c (extra_order_size_tab): Add entries with
4190169689Skan	size of struct function and basic_block.
4191169689Skan	(size_lookup): Extend to cover sizes up to 511.
4192169689Skan	(ggc_alloc_stat): Adjust user.
4193169689Skan	(ggc_pch_count_object): Likewise.
4194169689Skan	(ggc_pch_alloc_object): Likewise.
4195169689Skan	(ggc_pch_write_object): Likewise.
4196169689Skan
4197169689Skan2006-06-19  Zdenek Dvorak <dvorakz@suse.cz>
4198169689Skan
4199169689Skan	* tree-ssa-loop-niter.c (implies_ge_p): New function.
4200169689Skan	(derive_constant_upper_bound): Handle OP0 - CST in unsigned types
4201169689Skan	correctly.
4202169689Skan
4203169689Skan2006-06-19  Denis Chertykov  <denisc@overta.ru>
4204169689Skan
4205169689Skan	* config/avr/libgcc.S : Correct my wrong previous commit.
4206169689Skan
4207169689Skan2006-06-19  Roger Sayle  <roger@eyesopen.com>
4208169689Skan
4209169689Skan	PR target/27861
4210169689Skan	* expmed.c (expand_shift): On SHIFT_COUNT_TRUNCATED targets, we may
4211169689Skan	have stripped a SUBREG from the shift count, so we may need to
4212169689Skan	convert_to_mode back to the type's mode before calling make_tree.
4213169689Skan	Use new_amount instead of amount to avoid expanding a tree twice.
4214169689Skan
4215169689Skan2006-06-19  Richard Guenther  <rguenther@suse.de>
4216169689Skan
4217169689Skan	PR middle-end/28045
4218169689Skan	* fold-const.c (operand_equal_p): Check if the argument types
4219169689Skan	have the same precision before stripping NOPs.
4220169689Skan
4221169689Skan2006-06-19  Daniel Berlin  <dberlin@dberlin.org>
4222169689Skan
4223169689Skan	Fix PR tree-optimization/27341
4224169689Skan	* tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
4225169689Skan	statement we get.
4226169689Skan	* tree-complex.c (pass_lower_complex): Update SMT usage.
4227169689Skan
4228169689Skan2006-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
4229169689Skan
4230169689Skan	* config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
4231169689Skan	Add a new alternative to the constraint strings. Add move of
4232169689Skan	operand 1 to 3 to the splitter definition.
4233169689Skan	("doloop_si_long"): Second contraint alternative removed.
4234169689Skan
4235169689Skan2006-06-08  Anatoly Sokolov <aesok@post.ru>
4236169689Skan
4237169689Skan	* config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
4238169689Skan	(TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
4239169689Skan	__AVR_HAVE_LPMX__.
4240169689Skan	(AVR_HAVE_MOVW) Define.
4241169689Skan	(ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
4242169689Skan	(ASM_SPEC): Add avr25.
4243169689Skan	(LINK_SPEC): Add avr25.
4244169689Skan	* config/avr/avr.c (avr_have_movw_lpmx_p): Add.
4245169689Skan	(base_arch_s): Add new member 'have_movw_lpmx'.
4246169689Skan	(avr_arch_types): Init 'have_movw_lpmx'.
4247169689Skan	(avr_mcu_types): Add 'avr25'. Move attiny13, attiny2313, attiny24,
4248169689Skan	attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
4249169689Skan	attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
4250169689Skan	(avr_override_options): Init 'avr_have_movw_lpmx_p'.
4251169689Skan	(output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
4252169689Skan	AVR_HAVE_MOVW.
4253169689Skan	(avr_file_start): Do not output '.arh' derective.
4254169689Skan	* config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
4255169689Skan	(__do_copy_data): Use __AVR_HAVE_LPMX__.
4256169689Skan	* config/avr/avr.md (mcu_enhanced): Delete.
4257169689Skan	(mcu_have_movw): Define.
4258169689Skan	(negsi2, extendhisi2, zero_extendhisi2): Use 'mcu_have_movw'.
4259169689Skan	(call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
4260169689Skan	* config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
4261169689Skan	(MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
4262169689Skan	attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
4263169689Skan	attiny861 and at86rf401 devices.
4264169689Skan
4265169689Skan2006-06-18  Jie Zhang  <jie.zhang@analog.com>
4266169689Skan
4267169689Skan	* config/bfin/bfin.c (MAX_LOOP_LENGTH): Define to be 2042 instead
4268169689Skan	of 4096.
4269169689Skan
4270169689Skan2006-06-17  Karl Berry  <karl@gnu.org>
4271169689Skan
4272169689Skan	* doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi,
4273169689Skan	doc/gccint.texi, doc/install.texi (@dircategory): Use
4274169689Skan	"Software development" instead of "Programming", following
4275169689Skan	the Free Software Directory.
4276169689Skan
4277169689Skan2006-06-17  Alexandre Oliva  <aoliva@redhat.com>
4278169689Skan
4279169689Skan	* config/i386/i386.c (legitimate_tls_address)
4280169689Skan	<TARGET_GNU2_TLS>: Add tp after DTPOFF.
4281169689Skan	* config/i386/i386.md (*tls_dynamic_gnu2_combine_32): Adjust.
4282169689Skan	(*tls_dynamic_gnu2_combine_64): Likewise.
4283169689Skan
4284169689Skan2006-06-16  Richard Guenther  <rguenther@suse.de>
4285169689Skan
4286169689Skan	PR middle-end/27116
4287169689Skan	* fold-const.c (negate_expr_p): Do not introduce undefined
4288169689Skan	overflow in negating INTEGER_CSTs.
4289169689Skan	(fold_negate_expr): Rename from negate_expr.  Revert last
4290169689Skan	change for folding BIT_NOT_EXPR.  Change semantics to
4291169689Skan	return NULL_TREE for non-simplified negations.  Do not
4292169689Skan	strip type conversions and unify type handling.
4293169689Skan	(negate_expr): New function, wrap around fold_negate_expr
4294169689Skan	but ensure building a tree always.  Strip type conversions
4295169689Skan	here, fold to result type.
4296169689Skan	(fold_unary): Use fold_negate_expr for folding NEGATE_EXPR.
4297169689Skan
4298169689Skan2006-06-16  Roger Sayle  <roger@eyesopen.com>
4299169689Skan
4300169689Skan	PR middle-end/27802
4301169689Skan	* reg-stack.c (subst_stack_regs): Handle noreturn function calls
4302169689Skan	that (would) return their results in stack registers.
4303169689Skan
4304169689Skan2006-06-16  Michael Matz  <matz@suse.de>
4305169689Skan	Richard Guenther  <rguenther@suse.de>
4306169689Skan
4307169689Skan	* fold-const.c (fold_truthop): Only return new tree node if
4308169689Skan	we canonicalized something.
4309169689Skan
4310169689Skan2006-06-16  Richard Guenther  <rguenther@suse.de>
4311169689Skan
4312169689Skan	* function.h (enum function_frequency): Move declaration
4313169689Skan	out of struct function.
4314169689Skan	(struct function): Move bool fields and the enum to the bitfield
4315169689Skan	section.  Reorder elements to avoid padding.  Remove unused
4316169689Skan	fields left over from the RTL inliner removal.
4317169689Skan	* function.c (free_after_compilation): Do not zero removed fields.
4318169689Skan	* Makefile.in (ipa-reference.o): Add $(FUNCTION_H) dependency.
4319169689Skan	(ipa-type-escape.o): Likewise.
4320169689Skan
4321169689Skan2006-06-16  Richard Guenther  <rguenther@suse.de>
4322169689Skan
4323169689Skan	* cgraph.h (struct cgraph_local_info): Turn bool elements
4324169689Skan	into a bitfield.
4325169689Skan	(struct cgraph_node): Likewise.
4326169689Skan	(struct cgraph_varpool_node): Likewise.
4327169689Skan
4328169689Skan2006-06-15  Richard Guenther  <rguenther@suse.de>
4329169689Skan
4330169689Skan	* fold-const.c (fold_truth_not_expr): Rename from
4331169689Skan	invert_truthvalue.  Give it fold_* semantics to avoid
4332169689Skan	generating garbage.
4333169689Skan	(invert_truthvalue): New function.  Wrapper around
4334169689Skan	fold_truth_not_expr.
4335169689Skan	(optimize_minmax_comparison): Avoid creating garbage.
4336169689Skan	(fold_unary): Use fold_truth_not_expr for folding
4337169689Skan	TRUTH_NOT_EXPR.
4338169689Skan	(fold_ternary): Replace uses of invert_truthvalue with
4339169689Skan	fold_truth_not_expr where applicable.
4340169689Skan	* tree.h (fold_truth_not_expr): Prototype.
4341169689Skan
4342169689Skan2006-06-16  Richard Guenther  <rguenther@suse.de>
4343169689Skan
4344169689Skan	PR tree-optimization/27781
4345169689Skan	* Makefile.in (ipa-pure-const.o): Add $(TARGET_H) dependency.
4346169689Skan	* ipa-pure-const.c (target.h): Include.
4347169689Skan	(analyze_function): Do not analyze functions that do not
4348169689Skan	bind locally.
4349169689Skan
4350169689Skan2006-06-15  Andrew MacLeod  <amacleod@redhat.com>
4351169689Skan
4352169689Skan	PR middle-end/27793
4353169689Skan	* tree-dfa.c (referenced_vars_dup_list): Remove.
4354169689Skan	(find_referenced_vars): Remove assert.
4355169689Skan	(referenced_var_check_and_insert): Replace dup list with assert.
4356169689Skan	* tree-ssa.c (delete_tree_ssa): Remove dup list processing.
4357169689Skan	* tree-flow.h (referenced_vars_dup_list): Remove extern decl.
4358169689Skan
4359169689Skan2006-06-15  Richard Guenther  <rguenther@suse.de>
4360169689Skan
4361169689Skan	* tree-ssa-structalias.c (alias_get_name): Avoid creating
4362169689Skan	extra unused identifiers if not dumping.
4363169689Skan	(create_variable_info_for): Likewise.
4364169689Skan
4365169689Skan2006-06-15  Zdenek Dvorak <dvorakz@suse.cz>
4366169689Skan
4367169689Skan	* tree-ssa-loop-niter.c (implies_nonnegative_p): New function.
4368169689Skan	(derive_constant_upper_bound): Derive more precise upper bound in
4369169689Skan	common cases.  Return type changed to double_int.
4370169689Skan	(record_estimate): Reflect the changed return type of
4371169689Skan	derive_constant_upper_bound.
4372169689Skan	* double-int.c (double_int_zext, double_int_sext): Fix.
4373169689Skan
4374169689Skan2006-06-15  Paolo Bonzini  <bonzini@gnu.org>
4375169689Skan
4376169689Skan	* configure.ac (CFLAGS): Get them from the toplevel or from the
4377169689Skan	configure invocation.
4378169689Skan	* configure: Regenerate.
4379169689Skan	* Makefile.in (CFLAGS): Substitute value provided by configure.
4380169689Skan
4381169689Skan2006-06-14  Mark Mitchell  <mark@codesourcery.com>
4382169689Skan
4383169689Skan	PR c++/26559
4384169689Skan	* c-common.h (c_finish_omp_atomic): Adjust declaration.
4385169689Skan	* c-omp.c (c_finish_omp_atomic): Return the expression to perform,
4386169689Skan	rather than calling add_stmt on it.
4387169689Skan	* c-parser.c (c_parser_omp_atomic): Adjust accordingly.
4388169689Skan
4389169689Skan2006-06-14  Andreas Krebbel  <krebbel1@de.ibm.com>
4390169689Skan
4391169689Skan	PR middle-end/27959
4392169689Skan	* reload1.c (reload): Remove registers returned by update_eliminables
4393169689Skan	from used_spill_regs.
4394169689Skan
4395169689Skan2006-06-13  DJ Delorie  <dj@redhat.com>
4396169689Skan
4397169689Skan	* config/m32c/muldiv.md (mulpsi3): Expect arbitrary constants.
4398169689Skan
4399169689Skan2006-06-13  Carlos O'Donell  <carlos@codesourcery.com>
4400169689Skan
4401169689Skan	* Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
4402169689Skan	html__strip_dir, html__mkdir_p. Enhance install-html target.
4403169689Skan	* configure.ac: AC_SUBST datarootdir, docdir and htmldir.
4404169689Skan	* configure: Regenerate.
4405169689Skan
4406169689Skan2006-06-13  Fariborz Jahanian <fjahanian@apple.com>
4407169689Skan
4408169689Skan	* fold-const.c (fold_cond_expr_with_comparison): Check for
4409169689Skan	Objective-C++ as language in deciding COND_EXPR transformation.
4410169689Skan
4411169689Skan2006-06-06  J"orn Rennecke <joern.rennecke@st.com>
4412169689Skan
4413169689Skan	PR target/28014:
4414169689Skan	* config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
4415169689Skan	* config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
4416169689Skan	* config/sh/lib1funcs.h (SL, SL1): Define.
4417169689Skan	* config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
4418169689Skan	* longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
4419169689Skan	* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
4420169689Skan	(OBJS_Os_4_200): New variable.
4421169689Skan	($(T)libgcc-Os-4-200.a): Use it.
4422169689Skan	* sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
4423169689Skan	when dividing 1 and/or by 0.
4424169689Skan
4425169689Skan2006-06-13  Roger Sayle  <roger@eyesopen.com>
4426169689Skan
4427169689Skan	* configure.ac (HAS_MCONTEXT_T_UNDERSCORES): Include <sys/signal.h>
4428169689Skan	before <ucontext.h> to define sigset_t required by <sys/ucontext.h>.
4429169689Skan	* configure: Regenerate.
4430169689Skan
4431169689Skan2006-06-13  Jie Zhang  <jie.zhang@analog.com>
4432169689Skan
4433169689Skan	* config/bfin/bfin.c (bfin_reorg_loops): Only call recog_memoized ()
4434169689Skan	for real instruction.
4435169689Skan
4436169689Skan2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
4437169689Skan
4438169689Skan	PR middle-end/26807
4439169689Skan	* haifa-sched.c (check_cfg): Handle special case.
4440169689Skan
4441169689Skan2006-06-13  Eric Botcazou  <ebotcazou@adacore.com>
4442169689Skan
4443169689Skan	PR debug/26754
4444169689Skan	* gimplify.c (declare_tmp_vars): Rename into declare_vars.
4445169689Skan	Add debug_info parameter.  Chain the vars to the BLOCK instead
4446169689Skan	of the BIND_EXPR if debug info are requested for them.
4447169689Skan	(pop_gimplify_context): Adjust for above change.
4448169689Skan	(gimple_add_tmp_var): Likewise.
4449169689Skan	* tree-gimple.h (declare_tmp_vars): Rename into declare_vars.
4450169689Skan	Add bool parameter.
4451169689Skan	* tree-nested.c (convert_nonlocal_reference): Adjust for above change.
4452169689Skan	(convert_local_reference): Likewise.
4453169689Skan	(get_local_debug_decl): Set DECL_IGNORED_P on the original variable.
4454169689Skan	(finalize_nesting_tree_1): Request that debug info be emitted
4455169689Skan	for debug_var_chain.
4456169689Skan
4457169689Skan2006-06-13  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
4458169689Skan
4459169689Skan	* haifa-sched.c (unlink_other_notes, unlink_line_notes): Fix the patch
4460169689Skan	for PR target/27863.
4461169689Skan
4462169689Skan2006-06-13  Richard Guenther  <rguenther@suse.de>
4463169689Skan
4464169689Skan	PR middle-end/27536
4465169689Skan	* except.c (output_ttype): Expand type with EXPAND_INITIALIZER.
4466169689Skan
4467169689Skan2006-06-13  Richard Guenther  <rguenther@suse.de>
4468169689Skan
4469169689Skan	PR tree-optimization/27830
4470169689Skan	* tree-inline.c (copy_body_r): For copying the operand
4471169689Skan	of an ADDR_EXPR make sure to fold &* afterwards.
4472169689Skan
4473169689Skan2006-06-12  Eric Botcazou  <ebotcazou@adacore.com>
4474169689Skan
4475169689Skan	* gimplify.c (gimplify_expr): Treat VIEW_CONVERT_EXPR like other
4476169689Skan	lvalues in the fb_none case with side-effects.
4477169689Skan
4478169689Skan2006-06-12  Kazu Hirata  <kazu@codesourcery.com>
4479169689Skan
4480169689Skan	* tree-flow.h: Remove the prototype for
4481169689Skan	compute_phi_arg_on_exit.
4482169689Skan	* tree-ssa-loop-ivopts.c (protect_loop_closed_ssa_form_use,
4483169689Skan	protect_loop_closed_ssa_form, compute_phi_arg_on_exit):
4484169689Skan	Remove.
4485169689Skan
4486169689Skan2006-06-12  Mark Shinwell  <shinwell@codesourcery.com>
4487169689Skan
4488169689Skan	* builtins.c (expand_builtin_return_addr): Only use
4489169689Skan	frame_pointer_rtx when count == 0 and we are expanding
4490169689Skan	__builtin_return_address.
4491169689Skan
4492169689Skan2006-06-12  Fred Fish  <fnf@specifix.com>
4493169689Skan
4494169689Skan	* config/mips/mips.c (mips_file_start): Create special section
4495169689Skan	".gcc_compiled_longXX" for o64 ABI as well as EABI.
4496169689Skan
4497169689Skan2006-06-11  Eric Christopher  <echristo@apple.com>
4498169689Skan
4499169689Skan	PR middle-end/27948
4500169689Skan	* stor-layout.c (place_field): Remove check for
4501169689Skan	remaining_in_alignment when aligning at the end of a run.
4502169689Skan
4503169689Skan2006-06-11  Eric Christopher  <echristo@apple.com>
4504169689Skan
4505169689Skan	PR 27542
4506169689Skan	* doc/extend.texi (Structure-Packing Pragmas): Document ms_struct
4507169689Skan	pragma.
4508169689Skan
4509169689Skan2006-06-11  Roger Sayle  <roger@eyesopen.com>
4510169689Skan
4511169689Skan	PR target/27858
4512169689Skan	Revert incorrect fix for PR target/27158
4513169689Skan	2006-05-08  Roger Sayle  <roger@eyesopen.com>
4514169689Skan	* reload.c (find_reloads_toplev): Only return the simplified SUBREG
4515169689Skan	of a reg_equiv_constant if the result is a legitimate constant.
4516169689Skan
4517169689Skan2006-06-11  Roger Sayle  <roger@eyesopen.com>
4518169689Skan
4519169689Skan	PR target/27158
4520169689Skan	* config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
4521169689Skan	extract a CONST_VECTOR element and interpret it as an integer.
4522169689Skan	(vspltis_constant): Use const_vector_elt_as_int instead of the
4523169689Skan	macro CONST_VECTOR_ELT in order to handle FP vector modes.
4524169689Skan	* config/rs6000/predicates.md (easy_vector_const): Consider
4525169689Skan	floating point ALTIVEC_VECTOR_MODEs via easy_altivec_constant.
4526169689Skan
4527169689Skan2006-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
4528169689Skan
4529169689Skan	PR middle-end/27942
4530169689Skan	* stor-layout.c (update_alignment_for_field): Don't add extra
4531169689Skan	alignment for packed non-bitfield fields in ms_bitfield_layout_p
4532169689Skan	code.
4533169689Skan
4534169689Skan2006-06-09  Ralf Corsepius  <ralf.corsepius@rtems.org>
4535169689Skan
4536169689Skan	* config/mips/t-rtems: Add EL/EB multilib variants.
4537169689Skan
4538169689Skan2006-06-09  Mike Stump  <mrs@apple.com>
4539169689Skan
4540169689Skan	* c-typeck.c (c_begin_vm_scope): Fix file_scope processing.
4541169689Skan
4542169689Skan2006-06-09  David Daney  <ddaney@avtrex.com>
4543169689Skan
4544169689Skan	* doc/install.texi: Add binutils version recommendation for mips-*-*.
4545169689Skan
4546169689Skan2006-06-09  Andreas Krebbel  <krebbel1@de.ibm.com>
4547169689Skan
4548169689Skan	* reload.c (find_reloads): Unset force_reload for 'X' constraint.
4549169689Skan
4550169689Skan2006-06-09  Richard Guenther  <rguenther@suse.de>
4551169689Skan
4552169689Skan	PR tree-optimization/26998
4553169689Skan	* tree-vrp.c (extract_range_from_unary_expr): For NEGATE_EXPR
4554169689Skan	of signed types, only TYPE_MIN_VALUE is special, but for both,
4555169689Skan	minimum and maximum value.  Likewise VR_ANTI_RANGE is special
4556169689Skan	in this case, as is -fwrapv.
4557169689Skan
4558169689Skan2006-06-08  Mike Stump  <mrs@apple.com>
4559169689Skan
4560169689Skan	PR target/26427
4561169689Skan	* config/darwin.c (darwin_asm_output_anchor): Disable
4562169689Skan	-fsection-anchors on darwin for now.
4563169689Skan	* config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Likewise.
4564169689Skan	* rs6000/rs6000.c (optimization_options): Likewise.
4565169689Skan
4566169689Skan2006-06-08  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4567169689Skan
4568169689Skan	PR target/27421
4569169689Skan	* config/i386/i386.c (classify_argument): Skip fields with invalid
4570169689Skan	types in unions.
4571169689Skan
4572169689Skan2006-06-08  Steven Bosscher  <steven@gcc.gnu.org>
4573169689Skan
4574169689Skan	* cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
4575169689Skan	(cse_insn): Likewise for the stack_pointer_rtx.
4576169689Skan
4577169689Skan2006-06-08  Roger Sayle  <roger@eyesopen.com>
4578169689Skan
4579169689Skan	* tree-ssa-dom.c (record_conditions): Only record "unordered"
4580169689Skan	conditions from floating point comparisons.
4581169689Skan
4582169689Skan2006-06-08  Paolo Bonzini  <bonzini@gnu.org>
4583169689Skan
4584169689Skan	PR middle-end/27733
4585169689Skan	* expmed.c (struct alg_hash_entry): Fix type of field T
4586169689Skan	to match synth_mult argument.
4587169689Skan	(NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
4588169689Skan
4589169689Skan2006-06-08  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
4590169689Skan
4591169689Skan	PR target/27863
4592169689Skan	* haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
4593169689Skan	block boundaries.
4594169689Skan
4595169689Skan2006-06-08  Richard Guenther  <rguenther@suse.de>
4596169689Skan
4597169689Skan	PR middle-end/27116
4598169689Skan	* fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
4599169689Skan	only, if overflow is defined and not trapping.
4600169689Skan	(negate_expr): Likewise.
4601169689Skan
4602169689Skan2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
4603169689Skan
4604169689Skan	PR tree-optimization/27872
4605169689Skan	* tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
4606169689Skan	flag on the new exit edge of the unrolled loop.
4607169689Skan
4608169689Skan2006-06-07  Zdenek Dvorak <dvorakz@suse.cz>
4609169689Skan
4610169689Skan	PR rtl-optimization/26449
4611169689Skan	* loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
4612169689Skan
4613169689Skan2006-06-07  Andrew MacLeod  <amacleod@redhat.com>
4614169689Skan
4615169689Skan	PR middle-end/27793
4616169689Skan	* tree-dfa.c (referenced_vars_dup_list): New.  List of duplicate
4617169689Skan	referenced_variables with matching DECL_UID's.
4618169689Skan	(find_referenced_vars): Make sure duplicate list is empty to start.
4619169689Skan	(referenced_var_p): Remove.
4620169689Skan	(referenced_var_check_and_insert): Renamed from referenced_var_insert.
4621169689Skan	Check if var is in the list, and add if needed.  Update the duplicate
4622169689Skan	list if a different var is in the list with the same DECL_UID.
4623169689Skan	(add_referenced_var): Call routine to check and insert.
4624169689Skan	* tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
4625169689Skan	* tree-flow.h (referenced_vars_dup_list): External declaration.
4626169689Skan
4627169689Skan2006-06-07  Fred Fish  <fnf@specifix.com>
4628169689Skan
4629169689Skan	* config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
4630169689Skan	into single entry.
4631169689Skan
4632169689Skan2006-06-07  Paolo Bonzini  <bonzini@gnu.org>
4633169689Skan
4634169689Skan	PR target/27390
4635169689Skan	* reg-stack.c (subst_stack_regs_pat): Reorder resetting of
4636169689Skan	the imaginary and real parts of a clobbered register.
4637169689Skan	Emit insn to set the imaginary part.
4638169689Skan
4639169689Skan2006-06-06  Peter Lemieszewski  <lemie@us.ibm.com>
4640169689Skan
4641169689Skan	* config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
4642169689Skan	in lieu of unwind-dw2-fde.c.
4643169689Skan
4644169689Skan2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
4645169689Skan
4646169689Skan	* config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
4647169689Skan
4648169689Skan2006-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
4649169689Skan
4650169689Skan	PR target/27842
4651169689Skan	* config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
4652169689Skan	("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
4653169689Skan	("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
4654169689Skan	V4SImode temporaries and operations instead.
4655169689Skan
4656169689Skan2006-06-06  Joseph S. Myers  <joseph@codesourcery.com>
4657169689Skan
4658169689Skan	* config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
4659169689Skan	dp-bit.c.
4660169689Skan
4661169689Skan2006-06-06  Mike Stump  <mrs@apple.com>
4662169689Skan
4663169689Skan	* Makefile.in: Rename to htmldir to build_htmldir to avoid
4664169689Skan	installing during build.
4665169689Skan
4666169689Skan2006-06-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
4667169689Skan
4668169689Skan	* params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
4669169689Skan	value to 0.
4670169689Skan	* doc/invoke.texi (max-sched-extend-regions-iters): Document.
4671169689Skan	* config/ia64/ia64.c (params.h): New header.
4672169689Skan	(ia64_optimization_options): New function to adjust parameters.
4673169689Skan	* config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
4674169689Skan	* config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
4675169689Skan	* config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
4676169689Skan
4677169689Skan2006-06-05  Kazu Hirata  <kazu@codesourcery.com>
4678169689Skan
4679169689Skan	* stor-layout.c (debug_rli): Fix a typo in a debug message.
4680169689Skan
4681169689Skan2006-06-05  Steve Ellcey  <sje@cup.hp.com>
4682169689Skan
4683169689Skan	PR target/27051
4684169689Skan	* config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
4685169689Skan
4686169689Skan2006-06-05  Dorit Nuzman  <dorit@il.ibm.com>
4687169689Skan	    Victor Kaplansky  <victork@il.ibm.com>
4688169689Skan
4689169689Skan	PR tree-optimization/26360
4690169689Skan	* tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
4691169689Skan	stmts.
4692169689Skan
4693169689Skan2006-06-04  Roger Sayle  <roger@eyesopen.com>
4694169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
4695169689Skan
4696169689Skan	PR middle-end/27382
4697169689Skan	* c-common.c (c_common_truthvalue_conversion): Explicitly check
4698169689Skan	for LABEL_DECL before calling DECL_WEAK.
4699169689Skan
4700169689Skan	PR c/27150
4701169689Skan	* c-typeck.c (build_binary_op): Likewise, explicitly check for
4702169689Skan	LABEL_DECL and PARM_DECL.
4703169689Skan
4704169689Skan2006-06-05  Joseph S. Myers  <joseph@codesourcery.com>
4705169689Skan
4706169689Skan	PR c/25161
4707169689Skan	PR c/27020
4708169689Skan	* c-decl.c (grokdeclarator): Disallow variably modified types at
4709169689Skan	file scope.  Avoid marking shared array type of constant size as
4710169689Skan	VLA.
4711169689Skan
4712169689Skan2006-06-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4713169689Skan
4714169689Skan	PR c++/27601
4715169689Skan	* c-common.c (fold_offsetof_1): Handle static members.
4716169689Skan
4717169689Skan2006-06-04 Eric Christopher <echristo@apple.com>
4718169689Skan
4719169689Skan	* stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
4720169689Skan	(debug_rli): Output value for remaining_in_alignment.
4721169689Skan	(update_alignment_for_field): Unconditionalize
4722169689Skan	ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
4723169689Skan	extra alignment code.
4724169689Skan	(place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
4725169689Skan	ms_bitfield_layout_p code. Rewrite handling of structure fields.
4726169689Skan	* tree.h (record_layout_info_s): Remove prev_packed.
4727169689Skan	* doc/extend.texi (ms_struct): Add documentation of format.
4728169689Skan
4729169689Skan2006-06-04  Mark Shinwell  <shinwell@codesourcery.com>
4730169689Skan
4731169689Skan	* tree.h: Declare folding_initializer.
4732169689Skan	* builtins.c (fold_builtin_constant_p): Give definite answer
4733169689Skan	if folding inside an initializer.
4734169689Skan	* fold-const.c: Define folding_initializer.
4735169689Skan	(START_FOLD_INIT): Save and then set folding_initializer.
4736169689Skan	(END_FOLD_INIT): Restore folding_initializer.
4737169689Skan
4738169689Skan2006-06-04  Richard Guenther  <rguenther@suse.de>
4739169689Skan
4740169689Skan	PR tree-optimization/27039
4741169689Skan	* fold-const.c (fold_comparison): Handle pointer comparison
4742169689Skan	again for all comparison codes.  Compare offsets in signed
4743169689Skan	size type.
4744169689Skan	(fold_binary): Move code from here.
4745169689Skan
4746169689Skan2006-06-03  Roger Sayle  <roger@eyesopen.com>
4747169689Skan
4748169689Skan	PR target/26223
4749169689Skan	* config/i386/i386.c (construct_container): Split static issued_error
4750169689Skan	flag into issued_sse_arg_error, issued_sse_ret_error and
4751169689Skan	issued_x87_ret_error.  Issue a daignostic if the x86-64 ABI
4752169689Skan	requires the use of x87 registers and the user explicitly
4753169689Skan	specified the -mno-80387 command line option.
4754169689Skan
4755169689Skan2006-06-02  Geoffrey Keating  <geoffk@apple.com>
4756169689Skan
4757169689Skan	* config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
4758169689Skan	HAVE_DECL_SIGALTSTACK.
4759169689Skan	(MC_FLD): New.
4760169689Skan	(segv_handler): Use MC_FLD.
4761169689Skan	* configure.ac: Check for a sigaltstack declaration.
4762169689Skan	Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
4763169689Skan	* configure: Regenerate.
4764169689Skan	* config.in: Regenerate.
4765169689Skan
4766169689Skan2006-06-03  J"orn Rennecke <joern.rennecke@st.com>
4767169689Skan
4768169689Skan	PR other/27850
4769169689Skan	* Makefile.in (stmp-fixinc): Fix typo.
4770169689Skan
4771169689Skan2006-06-02  Roger Sayle  <roger@eyesopen.com>
4772169689Skan
4773169689Skan	* fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
4774169689Skan	are type correct.  Clean-up.
4775169689Skan	<REALPART_EXPR>: Likewise.  Optimize creal(~z) as creal(z).
4776169689Skan	<IMAGPART_EXPR>: Likewise.  Optimize cimag(~z) as -cimag(z).
4777169689Skan
4778169689Skan2006-06-01  DJ Delorie  <dj@redhat.com>
4779169689Skan
4780169689Skan	* config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
4781169689Skan	shift, as we've disabled the "switch" insn that needs it.
4782169689Skan
4783169689Skan2006-06-01  Per Bothner  <bothner@bothner.com>
4784169689Skan
4785169689Skan	Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
4786169689Skan	* c-opts.c (finish_options): Use internal line 0 for <command-line>.
4787169689Skan	* c-ppoutput.c (cb_define): Don't increment line 0.
4788169689Skan
4789169689Skan2006-06-01  Pete Steinmetz  <steinmtz@us.ibm.com>
4790169689Skan
4791169689Skan	* doc/invoke.texi: Add cpu_type power6.
4792169689Skan	* config.gcc: Add cpu_type power6.
4793169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Alias power6
4794169689Skan	to power5+ with Altivec.
4795169689Skan	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
4796169689Skan	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
4797169689Skan
4798169689Skan2006-05-30  Anatoly Sokolov <aesok@post.ru>
4799169689Skan
4800169689Skan	* config/avr/avr.h (SET_ASM_OP): Define.
4801169689Skan
4802169689Skan2006-06-01  Kazu Hirata  <kazu@codesourcery.com>
4803169689Skan
4804169689Skan	* config/bfin/bfin.c: Fix comment typos.
4805169689Skan
4806169689Skan2006-06-01  Paolo Bonzini  <bonzini@gnu.org>
4807169689Skan
4808169689Skan	PR 25453
4809169689Skan	* doc/install.texi: Document --enable-bootstrap and
4810169689Skan	--disable-bootstrap.
4811169689Skan
4812169689Skan2006-06-01  Paolo Bonzini  <bonzini@gnu.org>
4813169689Skan
4814169689Skan	* doc/install.texi: Document that InfoZIP can replace jar.
4815169689Skan
4816169689Skan2006-05-31  Roger Sayle  <roger@eyesopen.com>
4817169689Skan
4818169689Skan	* config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
4819169689Skan	isn't available, directly generate the simpler x87 patterns without
4820169689Skan	the (use (const_int 0)).
4821169689Skan	* config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
4822169689Skan	implementation isn't available.
4823169689Skan	(*negdf2_1): Likewise.
4824169689Skan	(*negxf2_1): XF mode negation is always done using the x87.
4825169689Skan	(*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
4826169689Skan
4827169689Skan2006-05-31  Roger Sayle  <roger@eyesopen.com>
4828169689Skan
4829169689Skan	* builtins.c (fold_builtin_cabs): Delete prototype.  Require an
4830169689Skan	additional FNDECL argument.  Optimize cabs(-z) and cabs(~z) as
4831169689Skan	cabs(z).
4832169689Skan	(fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
4833169689Skan
4834169689Skan2006-05-31  Jie Zhang  <jie.zhang@analog.com>
4835169689Skan
4836169689Skan	* config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
4837169689Skan	* config/bfin/bfin.c (basic-block.h): Include.
4838169689Skan	(struct machine_function): New.
4839169689Skan	(bfin_init_machine_status): New.
4840169689Skan	(override_options): Initialize init_machine_status.
4841169689Skan	(bfin_hardware_loop): New.
4842169689Skan	(MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
4843169689Skan	(DEF_VEC_P (loop_info)): New.
4844169689Skan	(DEF_VEC_ALLOC_P (loop_info,heap)): New.
4845169689Skan	(struct loop_info): New.
4846169689Skan	(loop_info): New typedef.
4847169689Skan	(struct loop_work): New.
4848169689Skan	(loop_work): New typedef.
4849169689Skan	(DEF_VEC_O (loop_work)): New.
4850169689Skan	(DEF_VEC_ALLOC_O (loop_work,heap)): New.
4851169689Skan	(bfin_dump_loops): New.
4852169689Skan	(bfin_bb_in_loop): New.
4853169689Skan	(bfin_scan_loop): New.
4854169689Skan	(bfin_optimize_loop): New.
4855169689Skan	(bfin_reorg_loops): New.
4856169689Skan	(bfin_reorg): Use bfin_reorg_loops.
4857169689Skan	* config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
4858169689Skan	loop registers.
4859169689Skan	(I_REGNO_P): Simplify.
4860169689Skan	(DP_REGNO_P, DPREG_P): New macros.
4861169689Skan	(REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
4862169689Skan	REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
4863169689Skan	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
4864169689Skan	Add LT_REGS, LC_REGS, LB_REGS.
4865169689Skan	(REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
4866169689Skan	'l' for LB_REGS.
4867169689Skan	(REGNO_REG_CLASS): Deal with loop registers.
4868169689Skan	* config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
4869169689Skan	letters.
4870169689Skan	(REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
4871169689Skan	New constants for loop registers.
4872169689Skan	(UNSPEC_LSETUP_END): New.
4873169689Skan	(seq_insns): New define_attr. Set it for appropriate insns.
4874169689Skan	(movsi_insn): Add alternatives for move from/to
4875169689Skan	loop count registers.
4876169689Skan	(doloop_end): New define_expand.
4877169689Skan	(loop_end): New define_insn.
4878169689Skan	(define_split for bad doloop_end): New.
4879169689Skan	(lsetup_with_autoinit): New define_insn.
4880169689Skan	(lsetup_without_autoinit): New define_insn.
4881169689Skan	(rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
4882169689Skan	* config/bfin/predicates.md (lc_register_operand): New.
4883169689Skan	(lt_register_operand): New.
4884169689Skan	(lb_register_operand): New.
4885169689Skan	(nondp_register_operand): New.
4886169689Skan	(nondp_reg_or_memory_operand): New.
4887169689Skan	* doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
4888169689Skan
4889169689Skan2006-05-31  Jie Zhang  <jie.zhang@analog.com>
4890169689Skan
4891169689Skan	* config/bfin/bfin.c (bfin_delegitimize_address): New.
4892169689Skan	(TARGET_DELEGITIMIZE_ADDRESS): Define.
4893169689Skan
4894169689Skan2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
4895169689Skan
4896169689Skan	* Makefile.in (CATALOGS): Add po/ prefix.
4897169689Skan	* configure: Regenerated.
4898169689Skan
4899169689Skan2006-05-31  Richard Earnshaw  <richard.earnshaw@arm.com>
4900169689Skan
4901169689Skan	PR target/27829
4902169689Skan	* arm.c (arm_print_operand case 'S'): Validate that the operand is
4903169689Skan	a shift operand before calling shift_op.  Avoid redundant call of
4904169689Skan	shift_op.
4905169689Skan
4906169689Skan2006-05-30  Naveen.H.S  <naveenh@kpitcummins.com>
4907169689Skan	    DJ Delorie  <dj@redhat.com>
4908169689Skan
4909169689Skan	* config/m32c/m32c.c (m32c_expand_insv): Check that the value
4910169689Skan	we're inserting is a singlt-bit constant.
4911169689Skan
4912169689Skan2006-05-30  Roger Sayle  <roger@eyesopen.com>
4913169689Skan
4914169689Skan	* simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
4915169689Skan	width to HOST_WIDE_INT to avoid comparison warnings on some targets.
4916169689Skan
4917169689Skan2006-05-30  Roger Sayle  <roger@eyesopen.com>
4918169689Skan
4919169689Skan	PR tree-optimization/23452
4920169689Skan	* fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
4921169689Skan	to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
4922169689Skan	(fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
4923169689Skan	complex values and with -ffast-math for FP complex values.
4924169689Skan
4925169689Skan2006-05-30  Kazu Hirata  <kazu@codesourcery.com>
4926169689Skan
4927169689Skan	* c-common.h: Remove the prototype for yyparse.
4928169689Skan	* rtl.h: Remove the prototype for init_loop.
4929169689Skan
4930169689Skan2006-05-30  Andreas Krebbel  <krebbel1@de.ibm.com>
4931169689Skan
4932169689Skan	* cse.c (validate_canon_reg, cse_insn): Don't change insns without
4933169689Skan	calling recog.
4934169689Skan
4935169689Skan2006-05-30  Roger Sayle  <roger@eyesopen.com>
4936169689Skan
4937169689Skan	* simplify-rtx.c (simplify_binary_operation): Unfactor the shift
4938169689Skan	and rotate cases.
4939169689Skan	<LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
4940169689Skan	log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
4941169689Skan
4942169689Skan2006-05-30  Dirk Mueller  <dmueller@suse.de>
4943169689Skan
4944169689Skan	PR c/27273
4945169689Skan	* c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
4946169689Skan	for CONSTANT_CLASS_P expresisons.
4947169689Skan
4948169689Skan2006-05-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4949169689Skan
4950169689Skan	PR c/27718
4951169689Skan	* c-typeck.c (c_expr_sizeof_type): Handle invalid types.
4952169689Skan
4953169689Skan2006-05-30  Zdenek Dvorak <dvorakz@suse.cz>
4954169689Skan
4955169689Skan	PR tree-optimization/27779
4956169689Skan	* tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
4957169689Skan	initial_condition instead of CHREC_LEFT.
4958169689Skan
4959169689Skan2006-05-30  Steven Bosscher  <stevenb.gcc@gmail.com>
4960169689Skan
4961169689Skan	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
4962169689Skan	* config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
4963169689Skan	Make prototypes ISO C90.
4964169689Skan
4965169689Skan2006-05-30  Mircea Namolaru  <namolaru@il.ibm.com>
4966169689Skan	    Leehod Baruch    <leehod.baruch@weizmann.ac.il>
4967169689Skan
4968169689Skan	* see.c (see_analyze_one_def): Correct check.
4969169689Skan	(see_get_extension_data): Check if extension is parallel.
4970169689Skan	(see_get_extension_reg): Likewise.
4971169689Skan
4972169689Skan2006-05-30  Uros Bizjak  <uros@kss-loka.si>
4973169689Skan
4974169689Skan	PR target/27790
4975169689Skan	* config/i386/i386.c (ix86_expand_int_vcond): Force cop0
4976169689Skan	into register for (code == GTU).
4977169689Skan
4978169689Skan2006-05-29  Roger Sayle  <roger@eyesopen.com>
4979169689Skan
4980169689Skan	PR tree-optimization/24964
4981169689Skan	* simplify-rtx.c (simplify_binary_operation_1): Add function comment.
4982169689Skan	<MULT>: Minor clean-up.  Don't convert x*-1.0 into -x if we honor
4983169689Skan	signaling NaNs.  Optimize -x*-x as x*x for all float modes, and
4984169689Skan	abs(x)*abs(x) as x*x for scalar floating point modes.
4985169689Skan
4986169689Skan2006-05-29  Sebastian Pop  <pop@cri.ensmp.fr>
4987169689Skan
4988169689Skan	PR middle-end/27745
4989169689Skan	* lambda-code.c (perfect_nestify): Don't copy statements
4990169689Skan	in the inner loop: move them to the inner loop header.
4991169689Skan
4992169689Skan2006-05-29  Diego Novillo  <dnovillo@redhat.com>
4993169689Skan
4994169689Skan	PR 26237
4995169689Skan	* c-tree.texi: Document OpenMP directives and clauses.
4996169689Skan
4997169689Skan2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
4998169689Skan
4999169689Skan	* varasm.c (globalize_decl): Fix indentation.
5000169689Skan
5001169689Skan2006-05-29  Diego Novillo  <dnovillo@redhat.com>
5002169689Skan
5003169689Skan	PR 26242
5004169689Skan	* doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
5005169689Skan	pass_fre, pass_store_ccp, pass_copy_prop,
5006169689Skan	pass_store_copy_prop, pass_merge_phi, pass_nrv,
5007169689Skan	pass_return_slot, pass_object_size, pass_lim,
5008169689Skan	pass_linear_transform, pass_empty_loop, pass_complete_unroll,
5009169689Skan	pass_loop_prefetch and pass_stdarg.
5010169689Skan
5011169689Skan2005-05-29  Bernd Schmidt  <bernd.schmidt@analog.com>
5012169689Skan
5013169689Skan	* config/bfin/bfin.opt (mfdpic): New option.
5014169689Skan	* config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
5015169689Skan	(EXTRA_MULTILIB_PARTS): Likewise.
5016169689Skan	(CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
5017169689Skan	(MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
5018169689Skan	multilib.
5019169689Skan	* config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
5020169689Skan	(CRT_CALL_STATIC_FUNCTION): New.
5021169689Skan	* config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
5022169689Skan	-shared.
5023169689Skan	(CRT_CALL_STATIC_FUNCTION): New.
5024169689Skan	* config/bfin/bfin.c (legitimize_pic_address): Now static.  Handle
5025169689Skan	FD-PIC moves.
5026169689Skan	(n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
5027169689Skan	(print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
5028169689Skan	(initialize_trampoline): Changed to handle FD-PIC code generation.
5029169689Skan	(expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
5030169689Skan	(bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
5031169689Skan	(override_options): Disallow -mid-shared-library -mfdpic combination.
5032169689Skan	Can't do unaligned ops if FD-PIC.
5033169689Skan	Turn off flag_pic if trying to generate non-id-shared-library
5034169689Skan	non-fdpic code, since it's not supported.
5035169689Skan	(bfin_assemble_integer): New function.
5036169689Skan	(TARGET_ASM_INTEGER): Define.
5037169689Skan	* config/bfin/crti.s (__init, __fini): Save P3 on the stack if
5038169689Skan	__BFIN_FDPIC__.
5039169689Skan	* config/bfin/crtn.s: Restore them.
5040169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
5041169689Skan	if TARGET_FDPIC.
5042169689Skan	(DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
5043169689Skan	LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
5044169689Skan	(FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
5045169689Skan	(TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
5046169689Skan	(CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
5047169689Skan	call-used.
5048169689Skan	(enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
5049169689Skan	FDPIC_REGS and FDPIC_FPTR_REGS.
5050169689Skan	(REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
5051169689Skan	* config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
5052169689Skan	UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
5053169689Skan	(load_funcdescsi): New pattern.
5054169689Skan	(call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
5055169689Skan	sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
5056169689Skan	call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
5057169689Skan
5058169689Skan2006-05-29  Kazu Hirata  <kazu@codesourcery.com>
5059169689Skan
5060169689Skan	* gcse.c, rtlanal.c: Remove obsolete comments associated with
5061169689Skan	loop.c.
5062169689Skan
5063169689Skan	* config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
5064169689Skan
5065169689Skan	* tree-flow.h: Remove the prototype for add_type_alias.
5066169689Skan	* tree-ssa-alias.c (add_type_alias): Remove.
5067169689Skan
5068169689Skan2006-05-28  Kazu Hirata  <kazu@codesourcery.com>
5069169689Skan
5070169689Skan	* cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
5071169689Skan	config/fr30/fr30.md, config/i386/i386-interix.h,
5072169689Skan	config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
5073169689Skan	config/sh/superh64.h, config/v850/v850.c, df-core.c,
5074169689Skan	df-problems.c, df.h, except.c, final.c, haifa-sched.c,
5075169689Skan	lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
5076169689Skan	reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
5077169689Skan	tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
5078169689Skan	Follow spelling conventions.
5079169689Skan	* doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
5080169689Skan	Follow spelling conventions.
5081169689Skan
5082169689Skan2006-05-27  Richard Guenther  <rguenther@suse.de>
5083169689Skan
5084169689Skan	PR middle-end/27773
5085169689Skan	* fold-const.c (fold_plusminus_mult_expr): Use fold_convert
5086169689Skan	to produce a constant of value 1 of generic type.
5087169689Skan
5088169689Skan2006-05-27  Dirk Mueller  <dmueller@suse.de>
5089169689Skan
5090169689Skan	* cgraphunit.c (decide_is_function_needed): Fix wrong
5091169689Skan	PR reference.
5092169689Skan
5093169689Skan2006-05-26  Ulrich Weigand  <uweigand@de.ibm.com>
5094169689Skan
5095169689Skan	PR rtl-optimization/27661
5096169689Skan	* reload.c (find_reloads): When reloading a VOIDmode constant
5097169689Skan	as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
5098169689Skan	use Pmode as mode of the reload register.
5099169689Skan
5100169689Skan2006-05-26  Eric Botcazou  <ebotcazou@adacore.com>
5101169689Skan
5102169689Skan	* doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
5103169689Skan	is enabled at -O and above.
5104169689Skan
5105169689Skan2006-05-26  Steven Bosscher  <steven@gcc.gnu.org>
5106169689Skan
5107169689Skan	PR target/27571
5108169689Skan	* config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
5109169689Skan	table data.
5110169689Skan
5111169689Skan2006-05-25  Mark Mitchell  <mark@codesourcery.com>
5112169689Skan
5113169689Skan	PR c++/20103
5114169689Skan	* gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
5115169689Skan	for anonymous variables explicitly declared by front ends.
5116169689Skan
5117169689Skan2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
5118169689Skan
5119169689Skan	* tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
5120169689Skan	(struct alias_info): Add new field ref_all_symbol_mem_tag.
5121169689Skan	* tree-ssa-alias.c (compute_may_aliases): If the program contains
5122169689Skan	ref-all pointers, run a finalization pass for them.
5123169689Skan	(compute_flow_insensitive_aliasing): Skip ref-all pointers.
5124169689Skan	(finalize_ref_all_pointers): New function.
5125169689Skan	(is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
5126169689Skan	regular pointer type to a ref-all pointer type.
5127169689Skan	(get_tmt_for): Return the special memory tag for ref-all pointers.
5128169689Skan
5129169689Skan2006-05-25  Richard Guenther  <rguenther@suse.de>
5130169689Skan
5131169689Skan	PR middle-end/27743
5132169689Skan	* fold-const.c (fold_binary): Do not look at the stripped
5133169689Skan	op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
5134169689Skan
5135169689Skan2006-05-25  Eric Botcazou  <ebotcazou@adacore.com>
5136169689Skan
5137169689Skan	* tree-vrp.c (extract_range_from_assert): Set the range to VARYING
5138169689Skan	for LT and GT if the computed range is effectively empty.
5139169689Skan
5140169689Skan2006-05-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5141169689Skan
5142169689Skan	PR target/27627
5143169689Skan	* pa/pa-modes.def: Use mips_single_format, mips_double_format and
5144169689Skan	mips_quad_format formats instead of ieee_single_format,
5145169689Skan	ieee_double_format and ieee_quad_format formats, respectively.
5146169689Skan
5147169689Skan2006-05-24  Zdenek Dvorak <dvorakz@suse.cz>
5148169689Skan
5149169689Skan	PR tree-optimization/27639
5150169689Skan	PR tree-optimization/26719
5151169689Skan	* tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
5152169689Skan	call to scev_probably_wraps_p.
5153169689Skan	* tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
5154169689Skan	used_in_pointer_arithmetic_p, convert_step): Removed.
5155169689Skan	(nowrap_type_p): New function.
5156169689Skan	(scev_probably_wraps_p): Rewritten.
5157169689Skan	* tree-scalar-evolution.c (instantiate_parameters_1): Do not call
5158169689Skan	chrec_convert if chrec_convert_aggressive might have been used.
5159169689Skan	* tree-chrec.c (convert_affine_scev, chrec_convert_1,
5160169689Skan	scev_direction): New functions.
5161169689Skan	(chrec_convert): Changed to a wrapper over chrec_convert_1.
5162169689Skan	* tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
5163169689Skan	instead of convert_step.
5164169689Skan	* tree-flow.h (scev_probably_wraps_p): Declaration changed.
5165169689Skan	(convert_step): Declaration removed.
5166169689Skan	(convert_affine_scev, nowrap_type_p, scev_direction): Declare.
5167169689Skan
5168169689Skan2006-05-23  Kenneth Zadeck <zadeck@naturalbridge.com>
5169169689Skan
5170169689Skan	* df-core.c: Added to header comments.
5171169689Skan	* df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
5172169689Skan	df_ur_bb_info, df_urec_bb_info): Added comments.
5173169689Skan	* df-problems (df_ref_bitmap, ru, rd, lr, ur,
5174169689Skan	urec, ri problems): Fixed header comments.
5175169689Skan	(df_ru_transfer_function): Fixed in-out set dyslexia when copying
5176169689Skan	code from df_rd_transfer_function.
5177169689Skan
5178169689Skan2006-05-23  Richard Sandiford  <richard@codesourcery.com>
5179169689Skan
5180169689Skan	* libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
5181169689Skan	(LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
5182169689Skan	MIN_UNITS_PER_WORD to set the default.  Also use it in the guard.
5183169689Skan
5184169689Skan2006-05-23  Joseph Myers  <joseph@codesourcery.com>
5185169689Skan
5186169689Skan	* expr.c (undefined_operand_subword_p): New.
5187169689Skan	(emit_move_multi_word): Do not generate move from undefined bits
5188169689Skan	of a paradoxical subreg.
5189169689Skan
5190169689Skan2006-05-23  Richard Sandiford  <richard@codesourcery.com>
5191169689Skan
5192169689Skan	PR rtl-optimization/27736
5193169689Skan	* combine.c (replaced_rhs_value): New variable.
5194169689Skan	(combine_instructions): Set it.
5195169689Skan	(distribute_notes): When distributing a note in replaced_rhs_insn,
5196169689Skan	check whether the value was used in replaced_rhs_value.
5197169689Skan
5198169689Skan2006-05-23  Andrew MacLeod  <amacleod@redhat.com>
5199169689Skan
5200169689Skan	PR c++/26757
5201169689Skan	* tree-ssa-loop-im.c (determine_invariantness_stmt): Use
5202169689Skan	add_referenced_var instead of add_referenced_tmp_var.
5203169689Skan	* tree-complex.c (create_one_component_var): Use add_referenced_var.
5204169689Skan	* tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
5205169689Skan	add_referenced_var.
5206169689Skan	* tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
5207169689Skan	tree_optimize_tail_calls_1): Use add_referenced_var.
5208169689Skan	* tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
5209169689Skan	* tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
5210169689Skan	Use add_referenced_var.
5211169689Skan	* tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
5212169689Skan	* gimplify.c (force_gimple_operand): Use add_referenced_var.
5213169689Skan	* tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
5214169689Skan	Use add_referenced_var.
5215169689Skan	* tree-dfa.c (struct walk_state): Remove.
5216169689Skan	(find_referenced_vars): Remove walk state and vars_found hash table.
5217169689Skan	(make_rename_temp): Use add_referenced_var.
5218169689Skan	(find_vars_r): Pass less parameters to add_referenced_var.
5219169689Skan	(referenced_var_p): New.  Is var in referenced_var hash table.
5220169689Skan	(referenced_var_insert): Assert var isn't already in hash table.
5221169689Skan	(add_referenced_var): Don't need walk_state parameter.  Add var if it
5222169689Skan	isn't already in the hash table.
5223169689Skan	(add_referenced_tmp_var): Remove.
5224169689Skan	(find_new_referenced_vars_1): Use add_referenced_var.
5225169689Skan	* tree-ssa-pre.c (create_expression_by_pieces,
5226169689Skan	insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
5227169689Skan	Use add_referenced_var.
5228169689Skan	* tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
5229169689Skan	* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
5230169689Skan	lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
5231169689Skan	add_referenced_var.
5232169689Skan	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
5233169689Skan	vect_create_data_ref_ptr, vect_create_destination_var,
5234169689Skan	vect_init_vector, vect_build_loop_niters,
5235169689Skan	vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
5236169689Skan	vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
5237169689Skan	Use add_referenced_var.
5238169689Skan	* tree-outof-ssa.c (create_temp): Use add_referenced_var.
5239169689Skan	* tree-flow.h (add_referenced_tmp_var): Remove prototype
5240169689Skan	(add_referenced_var): Add prototype.
5241169689Skan	* tree-ssa-structalias.c (get_constraint_for,
5242169689Skan	intra_create_variable_infos): Use add_referenced_var.
5243169689Skan
5244169689Skan2006-05-23  Alexandre Oliva  <aoliva@redhat.com>
5245169689Skan
5246169689Skan	* simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
5247169689Skan	big-endian paradoxical subregs.
5248169689Skan	* var-tracking.c (struct micro_operation_def): Document that,
5249169689Skan	for modify micro operations, insn is the subsequent instruction.
5250169689Skan	(var_reg_delete_and_set, var_mem_delete_and_set): Split into...
5251169689Skan	(var_reg_set, var_mem_set): ... new functions.
5252169689Skan	(add_stores): Record subsequent insn.
5253169689Skan	(compute_bb_dataflow): Use new functions for MO_USE.
5254169689Skan	(emit_notes_in_bb): Use new functions for MO_USE.  Emit use
5255169689Skan	notes after the insn, and modify notes before the insn known
5256169689Skan	to be the subsequent one.
5257169689Skan	(vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
5258169689Skan
5259169689Skan2006-05-23  Kazu Hirata  <kazu@codesourcery.com>
5260169689Skan
5261169689Skan	PR target/27696
5262169689Skan	* config/i386/i386.c (ix86_expand_builtin): Use
5263169689Skan	gen_sse3_monitor64 for TARGET_64BIT.
5264169689Skan
5265169689Skan2006-05-22  Kenneth Zadeck <zadeck@naturalbridge.com>
5266169689Skan
5267169689Skan	PR rtl-optimization/26375
5268169689Skan	PR rtl-optimization/26855
5269169689Skan	* df-problems (df_ru_bb_local_compute_process_def): Removed update
5270169689Skan	to gen set.
5271169689Skan	(df_ru_bb_local_compute): Reversed statements and removed bogus
5272169689Skan	comment explaining why they should be in wrong order.
5273169689Skan	(df_ru_dump, df_rd_dump): Enhanced debug info.
5274169689Skan	* modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
5275169689Skan	debug info.
5276169689Skan	* ddg.c (add_deps_for_def): Converted use of reaching defs to
5277169689Skan	reaching uses and fixed space problem.
5278169689Skan
5279169689Skan2006-05-23  Jan Hubicka  <jh@suse.cz>
5280169689Skan
5281169689Skan	* cgraphunit.c (decide_is_function_needed): Also nested functions
5282169689Skan	and functions declared inline can be optimized out at -O0.
5283169689Skan
5284169689Skan2006-05-22  Gerald Pfeifer  <gerald@pfeifer.com>
5285169689Skan
5286169689Skan	* doc/install.texi (Configuration): Remove reference to CrossGCC
5287169689Skan	FAQ which was gone.
5288169689Skan	(Building): Ditto.
5289169689Skan
5290169689Skan2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
5291169689Skan
5292169689Skan	PR target/27266
5293169689Skan	* config/i386/i386.c (ix86_expand_branch): Jump to simple if
5294169689Skan	ix86_compare_emitted is non-NULL.
5295169689Skan
5296169689Skan2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5297169689Skan
5298169689Skan	PR c++/27451
5299169689Skan	* stmt.c (expand_asm_operands): Skip asm statement with erroneous
5300169689Skan	clobbers.
5301169689Skan
5302169689Skan2006-05-22  Richard Sandiford  <richard@codesourcery.com>
5303169689Skan
5304169689Skan	PR rtl-optimization/25514
5305169689Skan	* combine.c (replaced_rhs_insn): New variable.
5306169689Skan	(combine_instructions): Set replaced_rhs_insn when trying to replace
5307169689Skan	a SET_SRC with a REG_EQUAL note.
5308169689Skan	(distribute_notes): Use replaced_rhs_insn when determining the live
5309169689Skan	range of a REG_DEAD register.
5310169689Skan
5311169689Skan2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
5312169689Skan	    Anatoly Sokolov <aesok@post.ru>
5313169689Skan
5314169689Skan	* config/avr/avr.c (avr_mcu_types): Add support for attiny261,
5315169689Skan	attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
5316169689Skan	attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
5317169689Skan	atmega164p, atmega324p, atmega644p, atmega644, atmega329,
5318169689Skan	atmega3290, atmega649, atmega6490, atmega406, atmega640,
5319169689Skan	atmega1280, atmega1281, at90can32, at90can64, at90usb646,
5320169689Skan	at90usb647, at90usb1286 and at90usb1287 devices.
5321169689Skan	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
5322169689Skan	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
5323169689Skan
5324169689Skan2006-05-22  Richard Sandiford  <richard@codesourcery.com>
5325169689Skan
5326169689Skan	* mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
5327169689Skan
5328169689Skan2006-05-22  Richard Guenther  <rguenther@suse.de>
5329169689Skan
5330169689Skan	Revert
5331169689Skan	2006-01-31  Richard Guenther  <rguenther@suse.de>
5332169689Skan	Paolo Bonzini  <bonzini@gnu.org>
5333169689Skan
5334169689Skan	* doc/install.texi (--disable-libgcc-math): Document.
5335169689Skan
5336169689Skan2006-05-22  Richard Guenther  <rguenther@suse.de>
5337169689Skan
5338169689Skan	Revert
5339169689Skan	2006-01-31  Richard Guenther  <rguenther@suse.de>
5340169689Skan
5341169689Skan	* doc/invoke.texi (-msselibm): Document.
5342169689Skan	* target.h (expand_library_builtin): New target hook.
5343169689Skan	* builtins.c (expand_builtin): Use expand_library_builtin.
5344169689Skan	(default_expand_library_builtin): New function.
5345169689Skan	* gcc.c (LINK_GCC_MATH_SPEC): Define.
5346169689Skan	(LINK_COMMAND_SPEC): Handle %(link_gcc_math).
5347169689Skan	(link_gcc_math_spec): Declare.
5348169689Skan	(static_specs): Add link_gcc_math_spec.
5349169689Skan	* expr.h (default_expand_library_builtin): Declare.
5350169689Skan	* target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
5351169689Skan	(TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
5352169689Skan	* config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
5353169689Skan	* config/i386/i386.opt (msselibm): New target option.
5354169689Skan	* config/i386/i386.c (ix86_builtin_function_variants): New array.
5355169689Skan	(ix86_init_sse_abi_builtins): New function.
5356169689Skan	(ix86_expand_library_builtin): Likewise.
5357169689Skan	(TARGET_EXPAND_LIBRARY_BUILTIN): Define.
5358169689Skan	(override_options): Handle error conditions wrt -msselibm.
5359169689Skan	(ix86_builtins): Add function codes for SSE2 ABI builtins.
5360169689Skan	(ix86_init_builtins): Call ix86_init_sse_abi_builtins.
5361169689Skan	* doc/extend.texi (__builtin_sse2_*): Document new target specific
5362169689Skan	builtins.
5363169689Skan
5364169689Skan2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5365169689Skan
5366169689Skan	PR c/27420
5367169689Skan	* c-common.c (self_promoting_args_p): Skip erroneous args.
5368169689Skan
5369169689Skan	PR c/26818
5370169689Skan	* c-decl.c (finish_struct): Skip erroneous fields.
5371169689Skan
5372169689Skan2006-05-22  Nick Clifton  <nickc@redhat.com>
5373169689Skan
5374169689Skan	* config/cris/cris.opt (march): Remove VarExists attribute.
5375169689Skan	(max-stackframe=): Likewise.
5376169689Skan
5377169689Skan2006-05-22  Kazu Hirata  <kazu@codesourcery.com>
5378169689Skan
5379169689Skan	* doc/rtl.texi: Fix a typo.
5380169689Skan	* see.c: Fix comment typos.
5381169689Skan
5382169689Skan	* tree-ssa-structalias.h (alias_info): Remove num_references.
5383169689Skan
5384169689Skan2006-05-21  Mike Stump  <mrs@apple.com>
5385169689Skan
5386169689Skan	* config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
5387169689Skan	(BAD2): Add.
5388169689Skan	(darwin_pragma_options): Use BAD instead.
5389169689Skan	(darwin_pragma_unused): Likewise.
5390169689Skan	(darwin_pragma_ms_struct): Likewise.
5391169689Skan
5392169689Skan2006-05-21  David Edelsohn  <edelsohn@gnu.org>
5393169689Skan
5394169689Skan	* config/rs6000/rs6000.md (floatsitf2): Remove constraints.
5395169689Skan
5396169689Skan2006-05-21  Kazu Hirata  <kazu@codesourcery.com>
5397169689Skan
5398169689Skan	PR rtl-optimization/27671
5399169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Fix
5400169689Skan	simplifications of (eq/ne (xor x y) y) and
5401169689Skan	(eq/ne (xor x y) x).
5402169689Skan
5403169689Skan	PR tree-optimization/26622.
5404169689Skan	* fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
5405169689Skan	on arg1.
5406169689Skan
5407169689Skan2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
5408169689Skan
5409169689Skan	* tree-cfg.c: Prune whitespace.
5410169689Skan	(debug_tree_cfg): Point to correct header containing the
5411169689Skan	TDF_* defines.
5412169689Skan
5413169689Skan2006-05-21  Bernhard Fischer  <aldot@gcc.gnu.org>
5414169689Skan
5415169689Skan	PR middle-end/25776
5416169689Skan	* cgraphunit.c (verify_cgraph_node): Typo in error message.
5417169689Skan
5418169689Skan2006-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
5419169689Skan
5420169689Skan	PR middle-end/25776
5421169689Skan	* cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
5422169689Skan	or sorry count is non zero.
5423169689Skan
5424169689Skan2006-05-20  Andreas Schwab  <schwab@suse.de>
5425169689Skan
5426169689Skan	* config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
5427169689Skan
5428169689Skan2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
5429169689Skan	    Kenneth Zadeck <zadeck@naturalbridge.com>
5430169689Skan
5431169689Skan	PR rtl-optimization/26855
5432169689Skan
5433169689Skan	* df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
5434169689Skan	multiword refs.
5435169689Skan	(df_scan_alloc): Added code to properly handle multiword hard
5436169689Skan	registers and add all_blocks parameter.
5437169689Skan	(df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
5438169689Skan	code to properly handle multiword hard registers.
5439169689Skan	(df_rescan_blocks): Added code to remove deleted blocks from
5440169689Skan	bitmap.
5441169689Skan	(df_ref_create_structure, df_ref_record): Added code to properly
5442169689Skan	handle subregs.
5443169689Skan	(df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
5444169689Skan	and set DF_REF_PARTIAL.
5445169689Skan	(df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
5446169689Skan	(df_uses_record): Added DF_REF_PARTIAL for subreg.
5447169689Skan	(df_scan_add_problem): Added flags parameter.
5448169689Skan	(df_ref_create_structure): Changed switching structure.
5449169689Skan	(df_bb_refs_record): Fixed case where duplicate artificial refs
5450169689Skan	were created.  Changed location of flags.
5451169689Skan	(df_record_entry_block_defs): Added code to make stack pointer
5452169689Skan	live in entry block.  Refined cases where frame pointer is needed.
5453169689Skan	Changed location of flags.
5454169689Skan	(df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
5455169689Skan	(df_set_state): Removed function.
5456169689Skan	(df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
5457169689Skan	df_insn_create_insn_record, df_insn_refs_delete,
5458169689Skan	df_ref_create_structure): Formatting changes.
5459169689Skan	* df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
5460169689Skan	df_delete_basic_block): New function.
5461169689Skan	(df_init): Changed location of flags.
5462169689Skan	(df_add_problem): Added flags parameter and the way flags are
5463169689Skan	processed.
5464169689Skan	(df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
5465169689Skan	debug_df_chain): Improved debugging output.
5466169689Skan	(df_insn_debug, df_insn_uid_debug): Added multiword reg support.
5467169689Skan	(df_refs_chain_dump): Removed df parameter.
5468169689Skan	(df_iterative_dataflow): Added consistency check.
5469169689Skan	(df_prune_to_subcfg): Made public.
5470169689Skan	(df_analyze_problem): Added blocks_to_init parameter and made
5471169689Skan	public.
5472169689Skan	(df_ref_record, df_bb_refs_record, df_mark_reg,
5473169689Skan	 df_record_exit_block_uses): Whitespace changes.
5474169689Skan	(df_dump): Whitespace changes.
5475169689Skan	* df.h: Some reordering to remove forward references.
5476169689Skan	(df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
5477169689Skan	DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
5478169689Skan	(df_ref_flags.DF_REF_CLOBBER): Deleted field.
5479169689Skan	(dataflow.flags): New field.
5480169689Skan	(df.flag): Deleted field.
5481169689Skan	(df_alloc_function): Added additional bitmap parameter.
5482169689Skan	(df_dependent_problem_function): New type.
5483169689Skan	(df_problem.changeable_flags): New field.
5484169689Skan	(df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
5485169689Skan	DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
5486169689Skan	(df_mw_hardreg): New struct.
5487169689Skan	(DF_INSN_UID_MWS): New macro.
5488169689Skan	(df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
5489169689Skan	parameter.
5490169689Skan	(df_add_problem, df_ru_add_problem, df_rd_add_problem,
5491169689Skan	df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
5492169689Skan	df_ri_add_problem, df_scan_add_problem): Added flags parameter.
5493169689Skan	(df_set_state): Removed function.
5494169689Skan	(df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
5495169689Skan	* df-problems.c (df_chain_dump): Removed df parameter.
5496169689Skan	(df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
5497169689Skan	df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
5498169689Skan	parameter.
5499169689Skan	(df_ru_alloc, df_rd_alloc): Now resets all blocks.
5500169689Skan	(df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
5501169689Skan	df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
5502169689Skan	Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
5503169689Skan	DF_REF_MUST_CLOBBER cases.
5504169689Skan	(df_ru_bb_local_compute_process_def,
5505169689Skan	df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
5506169689Skan	df_lr_bb_local_compute, df_ur_bb_local_compute,
5507169689Skan	df_chain_create_bb): Made subreg aware.
5508169689Skan	(df_ru_bb_local_compute, df_rd_bb_local_compute,
5509169689Skan	df_lr_bb_local_compute, df_lr_bb_local_compute,
5510169689Skan	df_chain_create_bb): Cleanup to use proper macros.
5511169689Skan	(df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
5512169689Skan	code to fixup bitvectors.
5513169689Skan	(df_ri_alloc): Cleared lifetime.
5514169689Skan	(df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
5515169689Skan	df_create_unused_note): New function.
5516169689Skan	(df_ri_bb_compute, df_ri_compute): Added code to create/update
5517169689Skan	REG_DEAD and REG_UNUSED notes as well as register information.
5518169689Skan	(df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
5519169689Skan	df_chains_dump): Fixed crash if problem was never run.
5520169689Skan	(df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
5521169689Skan	df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
5522169689Skan	df_ri_add_problem): Processes flags in uniform manner.
5523169689Skan	(df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
5524169689Skan	df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
5525169689Skan	df_rd_dump, df_urec_free_bb_info): Formatting changes.
5526169689Skan	(df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
5527169689Skan	df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
5528169689Skan	df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
5529169689Skan	df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
5530169689Skan	df_ur_dump, df_urec_free_bb_info, df_urec_dump,
5531169689Skan	df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
5532169689Skan	* modulo-sched.c (sms_schedule): Added flag parameter to calls.
5533169689Skan	* see.c (see_initialize_data): Ditto.
5534169689Skan	* final.c (rest_of_clean_state) Added regstack_completed.
5535169689Skan	* rtl.h (regstack_completed): Ditto.
5536169689Skan	* reg-stack.c (regstack_completed): Ditto.
5537169689Skan
5538169689Skan2006-05-19  Mike Stump  <mrs@apple.com>
5539169689Skan
5540169689Skan	* c-tree.h (default_conversion): Remove.
5541169689Skan	* c-common.h (default_conversion): Add.
5542169689Skan
5543169689Skan2006-05-19  Zdenek Dvorak <dvorakz@suse.cz>
5544169689Skan
5545169689Skan	* tree-vrp.c (valid_value_p): New function.
5546169689Skan	(adjust_range_with_scev): Fail if the value of bound is not
5547169689Skan	simple.
5548169689Skan
5549169689Skan2006-05-19  Richard Sandiford  <richard@codesourcery.com>
5550169689Skan
5551169689Skan	* config/mips/linux-unwind.h: Include <asm/unistd.h>
5552169689Skan	(mips_fallback_frame_state): Use syscall numbers to determine
5553169689Skan	the appropriate li instruction for the current ABI.  Only use
5554169689Skan	__NR_sigreturn for o32.
5555169689Skan
5556169689Skan2006-05-19  Nicolas Setton  <setton@adacore.com>
5557169689Skan
5558169689Skan	* langhooks.h (struct lang_hooks): Add dwarf_name language hook.
5559169689Skan	* langhooks.c (lhd_dwarf_name): New function.
5560169689Skan	* langhooks-def.h (lhd_dwarf_name): Declare.
5561169689Skan	(LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
5562169689Skan	* dwarf2out.c (dwarf2_name): Use the dwarf_name	language hook.
5563169689Skan
5564169689Skan2006-05-19  Richard Sandiford  <richard@codesourcery.com>
5565169689Skan
5566169689Skan	* libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
5567169689Skan	libgcc2.h.
5568169689Skan	(LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
5569169689Skan	MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
5570169689Skan	LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
5571169689Skan	* libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
5572169689Skan	Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
5573169689Skan	determine the size of Wtype, etc.
5574169689Skan	* mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
5575169689Skan	(swfloatfuncs): New variable.
5576169689Skan	(dwfloatfuncs): Likewise.
5577169689Skan	(lib2funcs): Remove floating-point conversion functions from
5578169689Skan	initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
5579169689Skan	the set of conversion routines needed.  Allow entries to specify
5580169689Skan	an object name, filename and word size.  Update users accordingly.
5581169689Skan	* Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
5582169689Skan	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
5583169689Skan
5584169689Skan	Revert:
5585169689Skan
5586169689Skan	2006-02-08  Roger Sayle  <roger@eyesopen.com>
5587169689Skan
5588169689Skan	PR target/22209
5589169689Skan	* config/fixtfdi.c: New libgcc source file.
5590169689Skan	* config/fixunstfdi.c: New source file.
5591169689Skan	* config/floatditf.c: New source file.
5592169689Skan	* config/floatunditf.c: New souce file.
5593169689Skan	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
5594169689Skan	files above instead of config/mips/_tilib.c.
5595169689Skan	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
5596169689Skan
5597169689Skan2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5598169689Skan
5599169689Skan	* pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
5600169689Skan	* pa/pa-hpux11.h (LIB_SPEC): Update comment.
5601169689Skan
5602169689Skan2006-05-18  Mike Stump  <mrs@apple.com>
5603169689Skan
5604169689Skan	Fix up vla, vm and [*] sematics.
5605169689Skan
5606169689Skan	PR c/18740
5607169689Skan	PR c/7948
5608169689Skan	PR c/25802
5609169689Skan	PR c/27673
5610169689Skan	* c-tree.h (struct c_arg_info): Add had_vla_unspec.
5611169689Skan	(c_vla_unspec_p): Add.
5612169689Skan	(c_vla_type_p): Add.
5613169689Skan	* c-decl.c (struct c_scope): Add had_vla_unspec.
5614169689Skan	(build_array_declarator): Add support for [*].
5615169689Skan	(grokdeclarator): Likewise.
5616169689Skan	(grokparms): Likewise.
5617169689Skan	(get_parm_info): Likewise.
5618169689Skan	* c-objc-common.c (c_vla_unspec_p): Likewise.
5619169689Skan	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
5620169689Skan	* c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
5621169689Skan	typeof when argument is a variably modified type not inside sizeof or alignof.
5622169689Skan	(c_parser_direct_declarator_inner): Propagate errors.
5623169689Skan	(c_parser_sizeof_expression): Add support for [*].
5624169689Skan	(c_parser_parms_declarator): Initialize had_vla_unspec.
5625169689Skan	(c_parser_parms_list_declarator): Likewise.
5626169689Skan	* c-typeck.c (c_vla_type_p): Add.
5627169689Skan	(composite_type): Add support for vla compositing.
5628169689Skan	(comptypes_internal): Add support for vla compatibility.
5629169689Skan	(c_expr_sizeof_expr): Evaluate vla arguments.
5630169689Skan	* tree.c (variably_modified_type_p): Update comment for [*].
5631169689Skan
5632169689Skan2006-05-18  Michael Matz  <matz@suse.de>
5633169689Skan
5634169689Skan	PR target/27599
5635169689Skan	* config.host: Make assignments to host_xmake_file cumulative.
5636169689Skan	* config.host (*-darwin*): Test $host, not $target.
5637169689Skan
5638169689Skan2006-05-12  Stuart Hastings  <stuart@apple.com>
5639169689Skan
5640169689Skan	* config/i386/i386.opt (-mstackrealign): New flag.
5641169689Skan	* config/i386/i386.c (force_align_arg_pointer): New attribute.
5642169689Skan	(ix86_handle_cconv_attribute): Emit error when
5643169689Skan	force_align_arg_pointer attribute collides with too many regparms.
5644169689Skan	(ix86_function_regparm): Limit regparms when used with
5645169689Skan	force_align_arg_pointer attribute.  (ix86_internal_arg_pointer):
5646169689Skan	Support stack-realigning prologue in non-main functions.  Emit
5647169689Skan	warning for nested functions under -mstackrealign, emit error for
5648169689Skan	nested functions with force_align_arg_pointer attribute.
5649169689Skan	* doc/extend.texi (force_align_arg_pointer): Document it.
5650169689Skan	* doc/invoke.texi (-mstackrealign): Document it.
5651169689Skan
5652169689Skan2006-05-17  Kazu Hirata  <kazu@codesourcery.com>
5653169689Skan
5654169689Skan	PR rtl-optimization/27477
5655169689Skan	* combine.c (try_combine): Don't split a parallel consisting
5656169689Skan	of two sets into two individual sets if both sets reference
5657169689Skan	cc0.
5658169689Skan
5659169689Skan2006-05-17  H.J. Lu  <hongjiu.lu@intel.com>
5660169689Skan
5661169689Skan	* config/arm/arm.opt (target_fpe_name): Remove VarExists.
5662169689Skan	* config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
5663169689Skan
5664169689Skan	* doc/options.texi (VarExists): Updated.
5665169689Skan
5666169689Skan2006-05-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5667169689Skan
5668169689Skan	* unwind-dw2.c: Add declarations for uw_update_context and
5669169689Skan	uw_frame_state_for.
5670169689Skan	* pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
5671169689Skan	detected, advance frame state and context once to skip over stub.
5672169689Skan
5673169689Skan2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
5674169689Skan
5675169689Skan	PR middle-end/20256
5676169689Skan	PR middle-end/26435
5677169689Skan	* tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
5678169689Skan	Call rewrite_into_loop_closed_ssa only when something changed.
5679169689Skan	* lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
5680169689Skan	* lambda-code.c (can_convert_to_perfect_nest): Declared.
5681169689Skan	(gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
5682169689Skan	Test for perfect_nest_p here.  Fix formating.
5683169689Skan	(replace_uses_equiv_to_x_with_y): Fix formating.
5684169689Skan	(stmt_uses_op): Removed.
5685169689Skan	(can_convert_to_perfect_nest): Removed loopivs parameter.
5686169689Skan	Complete the test by checking the scalar dependences.
5687169689Skan	(perfect_nestify): Remove the test for can_convert_to_perfect_nest.
5688169689Skan	Fix formating.
5689169689Skan
5690169689Skan2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
5691169689Skan
5692169689Skan	PR bootstrap/22541
5693169689Skan	From Dan Kegel <dank@kegel.com>:
5694169689Skan	* Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
5695169689Skan
5696169689Skan2006-05-17  Eric Botcazou  <ebotcazou@adacore.com>
5697169689Skan
5698169689Skan	* tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
5699169689Skan	if the element type is variably modified without recursing.
5700169689Skan
5701169689Skan2006-05-17  Sebastian Pop  <pop@cri.ensmp.fr>
5702169689Skan
5703169689Skan	PR middle-end/27332
5704169689Skan	* tree-loop-linear.c (try_interchange_loops): Test for
5705169689Skan	no data dependences.
5706169689Skan
5707169689Skan2006-05-17  Zdenek Dvorak <dvorakz@suse.cz>
5708169689Skan
5709169689Skan	PR tree-optimization/27548
5710169689Skan	* tree-scalar-evolution.c (scev_const_prop): Do not prolong life
5711169689Skan	range of ssa names that appear on abnormal edges.
5712169689Skan	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
5713169689Skan	* tree-flow.h (contains_abnormal_ssa_name_p): Declare.
5714169689Skan
5715169689Skan2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
5716169689Skan
5717169689Skan	PR middle-end/27620
5718169689Skan	* expr.c (safe_from_p): Handle CONSTRUCTOR again.
5719169689Skan
5720169689Skan2006-05-17  Jakub Jelinek  <jakub@redhat.com>
5721169689Skan
5722169689Skan	PR middle-end/27415
5723169689Skan	* tree.h (OMP_PARALLEL_COMBINED): Define.
5724169689Skan	* gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
5725169689Skan	(new_omp_context): Add is_combined_parallel argument.
5726169689Skan	(gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
5727169689Skan	new_omp_context caller.
5728169689Skan	(gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
5729169689Skan	Adjust gimplify_scan_omp_clauses callers.
5730169689Skan	(omp_is_private): Issue errors if iteration variable is firstprivate
5731169689Skan	or reduction in the current context.
5732169689Skan	* c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
5733169689Skan	on combined parallel workshare constructs.
5734169689Skan
5735169689Skan2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
5736169689Skan
5737169689Skan	* Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
5738169689Skan	(gcc-options.o): New rule.
5739169689Skan
5740169689Skan	* optc-gen.awk: Protect variables for gcc-options.o with
5741169689Skan	#ifdef GCC_DRIVER/#endif.
5742169689Skan
5743169689Skan2006-05-16  Daniel Berlin <dberlin@dberlin.org>
5744169689Skan
5745169689Skan	Fix PR tree-optimization/27373
5746169689Skan	* tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
5747169689Skan	 (forward_propagate_addr_expr): Update call.
5748169689Skan
5749169689Skan2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
5750169689Skan
5751169689Skan	* doc/options.texi: Move the Negative option.
5752169689Skan
5753169689Skan2006-05-16  Richard Guenther  <rguenther@suse.de>
5754169689Skan
5755169689Skan	PR tree-optimization/22303
5756169689Skan	* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
5757169689Skan	from STRING_CSTs.
5758169689Skan	(evaluate_stmt): Fall back to fold_const_aggregate_ref, if
5759169689Skan	ccp_fold did not simplify the statement.
5760169689Skan
5761169689Skan2006-05-16  H.J. Lu  <hongjiu.lu@intel.com>
5762169689Skan
5763169689Skan	PR driver/26885
5764169689Skan	* Makefile.in (GCC_OBJS): New.
5765169689Skan	(OBJS-common): Add opts-common.o.
5766169689Skan	(xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
5767169689Skan	(cpp$(exeext)): Likewise.
5768169689Skan	(gcc.o): Also depend on opts.h.
5769169689Skan	(opts-common.o): New.
5770169689Skan
5771169689Skan	* common.opt (gcoff): Add Negative(gdwarf-2).
5772169689Skan	(gdwarf-2): Add Negative(gstabs).
5773169689Skan	(gstabs): Add Negative(gstabs+).
5774169689Skan	(gstabs+): Add Negative(gvms).
5775169689Skan	(gvms): Add Negative(gxcoff).
5776169689Skan	(gxcoff): Add Negative(gxcoff+).
5777169689Skan	(gxcoff+): Add Negative(gcoff).
5778169689Skan	* config/i386/i386.opt (m32): Add Negative(m64).
5779169689Skan	(m64): Add Negative(m32).
5780169689Skan
5781169689Skan	* doc/options.texi: Document the Negative option.
5782169689Skan
5783169689Skan	* gcc.c: Include "opts.h".
5784169689Skan	(main): Call prune_options after expandargv.
5785169689Skan
5786169689Skan	* optc-gen.awk: Generate common declarations for all flag
5787169689Skan	variables in options.c. Output the neg_index field.
5788169689Skan
5789169689Skan	* opts.c (find_opt): Moved to ...
5790169689Skan	* opts-common.c: Here. New file.
5791169689Skan
5792169689Skan	* opts.h (cl_option): Add a neg_index field.
5793169689Skan	(find_opt): New.
5794169689Skan	(prune_options): Likewise.
5795169689Skan
5796169689Skan2006-05-16  Jakub Jelinek  <jakub@redhat.com>
5797169689Skan
5798169689Skan	PR middle-end/27573
5799169689Skan	* omp-low.c (expand_omp_parallel): Don't assert
5800169689Skan	.OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
5801169689Skan	instead search for it.
5802169689Skan
5803169689Skan	PR c/27499
5804169689Skan	* gimplify.c (gimplify_omp_for): Remove assertion that iteration var
5805169689Skan	is signed.
5806169689Skan
5807169689Skan2006-05-16  Andreas Schwab  <schwab@suse.de>
5808169689Skan
5809169689Skan	* doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
5810169689Skan	defmac.
5811169689Skan
5812169689Skan2006-05-15  Roger Sayle  <roger@eyesopen.com>
5813169689Skan
5814169689Skan	PR target/26600
5815169689Skan	* config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
5816169689Skan	integer constants other than zero are only legitimate on TARGET_64BIT.
5817169689Skan	<CONST_VECTOR> Only zero vectors are legitimate.
5818169689Skan	(ix86_cannot_force_const_mem): Integral and vector constants can
5819169689Skan	always be put in the constant pool.
5820169689Skan
5821169689Skan2006-05-16  DJ Delorie  <dj@redhat.com>
5822169689Skan
5823169689Skan	* crtstuff.c (__dso_handle): Set section from
5824169689Skan	TARGET_LBIGCC_SDATA_SECTION if defined.
5825169689Skan	* doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
5826169689Skan	* config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
5827169689Skan
5828169689Skan2006-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
5829169689Skan
5830169689Skan	PR target/27599
5831169689Skan	* config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
5832169689Skan	host_xmake_file.
5833169689Skan
5834169689Skan2006-05-16  Ben Elliston  <bje@au.ibm.com>
5835169689Skan
5836169689Skan	* tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
5837169689Skan
5838169689Skan2006-05-15  Per Bothner  <per@bothner.com>
5839169689Skan
5840169689Skan	* tree.c: (last_annotated_node): Use source_locus typedef.
5841169689Skan	This permits bootstrapping with --enable-mapped-location.
5842169689Skan
5843169689Skan2006-05-15  Zdenek Dvorak <dvorakz@suse.cz>
5844169689Skan
5845169689Skan	PR tree-optimization/26830
5846169689Skan	* tree-into-ssa.c (struct ssa_name_info): Add age field.
5847169689Skan	(info_for_ssa_name, current_info_for_ssa_name_age,
5848169689Skan	blocks_to_update): New variables.
5849169689Skan	(get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
5850169689Skan	(clear_ssa_name_info, initialize_flags_in_bb,
5851169689Skan	mark_block_for_update): New functions.
5852169689Skan	(mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
5853169689Skan	(insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
5854169689Skan	prepare_def_site_for): Use mark_block_for_update.
5855169689Skan	(mark_def_interesting): Assert that the processed block is marked in
5856169689Skan	blocks_to_update.  Do not take blocks argument.
5857169689Skan	(prepare_use_sites_for, prepare_names_to_update): Do not take blocks
5858169689Skan	argument.
5859169689Skan	(rewrite_update_init_block, rewrite_update_stmt): Only process
5860169689Skan	blocks with statements to rewrite.
5861169689Skan	(delete_update_ssa): Do not clear SSA_NAME_AUX.
5862169689Skan	(update_ssa): Initialize and free blocks_to_update.  Do not
5863169689Skan	clear flags on statements.  Do not use blocks bitmap.
5864169689Skan	* tree.h (SSA_NAME_AUX): Removed.
5865169689Skan	(struct tree_ssa_name): Removed aux field.
5866169689Skan	* print-tree.c (print_node): Do not print SSA_NAME_AUX.
5867169689Skan
5868169689Skan2006-05-15  Richard Guenther  <rguenther@suse.de>
5869169689Skan
5870169689Skan	PR tree-optimization/27603
5871169689Skan	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
5872169689Skan	Do computations in original type.
5873169689Skan
5874169689Skan2006-05-15  Mircea Namolaru  <namolaru@il.ibm.com>
5875169689Skan
5876169689Skan	* see.c: Code style changes such as redundant paranthesis,
5877169689Skan	redundant intialization of local variables etc.
5878169689Skan	(see_main): Declared now as static.
5879169689Skan	* doc/invoke.texi: Update that -fsee is not enabled by
5880169689Skan	default at -O3.
5881169689Skan
5882169689Skan2006-05-15  Jakub Jelinek  <jakub@redhat.com>
5883169689Skan
5884169689Skan	* omp-low.c (check_omp_nesting_restrictions): New function.
5885169689Skan	(scan_omp_1): Call it.
5886169689Skan
5887169689Skan	PR middle-end/27416
5888169689Skan	* omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
5889169689Skan	construct, return *VAR.
5890169689Skan
5891169689Skan2006-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
5892169689Skan
5893169689Skan	PR rtl-optimization/27406
5894169689Skan	* bt-load.c (migrate_btr_def): Skip the block having abnormal
5895169689Skan	edges.
5896169689Skan
5897169689Skan2006-05-14  Roger Sayle  <roger@eyesopen.com>
5898169689Skan
5899169689Skan	PR rtl-optimization/27538
5900169689Skan	* combine.c (expand_compound_operation): Call gen_lowpart
5901169689Skan	before calling simplify_shift_const.
5902169689Skan
5903169689Skan2006-05-14  Roger Sayle  <roger@eyesopen.com>
5904169689Skan
5905169689Skan	PR rtl-optimization/22563
5906169689Skan	* expmed.c (store_fixed_bit_field): When using AND and IOR to store
5907169689Skan	a fixed width bitfield, always force the intermediates into psuedos.
5908169689Skan
5909169689Skan2006-05-14  Bernhard Fischer  <aldot@gcc.gnu.org>
5910169689Skan
5911169689Skan	PR 27501
5912169689Skan	* mkconfig.sh: Use operator = instead of == for test.
5913169689Skan
5914169689Skan2006-05-13  Nick Clifton  <nickc@redhat.com>
5915169689Skan
5916169689Skan	* dwarf2out.c (dbx_reg_number): Check return value from
5917169689Skan	LEAF_REG_REMAP and only use it if it is valid.
5918169689Skan	(multiple_reg_loc_descriptor): Likewise.
5919169689Skan
5920169689Skan2006-05-13  Richard Guenther  <rguenther@suse.de>
5921169689Skan
5922169689Skan	* config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
5923169689Skan	host_xmake_file.
5924169689Skan
5925169689Skan2006-05-13  Steven Bosscher  <stevenb.gcc@gmail.com>
5926169689Skan
5927169689Skan	* df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
5928169689Skan	information attached to non-INSNs such as NOTEs.
5929169689Skan	(df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
5930169689Skan
5931169689Skan2006-05-12  Andreas Krebbel  <krebbel1@de.ibm.com>
5932169689Skan
5933169689Skan	* config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
5934169689Skan	On contraint.
5935169689Skan	* config/s390/s390.md: Adjust comment describing On constraint.
5936169689Skan
5937169689Skan2006-05-11  Jan Hubicka  <jh@suse.cz>
5938169689Skan
5939169689Skan	* cgraphunit.c (decide_is_function_needed): Don't force always_inline
5940169689Skan	to be output at -O0.
5941169689Skan
5942169689Skan2006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5943169689Skan
5944169689Skan	PR middle-end/27384
5945169689Skan	* fold-const.c (size_binop): Move sanity check for arguments to
5946169689Skan	the beginning of the function.
5947169689Skan
5948169689Skan	PR middle-end/27488
5949169689Skan	* fold-const.c (tree_expr_nonnegative_p): Return early on invalid
5950169689Skan	expression.
5951169689Skan
5952169689Skan2006-05-11  Richard Guenther  <rguenther@suse.de>
5953169689Skan
5954169689Skan	PR middle-end/27529
5955169689Skan	* fold-const.c (fold_unary): Handle intermediate conversion
5956169689Skan	to a pointer type like intermediate conversion to an integer
5957169689Skan	type in folding of (T1)(T2)var to var.
5958169689Skan	Match the code to the comment in the final conversion for
5959169689Skan	(T1)(T2)var to (T1)var regarding to type precision.  Rather
5960169689Skan	than disallow T1 being of pointer type, assert that both T1
5961169689Skan	and var are of pointer type or not.  Make sure not to fall
5962169689Skan	over the frontends lazyness wrt array to pointer decay though.
5963169689Skan
5964169689Skan2006-05-10  Richard Earnshaw  <rearnsha@arm.com>
5965169689Skan
5966169689Skan	* arm.c (arm_struct_value_rtx): Delete.
5967169689Skan	(TARGET_STRUCT_VALUE_RTX): Use the default definition.
5968169689Skan	(arm_init_cumulative_args): Always initialize nregs to zero.
5969169689Skan
5970169689Skan2006-05-10  Richard Guenther  <rguenther@suse.de>
5971169689Skan
5972169689Skan	PR tree-optimization/27532
5973169689Skan	* tree-object-size.c (plus_expr_object_size): Fix typo.
5974169689Skan
5975169689Skan2006-05-10  Kazu Hirata  <kazu@codesourcery.com>
5976169689Skan
5977169689Skan	PR target/24949
5978169689Skan	* config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
5979169689Skan	ashrdi_const, ashrdi3): Use a scratch register.
5980169689Skan
5981169689Skan2006-05-10  Richard Guenther  <rguenther@suse.de>
5982169689Skan
5983169689Skan	PR tree-optimization/27302
5984169689Skan	* fold-const.c (operand_equal_p): For two comparisons,
5985169689Skan	try comparison of one comparison code swapped if that yields
5986169689Skan	the same code.
5987169689Skan
5988169689Skan2006-05-10  Ben Elliston  <bje@au.ibm.com>
5989169689Skan
5990169689Skan	* tree-pretty-print.c (pretty_print_string): No need to handle
5991169689Skan	'\0' as a special character.
5992169689Skan
5993169689Skan	* tree.h: Include "hashtab.h".
5994169689Skan	(iterative_hash_expr): Use hashval_t in its prototype.
5995169689Skan	* Makefile.in (TREE_H): Add $(HASHTAB_H).
5996169689Skan
5997169689Skan2006-05-09  Steve Ellcey  <sje@cup.hp.com>
5998169689Skan
5999169689Skan	PR bootstrap/26872
6000169689Skan	* config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
6001169689Skan	(hppa*64*-*-hpux11*): Ditto.
6002169689Skan	(hppa[12]*-*-hpux11*): Ditto.
6003169689Skan
6004169689Skan2006-05-09  David Edelsohn  <edelsohn@gnu.org>
6005169689Skan
6006169689Skan	PR target/26545
6007169689Skan	* config/rs6000/aix41.h (TARGET_64BIT): Define.
6008169689Skan
6009169689Skan2006-05-09  Michael Matz  <matz@suse.de>
6010169689Skan
6011169689Skan	* config.host (<i[34567]86-*-*, x86_64-*-*>): Set
6012169689Skan	host_extra_gcc_objs and host_xmake_file.
6013169689Skan	(<*-*-linux*>): Don't overwrite host_xmake_file.
6014169689Skan	* gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
6015169689Skan	* config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
6016169689Skan	(host_detect_local_cpu): Declare.
6017169689Skan	(CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
6018169689Skan	* config/i386/i386.c (override_options): Handle -mtune=native
6019169689Skan	as -mtune=generic.
6020169689Skan	* config/i386/x-i386: New file.
6021169689Skan	* config/i386/driver-i386.c: New file.
6022169689Skan	* doc/invoke.texi (<i386 and x86-64 Options>): Describe
6023169689Skan	cpu-type "native".
6024169689Skan
6025169689Skan2006-05-09  Dirk Mueller  <dmueller@suse.de>
6026169689Skan	Richard Guenther  <rguenther@suse.de>
6027169689Skan
6028169689Skan	PR middle-end/27498
6029169689Skan	* fold-const.c (fold_read_from_constant_string): Relax check
6030169689Skan	for matching types to matching modes.
6031169689Skan
6032169689Skan2006-05-09  Zdenek Dvorak <dvorakz@suse.cz>
6033169689Skan
6034169689Skan	PR rtl-optimization/27335
6035169689Skan	* loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
6036169689Skan	loops.
6037169689Skan
6038169689Skan2006-05-08  Chao-ying Fu  <fu@mips.com>
6039169689Skan	    Richard Sandiford  <richard@codesourcery.com>
6040169689Skan
6041169689Skan	* config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
6042169689Skan	(vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
6043169689Skan	* config/mips/mips.md (UNSPEC_SCC): New constant.
6044169689Skan	* config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
6045169689Skan	* config/mips/mips.c (mips_reverse_fp_cond_p): New function.
6046169689Skan	(mips_emit_compare): Use it.
6047169689Skan	(mips_expand_vcondv2sf): New function.
6048169689Skan
6049169689Skan2006-05-08  Daniel Berlin  <dberlin@dberlin.org>
6050169689Skan
6051169689Skan	Fix PR tree-optimization/27093
6052169689Skan	* tree-ssa-alias.c (recalculate_used_alone): Mark variables for
6053169689Skan	renaming when they become not-used_alone.
6054169689Skan
6055169689Skan2006-05-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6056169689Skan
6057169689Skan	* hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
6058169689Skan	relocation and relocation stubs.
6059169689Skan
6060169689Skan2006-05-08  Eric Christopher  <echristo@apple.com>
6061169689Skan
6062169689Skan	* unwind-dw2-fde-darwin.c (examine_objects): Only check data
6063169689Skan	section for ppc.
6064169689Skan
6065169689Skan2006-05-08  Jan Hubicka  <jh@suse.cz>
6066169689Skan
6067169689Skan	PR middle-end/24561
6068169689Skan	* cgraphunit.c (decide_is_function_needed): When not optimizing even
6069169689Skan	unused static functions are needed.
6070169689Skan
6071169689Skan2006-05-08  Roger Sayle  <roger@eyesopen.com>
6072169689Skan
6073169689Skan	PR target/27158
6074169689Skan	* reload.c (find_reloads_toplev): Only return the simplified SUBREG
6075169689Skan	of a reg_equiv_constant if the result is a legitimate constant.
6076169689Skan
6077169689Skan2006-05-08  Uros Bizjak  <uros@kss-loka.si>
6078169689Skan
6079169689Skan	PR target/27277
6080169689Skan	* config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
6081169689Skan	standard 80387 constants, raise the cost to prevent
6082169689Skan	compress_float_constant() to generate load from memory.
6083169689Skan
6084169689Skan2006-05-08  Kazu Hirata  <kazu@codesourcery.com>
6085169689Skan
6086169689Skan	* config/arm/constraints.md (c): Fix a typo.
6087169689Skan
6088169689Skan	* see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
6089169689Skan	typos.
6090169689Skan
6091169689Skan2006-05-07  H.J. Lu  <hongjiu.lu@intel.com>
6092169689Skan
6093169689Skan	PR target/24879
6094169689Skan	* config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
6095169689Skan	inline function.
6096169689Skan	(_mm_mwait): Likewise.
6097169689Skan
6098169689Skan	* config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
6099169689Skan	"mwait".
6100169689Skan	(sse3_monitor): Make it 32bit only.
6101169689Skan	(sse3_monitor64): New. 64bit monitor.
6102169689Skan
6103169689Skan2006-05-07  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6104169689Skan
6105169689Skan	PR target/27421
6106169689Skan	* config/i386/i386.c (classify_argument): Skip fields with invalid
6107169689Skan	types.
6108169689Skan
6109169689Skan2006-05-07  Richard Guenther  <rguenther@suse.de>
6110169689Skan
6111169689Skan	PR tree-optimization/27409
6112169689Skan	* tree-ssa-structalias.c (get_constraint_for_component_ref):
6113169689Skan	Do not try to find zero-sized subvars.
6114169689Skan
6115169689Skan2006-05-07  Richard Guenther  <rguenther@suse.de>
6116169689Skan
6117169689Skan	PR tree-optimization/27136
6118169689Skan	* tree-ssa-loop-niter.c (get_val_for): Correct function
6119169689Skan	comment, assert requirements.
6120169689Skan	(loop_niter_by_eval): Stop processing if the iterated
6121169689Skan	value did not simplify.
6122169689Skan
6123169689Skan2006-05-07  Mircea Namolaru  <namolaru@il.ibm.com>
6124169689Skan
6125169689Skan	* opts.c (flag_see): remove its setting at -O3.
6126169689Skan
6127169689Skan2006-05-07  Richard Earnshaw  <rearnsha@arm.com>
6128169689Skan
6129169689Skan	* genpeep.c (main): Make insn-peep.c depend on flags.h.
6130169689Skan	* arm/constraints.md: New file.
6131169689Skan	* arm.h (REG_CLASS_FROM_LETTER_P): Delete.
6132169689Skan	(CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
6133169689Skan	(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
6134169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
6135169689Skan	(CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
6136169689Skan	(EXTRA_MEMORY_CONSTRAINT): Likewise.
6137169689Skan	* arm.md: Include constraints.md.
6138169689Skan	(thumb_movsi_insn): Use satisfies_constraint_J.
6139169689Skan	(movhi, movqi): Use satisfies_constraint_I.
6140169689Skan
6141169689Skan2006-04-29 Anatoly Sokolov <aesok@post.ru>
6142169689Skan
6143169689Skan	* config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
6144169689Skan	for atmeg a645 device.
6145169689Skan
6146169689Skan2006-05-06   Richard Guenther  <rguenther@suse.de>
6147169689Skan
6148169689Skan	PR tree-optimization/27151
6149169689Skan	* tree-vect-transform.c (vectorizable_condition): Punt on
6150169689Skan	values that have a different type than the condition.
6151169689Skan
6152169689Skan2006-05-03  Aldy Hernandez  <aldyh@redhat.com>
6153169689Skan
6154169689Skan	PR/21391
6155169689Skan	* c-parser.c (c_parser_cast_expression): Only insert casts into
6156169689Skan	hash table if pointer.
6157169689Skan	* function.c (used_types_insert_helper): Rename from
6158169689Skan	used_types_insert.
6159169689Skan	(used_types_insert): Call used_types_insert_helper.
6160169689Skan	* function.h (used_types_insert): Accept only one argument.
6161169689Skan
6162169689Skan2006-05-05  David Edelsohn  <edesohn@gnu.org>
6163169689Skan
6164169689Skan	* config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
6165169689Skan	scratch with output modifier.
6166169689Skan
6167169689Skan2006-05-04  David Edelsohn  <edelsohn@gnu.org>
6168169689Skan
6169169689Skan	PR target/26481
6170169689Skan	* config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
6171169689Skan	with output modifier.
6172169689Skan
6173169689Skan2006-05-04  Richard Sandiford  <richard@codesourcery.com>
6174169689Skan
6175169689Skan	PR target/26765
6176169689Skan	* config/mips/mips.c (mips_symbolic_address_p): Return true
6177169689Skan	for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
6178169689Skan	SYMBOL_GOTTPREL, and SYMBOL_TLS.
6179169689Skan
6180169689Skan2006-05-04  Richard Guenther  <rguenther@suse.de>
6181169689Skan
6182169689Skan	PR tree-optimization/14287
6183169689Skan	PR tree-optimization/14844
6184169689Skan	PR tree-optimization/19792
6185169689Skan	PR tree-optimization/21608
6186169689Skan	PR tree-optimization/27090
6187169689Skan	* tree-ssa-pre.c (try_combine_conversion): New function.
6188169689Skan	(compute_avail): After constructing the value-handle
6189169689Skan	expression, use try_combine_conversion to combine NOP_EXPRs
6190169689Skan	with previous value-handle expressions and use the result if it
6191169689Skan	is available.
6192169689Skan
6193169689Skan2006-05-04  Joseph S. Myers  <joseph@codesourcery.com>
6194169689Skan
6195169689Skan	* config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
6196169689Skan
6197169689Skan2006-05-04  Jan Hubicka  <jh@suse.cz>
6198169689Skan
6199169689Skan	PR middle-end/25962
6200169689Skan	* cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
6201169689Skan
6202169689Skan2006-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
6203169689Skan
6204169689Skan	* config/bfin/predicates.md (const01_rtx): Tell generator programs
6205169689Skan	that this only matches CONST_INTs.  All users changed to VOIDmode
6206169689Skan	operands.
6207169689Skan
6208169689Skan	* config/bfin/bfin.c: Include "optabs.h".
6209169689Skan	(bfin_rtx_costs): Some costs for vector operations, to allow combine
6210169689Skan	to do more work.
6211169689Skan	(enum bfin_builtins): Add a number of fractional and vector builtins.
6212169689Skan	(bfin_init_builtins): Likewise.
6213169689Skan	(struct builtin_description, bdesc_2arg, bdesc_1arg): New.
6214169689Skan	(safe_vector_operand, bfin_expand_binop_builtin,
6215169689Skan	bfin_expand_unop_builtin): New functions.
6216169689Skan	(bfin_expand_builtin): Handle the new builtins.
6217169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
6218169689Skan	__ADSPBLACKFIN__.
6219169689Skan
6220169689Skan2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
6221169689Skan
6222169689Skan	* see.c: New file.
6223169689Skan	* Makefile.in (OBJS-common): Add see.o.
6224169689Skan	(see.o): Add dependencies.
6225169689Skan	* common.opt (fsee): New flag for the see optimization was added.
6226169689Skan	* opts.c (flag_see): Initialized.
6227169689Skan	* passes.c (init_optimization_passes, pass_see): New pass.
6228169689Skan	* rtl.h (see_main): Declaration as extern.
6229169689Skan	* timevar.def (TV_SEE): New.
6230169689Skan	* tree-pass.h (pass_see): Declaration as extern.
6231169689Skan	* invoke.texi (-fsee): Document.
6232169689Skan	* recog.c (validate_simplify_insn): New function.
6233169689Skan	* recog.h (validate_simplify_insn): Declaration as extern.
6234169689Skan	* df-problems.c (df_chain_dump): Check for NULL.
6235169689Skan
6236169689Skan2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
6237169689Skan	    Daniel Berlin  <dberlin@dberlin.org>
6238169689Skan
6239169689Skan	* cfgrtl.c (insert_insn_bb_end_new): New function.
6240169689Skan	* basic-block.h (insert_insn_bb_end_new): Declaration as extern.
6241169689Skan
6242169689Skan2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
6243169689Skan
6244169689Skan	* df.h (struct web_entry): Moved from web.c.
6245169689Skan	(union_defs): Declaration as extern.
6246169689Skan	(unionfind_root): Likewise.
6247169689Skan	(unionfind_union): Likewise.
6248169689Skan	* web.c (struct web_entry): Moved to df.h.
6249169689Skan	(unionfind_root): Remove static declaration.
6250169689Skan	(unionfind_union): Likewise.
6251169689Skan	(union_defs): Likewise and generalize to use callback function.
6252169689Skan	(web_main): Update arguments for union_defs function call.
6253169689Skan
6254169689Skan2006-05-04  Richard Guenther  <rguenther@suse.de>
6255169689Skan
6256169689Skan	PR tree-optimization/26447
6257169689Skan	* tree-ssa-pre.c (realify_fake_stores): For necessary loads
6258169689Skan	produce SSA_NAME copies before the store stmt to avoid
6259169689Skan	breaking exception handling.
6260169689Skan
6261169689Skan2006-05-04  Jakub Jelinek  <jakub@redhat.com>
6262169689Skan
6263169689Skan	PR middle-end/27388
6264169689Skan	* gimplify.c (omp_is_private): If var is shared in some outer context,
6265169689Skan	return false instead of true.  Stop searching on parallel context
6266169689Skan	boundary.
6267169689Skan
6268169689Skan2006-05-03  Alexandre Oliva  <aoliva@redhat.com>
6269169689Skan
6270169689Skan	PR java/8260
6271169689Skan	* coverage.c: Use get_gcov_unsigned_t() instead of
6272169689Skan	unsigned_type_node all over.
6273169689Skan
6274169689Skan2006-05-02  Andrew MacLeod  <amacleod@redhat.com>
6275169689Skan
6276169689Skan	PR tree-optimization/27381
6277169689Skan	* tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
6278169689Skan	maintain the same immediate_use links.
6279169689Skan	* tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
6280169689Skan	node rather than segfaulting.
6281169689Skan
6282169689Skan2006-05-03  Jakub Jelinek  <jakub@redhat.com>
6283169689Skan
6284169689Skan	PR fortran/27395
6285169689Skan	* gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
6286169689Skan	rather than TREE_CODE to OMP_CLAUSE_REDUCTION.  Set also GOVD_SEEN
6287169689Skan	bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
6288169689Skan
6289169689Skan2006-05-02  Daniel Berlin  <dberlin@dberlin.org>
6290169689Skan
6291169689Skan	Fix PR tree-optimization/26626
6292169689Skan	* tree-ssa-structalias.c (compute_points_to_sets): For now, solve
6293169689Skan	always.
6294169689Skan	* tree-ssa-operands.c (access_can_touch_variable): Allow
6295169689Skan	typecasting through union pointers.
6296169689Skan
6297169689Skan2006-05-02  Jakub Jelinek  <jakub@redhat.com>
6298169689Skan
6299169689Skan	PR c++/26943
6300169689Skan	* omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
6301169689Skan	(build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
6302169689Skan	to find if var will be a global variable even in the nested context.
6303169689Skan	(omp_copy_decl): Only check for global variable at the end, it might
6304169689Skan	be overridden in outer contexts.
6305169689Skan	(scan_sharing_clauses): For global variables don't create a field.
6306169689Skan	(lower_rec_input_clauses): Do nothing for global shared variables.
6307169689Skan	Emit a barrier at the end of ILIST if there were any decls in both
6308169689Skan	firstprivate and lastprivate clauses.
6309169689Skan	(lower_send_clauses): Do nothing for global variables except for
6310169689Skan	COPYIN.
6311169689Skan
6312169689Skan2006-05-02  Zdenek Dvorak <dvorakz@suse.cz>
6313169689Skan
6314169689Skan	* tree.c (unsigned_type_for, signed_type_for): Make sure a type
6315169689Skan	of the correct signedness is returned.
6316169689Skan
6317169689Skan2006-05-02  Jeff Law  <law@redhat.com>
6318169689Skan
6319169689Skan	PR tree-optimization/27364
6320169689Skan	* tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
6321169689Skan	multiply expressions.
6322169689Skan
6323169689Skan2006-05-02  Tom Tromey  <tromey@redhat.com>
6324169689Skan
6325169689Skan	* tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
6326169689Skan
6327169689Skan2006-05-02  Kazu Hirata  <kazu@codesourcery.com>
6328169689Skan
6329169689Skan	PR target/27387
6330169689Skan	* arm.c (arm_output_mi_thunk): Use pc-relative addressing when
6331169689Skan	-mthumb -fPIC are used.
6332169689Skan
6333169689Skan2006-05-02  Stanislaw Skowronek  <skylark@linux-mips.org>
6334169689Skan	    Joshua Kinard  <kumba@gentoo.org>
6335169689Skan
6336169689Skan	PR target/25871
6337169689Skan	* config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
6338169689Skan	with 64-bit pointers.
6339169689Skan
6340169689Skan2006-05-02  Paul Brook  <paul@codesourcery.com>
6341169689Skan
6342169689Skan	* config/arm/arm.c (add_minipool_forward_ref): Check if insn
6343169689Skan	and pool overlap.
6344169689Skan	(create_fix_barrier): Check that a suitable barrier location is
6345169689Skan	found.
6346169689Skan	(arm_reorg): Include ftmp->address in allowable range of addresses.
6347169689Skan
6348169689Skan2006-05-02  David Billinghurst <David.Billinghurst@riotinto.com>
6349169689Skan
6350169689Skan	PR ada/27366
6351169689Skan	* ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
6352169689Skan	on Cygwin.
6353169689Skan
6354169689Skan2006-05-02  Jakub Jelinek  <jakub@redhat.com>
6355169689Skan
6356169689Skan	PR middle-end/27337
6357169689Skan	* gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
6358169689Skan	around RESULT_DECL for result passed by reference.
6359169689Skan	(gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
6360169689Skan	* omp-low.c (use_pointer_for_field): Don't look at
6361169689Skan	DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
6362169689Skan	(scan_omp_1): Call remap_decl on RESULT_DECLs.
6363169689Skan	(lower_rec_input_clauses): Don't allocate VLA memory for the second
6364169689Skan	time or var for passing by reference for
6365169689Skan	OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses.  Allow creation of
6366169689Skan	TREE_ADDRESSABLE variables when passing by reference.
6367169689Skan
6368169689Skan	* omp-low.c (dump_omp_region): Fix output formatting.
6369169689Skan
6370169689Skan	PR middle-end/27328
6371169689Skan	* omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
6372169689Skan	(expand_omp_parallel): Likewise.
6373169689Skan	* tree-cfg.c (move_sese_region_to_fn): Likewise.
6374169689Skan
6375169689Skan	PR middle-end/27325
6376169689Skan	* omp-low.c (lower_omp_sections): Call maybe_catch_exception
6377169689Skan	on statement list containing also constructors and destructors.
6378169689Skan	(lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
6379169689Skan
6380169689Skan	PR middle-end/27310
6381169689Skan	* except.c (duplicate_eh_regions): Fix clearing of
6382169689Skan	cfun->eh->region_array entries.
6383169689Skan
6384169689Skan2006-05-01  DJ Delorie  <dj@redhat.com>
6385169689Skan
6386169689Skan	* configure.ac (gcc_cv_nm): Don't use an in-tree nm if
6387169689Skan	build!=host.
6388169689Skan	(gcc_cv_objdump): Likewise.
6389169689Skan	* configure: Regenerated.
6390169689Skan
6391169689Skan2006-05-01  Kazu Hirata  <kazu@codesourcery.com>
6392169689Skan
6393169689Skan	PR target/27374
6394169689Skan	* config/arm/vfp.md (*arm_movdi_vfp): Correct the output
6395169689Skan	templates for case 3 and 4.
6396169689Skan
6397169689Skan2006-05-01  DJ Delorie  <dj@redhat.com>
6398169689Skan
6399169689Skan	* vec.c: Include bconfig.h when appropriate.
6400169689Skan	* Makefile.in (build/vec.o): Adjust dependencies.
6401169689Skan	* mkconfig.sh: Make sure config.h isn't used for build machine
6402169689Skan	compiles.
6403169689Skan
6404169689Skan2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
6405169689Skan
6406169689Skan	* tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
6407169689Skan	variables.
6408169689Skan	(mark_phi_for_rewrite): New function.
6409169689Skan	(insert_phi_nodes_for, mark_use_interesting): Call
6410169689Skan	mark_phi_for_rewrite.
6411169689Skan	(rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
6412169689Skan	(update_ssa): Initialize and free phis_to_rewrite.
6413169689Skan
6414169689Skan2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
6415169689Skan
6416169689Skan	PR rtl-optimization/27291
6417169689Skan	* loop-doloop.c (add_test, doloop_modify): Handle the case condition is
6418169689Skan	folded to a constant.
6419169689Skan
6420169689Skan2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
6421169689Skan
6422169689Skan	PR tree-optimization/27283
6423169689Skan	* tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
6424169689Skan	not whole # of iteration descriptions.
6425169689Skan	(niter_for_exit): Return just # of iterations.  Fail if # of iterations
6426169689Skan	uses abnormal ssa name.
6427169689Skan	(niter_for_single_dom_exit): Ditto.
6428169689Skan	(find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
6429169689Skan	return just the number of iterations.
6430169689Skan
6431169689Skan2006-05-01  Zdenek Dvorak <dvorakz@suse.cz>
6432169689Skan
6433169689Skan	PR tree-optimization/27144
6434169689Skan	* tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
6435169689Skan	(record_estimate): Only record constant upper bound.
6436169689Skan	(infer_loop_bounds_from_undefined): Call
6437169689Skan	compute_estimated_nb_iterations just once.
6438169689Skan	(proved_non_wrapping_p): Renamed to ...
6439169689Skan	(n_of_executions_at_most): ... this.  Expect bound to be a constant.
6440169689Skan	(convert_step_widening, scev_probably_wraps_p): Call
6441169689Skan	n_of_executions_at_most instead of proved_non_wrapping_p.
6442169689Skan	(substitute_in_loop_info): Do not replace values in bounds.
6443169689Skan	* cfgloop.h (struct nb_iter_bound): Remove "additional" field.  Update
6444169689Skan	comments.
6445169689Skan
6446169689Skan2006-05-01  Richard Henderson  <rth@redhat.com>
6447169689Skan
6448169689Skan	PR c/27358
6449169689Skan	* c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
6450169689Skan	c_parser_skip_to_pragma_eol.  Convert to switch statement.  Handle
6451169689Skan	CPP_PRAGMA.
6452169689Skan
6453169689Skan2006-05-01  Roger Sayle  <roger@eyesopen.com>
6454169689Skan
6455169689Skan	* c-typeck.c (parser_build_binary_op): Don't call the function
6456169689Skan	unsigned_conversion_warning to spot operand/result type overflow.
6457169689Skan	(build_binary_op): Instead, call convert_and_check instead of
6458169689Skan	convert to report the problem when the operands are promoted.
6459169689Skan	* c-common.c (unsigned_conversion_warning): Make static.
6460169689Skan	* c-common.h (unsigned_conversion_warning): Delete prototype.
6461169689Skan
6462169689Skan2006-05-01  Richard Guenther  <rguenther@suse.de>
6463169689Skan
6464169689Skan	PR tree-optimization/26726
6465169689Skan	* tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
6466169689Skan	problem ...
6467169689Skan	(find_interesting_uses_address): ... we work around here
6468169689Skan	by folding INDIRECT_REFs in the substituted base.
6469169689Skan
6470169689Skan2006-05-01  Diego Novillo  <dnovillo@redhat.com>
6471169689Skan
6472169689Skan	* omp-low.c (dump_omp_region): Add newlines.
6473169689Skan
6474169689Skan2006-04-30  Roger Sayle  <roger@eyesopen.com>
6475169689Skan
6476169689Skan	* common.opt (Woverflow): New command line option.
6477169689Skan	* c-common.c (constant_expression_warning): Check warn_overflow.
6478169689Skan	(overflow_waring): Pass OPT_Woverflow to warning.
6479169689Skan	(unsigned_conversion_warning): Likewise.
6480169689Skan	(convert_and_check): Likewise.
6481169689Skan	* doc/invoke.texi: Document new command line option.
6482169689Skan
6483169689Skan2006-04-30  David Edelsohn  <edelsohn@gnu.org>
6484169689Skan
6485169689Skan	* config/rs6000/rs6000.c (rs6000_override_options): Enable
6486169689Skan	TARGET_NO_FP_IN_TOC for section anchors.
6487169689Skan	(optimization_options): Enable section anchors for all
6488169689Skan	non-"Objective" languages.
6489169689Skan
6490169689Skan2006-04-28  Eric Christopher  <echristo@apple.com>
6491169689Skan
6492169689Skan	* config/darwin-c.c (darwin_ms_struct): Move this
6493169689Skan	(darwin_set_default_type_attributes): and this...
6494169689Skan	* config/darwin.c: ... here.
6495169689Skan	* config/darwin.h (darwin_ms_struct): Declare.
6496169689Skan
6497169689Skan2006-04-28  Andrew MacLeod  <amacleod@redhat.com>
6498169689Skan
6499169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
6500169689Skan
6501169689Skan2006-04-28  Roger Sayle  <roger@eyesopen.com>
6502169689Skan
6503169689Skan	PR c/25309
6504169689Skan	* c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
6505169689Skan	(push_array_bounds): Delete prototype.  Change BOUNDS argument to
6506169689Skan	an unsigned HOST_WIDE_INT.
6507169689Skan	(print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
6508169689Skan	array index.
6509169689Skan	(really_start_incremental_init): No need to call convert because
6510169689Skan	bitsize_zero_node is already of type bitsizetype.
6511169689Skan	(push_init_level): Extract the value of constructor_index as an
6512169689Skan	unsigned HOST_WIDE_INT quantity, using tree_low_cst.
6513169689Skan	(process_init_element): Likewise.
6514169689Skan
6515169689Skan2006-04-28  Joseph S. Myers  <joseph@codesourcery.com>
6516169689Skan
6517169689Skan	* gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
6518169689Skan	value before passing to make_relative_prefix.
6519169689Skan
6520169689Skan2006-04-28  Alan Modra  <amodra@bigpond.net.au>
6521169689Skan
6522169689Skan	PR middle-end/27260
6523169689Skan	* builtins.c (expand_builtin_memset): Expand val in original mode.
6524169689Skan
6525169689Skan2006-04-27  Eric Christopher  <echristo@apple.com>
6526169689Skan
6527169689Skan	* target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
6528169689Skan	with #ifndef/#endif.
6529169689Skan	* config/darwin-c.c (darwin_ms_struct): New.
6530169689Skan	(darwin_pragma_ms_struct): Ditto.
6531169689Skan	(darwin_set_default_type_attributes): Ditto.
6532169689Skan	* config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
6533169689Skan	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
6534169689Skan	Register ms_struct pragma.
6535169689Skan	* config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
6536169689Skan	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
6537169689Skan	* config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
6538169689Skan	darwin_set_default_type_attributes if TARGET_MACHO.
6539169689Skan
6540169689Skan2006-04-27  Andrew MacLeod  <amacleod@redhat.com>
6541169689Skan
6542169689Skan	PR tree-optimization/26854
6543169689Skan	* tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
6544169689Skan	* doc/tree-ssa.texi: Update immuse iterator documentation.
6545169689Skan	* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
6546169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
6547169689Skan	* tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
6548169689Skan	first_safe_imm_use, next_safe_imm_use): Remove.
6549169689Skan	(end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
6550169689Skan	(end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
6551169689Skan	(move_use_after_head): New.  Helper function to sort immuses in a stmt.
6552169689Skan	(link_use_stmts_after): New.  Link all immuses in a stmt consescutively.
6553169689Skan	(first_imm_use_stmt): New.  Get first stmt in an immuse list.
6554169689Skan	(next_imm_use_stmt): New.  Get next stmt in an immuse list.
6555169689Skan	(first_imm_use_on_stmt): New.  Get first immuse on a stmt.
6556169689Skan	(end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
6557169689Skan	(next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
6558169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
6559169689Skan	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
6560169689Skan	(perfect_nestify): Use new iterator.
6561169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
6562169689Skan	iterator.
6563169689Skan	* tree-flow.h (struct immediate_use_iterator_d): Add comments.
6564169689Skan	(next_imm_name): New field in struct immediate_use_iterator_d.
6565169689Skan	(FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
6566169689Skan	(FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
6567169689Skan	FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
6568169689Skan	* tree-cfg.c (replace_uses_by): Use new iterator.
6569169689Skan	* tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
6570169689Skan	* tree-ssa-operands.c (correct_use_link): Remove.
6571169689Skan	(finalize_ssa_use_ops): No longer call correct_use_link.
6572169689Skan
6573169689Skan2006-04-27  Stuart Hastings  <stuart@apple.com>
6574169689Skan
6575169689Skan	* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
6576169689Skan	* config/t-darwin (crt3.o): Use it.
6577169689Skan	* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
6578169689Skan	'pmode', use Pmode instead of SImode for SYMBOL_REF.
6579169689Skan	* config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
6580169689Skan	call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
6581169689Skan	call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
6582169689Skan	support.
6583169689Skan
6584169689Skan2006-04-27  Roger Sayle  <roger@eyesopen.com>
6585169689Skan
6586169689Skan	* expmed.c (store_fixed_bit_field): If we're not optimizing for
6587169689Skan	size, force the intermediate into a new pseudo rather instead of
6588169689Skan	performing both a bitwise AND and a bitwise IOR in memory.
6589169689Skan
6590169689Skan2006-04-27  Richard Guenther  <rguenther@suse.de>
6591169689Skan
6592169689Skan	PR rtl-optimization/26685
6593169689Skan	* params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
6594169689Skan	this one "max-flow-memory-locations".
6595169689Skan
6596169689Skan2006-04-27  Richard Guenther  <rguenther@suse.de>
6597169689Skan
6598169689Skan	PR tree-optimization/25148
6599169689Skan	* tree-vrp.c (compare_values): Remove code dealing with
6600169689Skan	comparisons against type min/max value.  Honour overflow
6601169689Skan	and negative constants in code dealing with comparisons
6602169689Skan	of plus and minus expressions.
6603169689Skan	(value_inside_range): Use fold_binary with LE_EXPR and
6604169689Skan	GE_EXPR rather than compare_values.
6605169689Skan
6606169689Skan2006-04-27  Dirk Mueller  <dmueller@suse.de>
6607169689Skan
6608169689Skan	* config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
6609169689Skan	prototype for SSE.
6610169689Skan
6611169689Skan2006-04-26  Kenneth Zadeck <zadeck@naturalbridge.com>
6612169689Skan
6613169689Skan	* basic-block.h (safe_insert_insn_on_edge): Removed.
6614169689Skan	* cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
6615169689Skan
6616169689Skan2006-04-26  David Edelsohn  <edelsohn@gnu.org>
6617169689Skan	    Paolo Bonzini  <bonzini@gnu.org>
6618169689Skan
6619169689Skan	PR middle-end/27282
6620169689Skan	* combine.c (simplify_and_const_int_1): Use gen_int_mode.
6621169689Skan	(simplify_and_const_int): Same.
6622169689Skan
6623169689Skan2006-04-26  Aldy Hernandez  <aldyh@redhat.com>
6624169689Skan
6625169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
6626169689Skan
6627169689Skan2006-04-26  Jakub Jelinek  <jakub@redhat.com>
6628169689Skan
6629169689Skan	PR c/26171
6630169689Skan	* cgraph.c (cgraph_varpool_finalize_decl): Don't call
6631169689Skan	cgraph_varpool_assemble_pending_decls if -fopenmp, unless
6632169689Skan	cgraph_global_info_ready.
6633169689Skan
6634169689Skan	PR middle-end/26913
6635169689Skan	* tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
6636169689Skan
6637169689Skan	PR c/25996
6638169689Skan	* c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
6639169689Skan	either decl or init is error_mark_node.
6640169689Skan
6641169689Skan	PR middle-end/25989
6642169689Skan	* tree-flow.h (struct omp_region): Add sched_kind.
6643169689Skan	* omp-low.c (expand_parallel_call): Use region->inner->sched_kind
6644169689Skan	instead of extracting omp for data.
6645169689Skan	(expand_omp_for): Save extracted sched_kind.
6646169689Skan
6647169689Skan2006-04-25  Roger Sayle  <roger@eyesopen.com>
6648169689Skan
6649169689Skan	* expmed.c (store_bit_field): Also check whether the bitsize is
6650169689Skan	valid for the machine's "insv" instruction before moving the
6651169689Skan	target into a pseudo for use with the insv.
6652169689Skan	* config/i386/predicates.md (const8_operand): New predicate.
6653169689Skan	* config/i386/i386.md (extv, extzv, insv): Use the new
6654169689Skan	const8_operand predicate where appropriate.
6655169689Skan
6656169689Skan2006-04-25  DJ Delorie  <dj@redhat.com>
6657169689Skan
6658169689Skan	* doc/install.texi (Specific): Clarify that this is not a list of
6659169689Skan	supported hosts or targets.
6660169689Skan
6661169689Skan2006-04-25  Richard Sandiford  <richard@codesourcery.com>
6662169689Skan
6663169689Skan	PR rtl-optimization/26725
6664169689Skan	* cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
6665169689Skan	block's BB_DIRTY flag.
6666169689Skan
6667169689Skan2006-04-25  Geoffrey Keating  <geoffk@apple.com>
6668169689Skan
6669169689Skan	* dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
6670169689Skan	are no branches.
6671169689Skan
6672169689Skan	* dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
6673169689Skan	to print an integer.
6674169689Skan
6675169689Skan2006-04-25  David Edelsohn  <edelsohn@gnu.org>
6676169689Skan
6677169689Skan	* varasm.c (align_variable): New function.
6678169689Skan	(get_block_for_decl): Apply align_variable to DECL before
6679169689Skan	calculating section information.
6680169689Skan	(assemble_variable): Split out alignment computation.
6681169689Skan
6682169689Skan2006-04-25  Andreas Krebbel  <krebbel1@de.ibm.com>
6683169689Skan
6684169689Skan	* expmed.c (store_bit_field): Handle paradoxical subregs on big endian
6685169689Skan	machines.
6686169689Skan
6687169689Skan2006-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
6688169689Skan
6689169689Skan	* genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
6690169689Skan	MODE_PARTIAL_INT mode.
6691169689Skan	* config/bfin/bfin-modes.def: Add V2PDI and V2SI.
6692169689Skan	* config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
6693169689Skan	for CONST_INTs.
6694169689Skan	(hard_regno_mode_ok): V2PDImode is ok for accumulators.
6695169689Skan	* config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
6696169689Skan	V2PDImode.
6697169689Skan	* config/bfin/predicates.md (const01_operand, vec_shift_operand):
6698169689Skan	New predicates.
6699169689Skan	* config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
6700169689Skan	New constants.
6701169689Skan	(MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
6702169689Skan	MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
6703169689Skan	MACFLAG_IH): Likewise.
6704169689Skan	(movstricthi_1): Renamed from "*movstricthi".
6705169689Skan	(load_accumulator, load_accumulator_pair, movsi_insv, insv,
6706169689Skan	ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
6707169689Skan	abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
6708169689Skan	movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
6709169689Skan	movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
6710169689Skan	movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
6711169689Skan	addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
6712169689Skan	sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
6713169689Skan	addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
6714169689Skan	mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
6715169689Skan	ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
6716169689Skan	flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
6717169689Skan	flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
6718169689Skan	flag_macv2hi_parts, flag_macv2hi_parts_acconly,
6719169689Skan	flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
6720169689Skan
6721169689Skan	* doc/rtl.texi (ss_ashift): Improve wording.
6722169689Skan
6723169689Skan2006-04-24  Geoffrey Keating  <geoffk@apple.com>
6724169689Skan
6725169689Skan	* dwarf2out.c (verify_marks_clear): New.
6726169689Skan	(prune_unused_types): Call verify_marks_clear initially, not
6727169689Skan	prune_unmark_dies.
6728169689Skan
6729169689Skan2006-04-24  Bernd Schmidt  <bernd.schmidt@analog.com>
6730169689Skan
6731169689Skan	* rtl.def (SS_ASHIFT, SS_NEG): New codes.
6732169689Skan	* doc/rtl.texi: Document them.
6733169689Skan	* simplify-rtx.c (simplify_unary_operation,
6734169689Skan	simplify_binary_operation_1): Don't abort when we see them.
6735169689Skan
6736169689Skan2006-04-24  Mark Mitchell  <mark@codesourcery.com>
6737169689Skan
6738169689Skan	Revert:
6739169689Skan	2006-04-23  Mark Mitchell  <mark@codesourcery.com>
6740169689Skan	* configure.ac: Completely disregard languages that are not
6741169689Skan	enabled.
6742169689Skan	* configure: Regenerated.
6743169689Skan
6744169689Skan2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
6745169689Skan	Richard Guenther  <rguenther@suse.de>
6746169689Skan
6747169689Skan	PR tree-optimization/27236
6748169689Skan	* tree-inline.c (copy_body_r): Make sure to copy
6749169689Skan	TREE_THIS_VOLATILE flag.
6750169689Skan
6751169689Skan2006-04-24  Richard Guenther  <rguenther@suse.de>
6752169689Skan
6753169689Skan	PR middle-end/26869
6754169689Skan	* tree-complex.c (update_parameter_components): Don't handle
6755169689Skan	unused parameters which have no default def.
6756169689Skan
6757169689Skan2006-04-24  Andrew Pinski  <pinskia@gcc.gnu.org>
6758169689Skan	Richard Guenther  <rguenther@suse.de>
6759169689Skan
6760169689Skan	PR tree-optimization/27218
6761169689Skan	* tree-inline.c (expand_call_inline): Strip useless type
6762169689Skan	conversions for the return slot address.
6763169689Skan
6764169689Skan2006-04-24  Richard Guenther  <rguenther@suse.de>
6765169689Skan
6766169689Skan	* cfgloop.h (struct loops): Remove unused field array.  Reorder
6767169689Skan	state after num.
6768169689Skan	(LOOP_PREFETCH): Remove.
6769169689Skan
6770169689Skan2006-04-24  Richard Guenther  <rguenther@suse.de>
6771169689Skan
6772169689Skan	PR tree-optimization/22525
6773169689Skan	* value-prof.c (tree_mod_pow2): Remove unnecessary temporary
6774169689Skan	variable, adjust types of generated expressions.
6775169689Skan
6776169689Skan2006-04-23  H.J. Lu  <hongjiu.lu@intel.com>
6777169689Skan
6778169689Skan	* Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
6779169689Skan	(tree-vect-patterns.o): Likewise.
6780169689Skan	(jump.o): Likewise.
6781169689Skan	(cselib.o): Likewise.
6782169689Skan	(loop-doloop.o): Likewise.
6783169689Skan	(regclass.o): Likewise.
6784169689Skan	(reload1.o): Likewise.
6785169689Skan	(explow.o): Replace target.h with $(TARGET_H).
6786169689Skan	(ipa-prop.o): Likewise.
6787169689Skan	(ipa-cp.o): Likewise.
6788169689Skan	(ipa-inline.o): Likewise.
6789169689Skan	(reorg.o): Likewise.
6790169689Skan	(reg-stack.o): Likewise.
6791169689Skan
6792169689Skan2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6793169689Skan
6794169689Skan	* tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
6795169689Skan
6796169689Skan2006-04-23  Mark Mitchell  <mark@codesourcery.com>
6797169689Skan
6798169689Skan	* print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
6799169689Skan
6800169689Skan	* configure.ac: Completely disregard languages that are not
6801169689Skan	enabled.
6802169689Skan	* configure: Regenerated.
6803169689Skan
6804169689Skan	PR c++/26534
6805169689Skan	* c-common.h (c_build_bitfield_integer_type): Declare.
6806169689Skan	* c-decl.c (c_build_bitfield_integer_type): Move to ...
6807169689Skan	* c-common.c (c_build_bitfield_integer_type): ... here.
6808169689Skan
6809169689Skan2006-04-23  Roger Sayle  <roger@eyesopen.com>
6810169689Skan
6811169689Skan	PR target/21283
6812169689Skan	* config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
6813169689Skan	a SImode SUBREG of a floating point register after no_new_pseudos.
6814169689Skan
6815169689Skan2006-04-23  Roger Sayle  <roger@eyesopen.com>
6816169689Skan
6817169689Skan	* config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
6818169689Skan	identify potentially eliminable registers to additionally catch
6819169689Skan	VIRTUAL_INCOMING_ARGS_REGNUM.
6820169689Skan	(addsi3): Update the conditions on when to use addsi_small_int.
6821169689Skan
6822169689Skan2006-04-23  Roger Sayle  <roger@eyesopen.com>
6823169689Skan
6824169689Skan	PR target/16641
6825169689Skan	* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
6826169689Skan	STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
6827169689Skan	rtx to stack_pointer_rtx or frame_pointer_rtx directly.
6828169689Skan
6829169689Skan2006-04-23  Eric Botcazou  <ebotcazou@adacore.com>
6830169689Skan
6831169689Skan	* fold-const.c (range_predecessor): Use operand_equal_p
6832169689Skan	as the predicate for equality.
6833169689Skan	(range_successor): Likewise.
6834169689Skan
6835169689Skan2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
6836169689Skan
6837169689Skan	Revert:
6838169689Skan	* config/soft-fp/op-common.h: Fix a typo.
6839169689Skan
6840169689Skan2006-04-22  Frank Ch. Eigler  <fche@redhat.com>
6841169689Skan
6842169689Skan	PR libmudflap/26864
6843169689Skan	* common.opt (flag_mudflap_threads): Overload flag_mudflap.
6844169689Skan	* tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
6845169689Skan
6846169689Skan2006-04-22  Kazu Hirata  <kazu@codesourcery.com>
6847169689Skan
6848169689Skan	* config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
6849169689Skan	Fix comment typos.
6850169689Skan	* doc/tm.texi: Fix a typo.
6851169689Skan
6852169689Skan2006-04-21  Geoffrey Keating  <geoffk@apple.com>
6853169689Skan
6854169689Skan	* dwarf2out.c (struct die_struct): Document that die_sib makes
6855169689Skan	a circular linked list.
6856169689Skan	(FOR_EACH_CHILD): New.
6857169689Skan	(reverse_die_lists): Delete.
6858169689Skan	(reverse_all_dies): Delete.
6859169689Skan	(add_dwarf_attr): Correct documentation.
6860169689Skan	(remove_child_with_prev): New.
6861169689Skan	(remove_child_TAG): Update for change to die_struct, use
6862169689Skan	remove_child_with_prev.
6863169689Skan	(add_child_die): Update for change to die_struct.
6864169689Skan	(splice_child_die): Use remove_child_with_prev and add_child_die.
6865169689Skan	(print_die): Use FOR_EACH_CHILD.
6866169689Skan	(die_checksum): Likewise.
6867169689Skan	(assign_symbol_names): Likewise.
6868169689Skan	(output_location_lists): Likewise.
6869169689Skan	(build_abbrev_table): Likewise.
6870169689Skan	(calc_die_sizes): Likewise.
6871169689Skan	(mark_dies): Likewise.
6872169689Skan	(unmark_dies): Likewise.
6873169689Skan	(unmark_all_dies): Likewise.
6874169689Skan	(output_die): Likewise.
6875169689Skan	(prune_unused_types_mark): Likewise.
6876169689Skan	(prune_unused_types_walk): Likewise.
6877169689Skan	(same_die_p): Update for change to die_struct.
6878169689Skan	(break_out_includes): Likewise.
6879169689Skan	(prune_unused_types_prune): Likewise.
6880169689Skan	(add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
6881169689Skan	(prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
6882169689Skan	it's already clear.
6883169689Skan	(dwarf2out_finish): Don't call reverse_all_dies.
6884169689Skan
6885169689Skan2006-04-21  Eric Christopher  <echristo@apple.com>
6886169689Skan
6887169689Skan	* df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
6888169689Skan	in comments and function names.
6889169689Skan
6890169689Skan2006-04-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6891169689Skan
6892169689Skan	PR c/25875
6893169689Skan	* c-typeck.c (digest_init): Robustify.
6894169689Skan
6895169689Skan	* c-typeck.c (pop_init_level): Simplify.
6896169689Skan
6897169689Skan2006-04-21  Steve Ellcey  <sje@cup.hp.com>
6898169689Skan
6899169689Skan	* config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
6900169689Skan
6901169689Skan2006-04-21  Paul Brook  <paul@codesourcery.com>
6902169689Skan
6903169689Skan	* config/arm/arm.c (arm_override_options): Error on iWMMXt and
6904169689Skan	hardware floating point.
6905169689Skan
6906169689Skan2006-04-21  David Edelsohn  <edelsohn@gnu.org>
6907169689Skan
6908169689Skan	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
6909169689Skan	NON_FLOAT_REGS.
6910169689Skan
6911169689Skan2006-04-21  Nick Clifton  <nickc@redhat.com>
6912169689Skan
6913169689Skan	* config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
6914169689Skan	OPT_EXTRA_PARTS.
6915169689Skan
6916169689Skan2006-04-21  Alan Modra  <amodra@bigpond.net.au>
6917169689Skan
6918169689Skan	PR target/27230
6919169689Skan	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
6920169689Skan	C++ lang type in traceback table for Objective-C++.
6921169689Skan
6922169689Skan	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
6923169689Skan
6924169689Skan2006-04-20  H.J. Lu  <hongjiu.lu@intel.com>
6925169689Skan
6926169689Skan	* config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
6927169689Skan
6928169689Skan2006-04-20  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6929169689Skan
6930169689Skan	PR mudflap/26789
6931169689Skan	* tree-mudflap.c (mudflap_finish_file): Skip function when there
6932169689Skan	were errors.  Remove check for erroneous objects.
6933169689Skan
6934169689Skan2006-04-20  Jeff Law  <law@redhat.com>
6935169689Skan
6936169689Skan	PR tree-optimization/26854
6937169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
6938169689Skan	checking for zero or one use.
6939169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
6940169689Skan	* tree-cfgcleanup.c (merge_phi_nodes): Similarly.
6941169689Skan	* tree-ssa-reassoc.c (negate_value): Similarly.
6942169689Skan	(reassociate_bb): Similarly.
6943169689Skan
6944169689Skan2006-04-20  Jakub Jelinek  <jakub@redhat.com>
6945169689Skan
6946169689Skan	* c-pretty-print.c (pp_c_direct_abstract_declarator): Print
6947169689Skan	TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
6948169689Skan	than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
6949169689Skan
6950169689Skan2006-04-20  Alan Modra  <amodra@bigpond.net.au>
6951169689Skan
6952169689Skan	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
6953169689Skan	fp regs if the last fp arg doesn't fit in regs.
6954169689Skan
6955169689Skan2006-04-20  Kaz Kojima  <kkojima@gcc.gnu.org>
6956169689Skan
6957169689Skan	PR target/27182
6958169689Skan	* config/sh/sh.md (movsicc_true+3): Tweak condition for the case
6959169689Skan	that the last insn has the REG_INC note.
6960169689Skan
6961169689Skan2006-04-19  Carlos O'Donell  <carlos@codesourcery.com>
6962169689Skan	    Nathan Sidwell  <nathan@codesourcery.com>
6963169689Skan
6964169689Skan	PR c/26774
6965169689Skan	* stor-layout.c (update_alignment_for_field): Do not align
6966169689Skan	ERROR_MARK nodes.
6967169689Skan	(place_union_field): Place union field at the start of the union.
6968169689Skan	(place_field): Move ERROR_MARK check later, and use the current
6969169689Skan	allocation position to maintain monotonicity.
6970169689Skan
6971169689Skan2006-04-19  Zdenek Dvorak <dvorakz@suse.cz>
6972169689Skan
6973169689Skan	* dominance.c: Include timevar.h.
6974169689Skan	(calculate_dominance_info): Use TV_DOMINANCE.
6975169689Skan	* timevar.def (TV_DOMINANCE): New timevar.
6976169689Skan	* Makefile.in (dominance.o): Add TIMEVAR_H dependency.
6977169689Skan
6978169689Skan2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
6979169689Skan
6980169689Skan	PR rtl-optimization/14261
6981169689Skan	* ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
6982169689Skan	move would be an INSV insn.
6983169689Skan	(noce_process_if_block): Don't optimize if the destination is a
6984169689Skan	ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
6985169689Skan
6986169689Skan2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
6987169689Skan
6988169689Skan	* config/s390/s390.md: Add comments with the instructions emitted
6989169689Skan	by an insn pattern if macros are used.
6990169689Skan
6991169689Skan2006-04-19  Alan Modra  <amodra@bigpond.net.au>
6992169689Skan
6993169689Skan	PR rtl-optimization/26026
6994169689Skan	* fold-const.c (fold_binary): Optimize div and mod where the divisor
6995169689Skan	is a known power of two shifted left a variable amount.
6996169689Skan
6997169689Skan2006-04-18  Geoffrey Keating  <geoffk@apple.com>
6998169689Skan
6999169689Skan	* dwarf2out.c (prune_unused_types_update_strings): Don't add strings
7000169689Skan	to hash table twice when the debug_str section has SECTION_MERGE.
7001169689Skan
7002169689Skan2006-04-18  Joseph S. Myers  <joseph@codesourcery.com>
7003169689Skan
7004169689Skan	* config/soft-fp: New directory.  From glibc.
7005169689Skan	* config/soft-fp/t-softfp: New.
7006169689Skan	* config/soft-fp/README: New.
7007169689Skan	* mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
7008169689Skan	* Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
7009169689Skan	(libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
7010169689Skan	(LIBGCC_DEPS): Add $(SFP_MACHINE).
7011169689Skan	* config.gcc: Use rs6000/t-fprules-fpbit or
7012169689Skan	rs6000/t-fprules-softfp and soft-fp/t-softfp together with
7013169689Skan	rs6000/t-fprules.
7014169689Skan	* config/rs6000/sfp-machine.h: New.  Based on glibc.
7015169689Skan	* config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
7016169689Skan	New.
7017169689Skan	* config/rs6000/t-fprules: Remove fp-bit rules.
7018169689Skan	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
7019169689Skan	* config/rs6000/t-linux64: Likewise.  Remove duplicates from
7020169689Skan	LIB2FUNCS_EXTRA.  Remove fp-bit rules.
7021169689Skan	(softfp_wrap_start, softfp_wrap_end): New.
7022169689Skan
7023169689Skan2006-04-18  DJ Delorie  <dj@redhat.com>
7024169689Skan
7025169689Skan	* config/m32c/m32c.h (PTRDIFF_TYPE): Define.
7026169689Skan
7027169689Skan2006-04-18  Devang Patel  <dpatel@apple.com>
7028169689Skan
7029169689Skan	* doc/invoke.texi (-Wuninitialized): Clarify -O connection.
7030169689Skan
7031169689Skan2006-04-18  Nick Clifton  <nickc@redhat.com>
7032169689Skan
7033169689Skan	* config/sh/t-symbian: Add rule to build sh-c.o
7034169689Skan	* config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
7035169689Skan	of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
7036169689Skan	(sh_symbian_encode_section_info): Likewise.
7037169689Skan
7038169689Skan2006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
7039169689Skan
7040169689Skan	* builtins.c (expand_builtin_strcmp): Cover label definition of
7041169689Skan	do_libcall with HAVE_cmpstrnsi.
7042169689Skan
7043169689Skan2006-04-18  Kazu Hirata  <kazu@codesourcery.com>
7044169689Skan
7045169689Skan	* function.c (temp_slots_at_level, max_slot_level): Use VEC
7046169689Skan	instead of VARRAY.
7047169689Skan	* function.h (temp_slot_p): New.
7048169689Skan	(function): Change the type of x_used_temp_slots to
7049169689Skan	VEC(temp_slot_p,gc) *.
7050169689Skan
7051169689Skan2006-04-18  Nick Clifton  <nickc@redhat.com>
7052169689Skan
7053169689Skan	* config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
7054169689Skan	flag_strength_reduce.
7055169689Skan
7056169689Skan	* doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
7057169689Skan
7058169689Skan2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
7059169689Skan
7060169689Skan	PR target/27117
7061169689Skan
7062169689Skan	Partial revert of revision 112637
7063169689Skan	2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
7064169689Skan		    Dale Johannesen  <dalej@apple.com>
7065169689Skan
7066169689Skan	PR target/19653
7067169689Skan	* regclass.c (struct reg_pref): Update documentation.
7068169689Skan	(regclass): Set prefclass to NO_REGS if memory is the best option.
7069169689Skan	(record_reg_classes): Cope with a prefclass set to NO_REGS.
7070169689Skan
7071169689Skan2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
7072169689Skan
7073169689Skan	PR tree-optimization/26821
7074169689Skan	* tree-ssa-math-opts.c (get_constant_one): New.
7075169689Skan	(insert_reciprocals): Use it.
7076169689Skan
7077169689Skan2006-04-17  Geoffrey Keating  <geoffk@apple.com>
7078169689Skan
7079169689Skan	* dwarf2out.c (free_AT): Delete.
7080169689Skan	(remove_AT): Update string ref counts.
7081169689Skan	(remove_child_TAG): Don't call free_die.
7082169689Skan	(free_die): Delete.
7083169689Skan	(break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
7084169689Skan	or DW_TAG_GNU_EINCL.
7085169689Skan	(prune_unused_types_walk_attribs): Reset string refcounts.
7086169689Skan	(prune_unused_types_update_strings): New.
7087169689Skan	(prune_unused_types_prune): Don't make unnecessary stores.  Don't
7088169689Skan	call free_die.  Do call prune_unused_types_update_strings.
7089169689Skan	(prune_unused_types): Empty debug_str_hash.
7090169689Skan
7091169689Skan2006-04-17  Roger Sayle  <roger@eyesopen.com>
7092169689Skan
7093169689Skan	* expr.c (expand_assignment): Optimize away no-op moves where the
7094169689Skan	source and destination are equal and have no side-effects.
7095169689Skan
7096169689Skan2006-04-17  Richard Guenther  <rguenther@suse.de>
7097169689Skan
7098169689Skan	PR target/26826
7099169689Skan	* reload.c (push_reload): Guard calls to get_secondary_mem
7100169689Skan	for memory subregs.
7101169689Skan
7102169689Skan2006-04-16  Kazu Hirata  <kazu@codesourcery.com>
7103169689Skan
7104169689Skan	* alias.c (reg_base_value, old_reg_base_value): Change the
7105169689Skan	type to VEC(rtx,gc) *.
7106169689Skan	(REG_BASE_VALUE, find_base_value, record_set,
7107169689Skan	init_alias_analysis): Use VEC instead of VARRAY.
7108169689Skan
7109169689Skan	* alias.c (alias_sets): Change the type to
7110169689Skan	VEC(alias_set_entry,gc) *.
7111169689Skan	(get_alias_set_entry, new_alias_set, record_alias_subset): Use
7112169689Skan	VEC instead of VARRAY.
7113169689Skan	(last_alias_set): Remove.
7114169689Skan
7115169689Skan	* cgraph.h (cgraph_edge_p): New.
7116169689Skan	Update the prototype of cgraph_function_versioning.
7117169689Skan	* cgraphunit.c (cgraph_copy_node_for_versioning,
7118169689Skan	cgraph_function_versioning): Use VEC instead of VARRAY.
7119169689Skan	* ipa-cp.c (ipcp_insert_stage): Likewise.
7120169689Skan
7121169689Skan2006-04-16  Roger Sayle  <roger@eyesopen.com>
7122169689Skan
7123169689Skan	PR target/26961
7124169689Skan	* fold-const.c (fold_ternary): When converting "A ? B : C" into either
7125169689Skan	"A op B" or "A op C", we may need to convert A to the type of B and C.
7126169689Skan
7127169689Skan2006-04-16  Adam Nemet  <anemet@caviumnetworks.com>
7128169689Skan
7129169689Skan	* target.h (struct gcc_target): Add mode_rep_extended.
7130169689Skan	* rtlanal.c (num_sign_bit_copies_in_rep): New global.
7131169689Skan	(init_num_sign_bit_copies_in_rep): Initialize it using
7132169689Skan	mode_rep_extended.
7133169689Skan	(truncate_to_mode): Use it.
7134169689Skan	(init_rtlanal): Call init_num_sign_bit_copies_in_rep.
7135169689Skan	* targhooks.h (default_mode_rep_extended): Declare it.
7136169689Skan	* targhooks.c (default_mode_rep_extended): Define it.
7137169689Skan	* target-def.h (TARGET_MODE_REP_EXTENDED): New macro.  Default to
7138169689Skan	default_mode_rep_extended.
7139169689Skan	(TARGET_INITIALIZER): Include it.
7140169689Skan	* doc/tm.texi (Misc): Document it.
7141169689Skan	* config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
7142169689Skan	(mips_truncated_to_mode): New function.
7143169689Skan
7144169689Skan2006-04-16  Roger Sayle  <roger@eyesopen.com>
7145169689Skan
7146169689Skan	PR middle-end/25474
7147169689Skan	* expr.c (compress_float_constant): Copy the narrow constant into
7148169689Skan	a new pseudo before extending it to its final width.
7149169689Skan
7150169689Skan2006-04-16  Roger Sayle  <roger@eyesopen.com>
7151169689Skan	    Andrew Pinski  <pinskia@gcc.gnu.org>
7152169689Skan	    Dale Johannesen  <dalej@apple.com>
7153169689Skan
7154169689Skan	PR target/24076
7155169689Skan	* config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
7156169689Skan	special case code to implement V8HImode and V16QImode with SSE2.
7157169689Skan
7158169689Skan2006-04-15  Roger Sayle  <roger@eyesopen.com>
7159169689Skan
7160169689Skan	* config/i386/i386.c (ix86_va_start): Ensure all integer constant
7161169689Skan	trees are constructed with a suitable tree type.
7162169689Skan
7163169689Skan2006-04-15  Roger Sayle  <roger@eyesopen.com>
7164169689Skan
7165169689Skan	* tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
7166169689Skan	(integer_onep): Likewise.
7167169689Skan	(integer_all_onesp): Likewise.
7168169689Skan	(integer_pow2p): Likewise.
7169169689Skan	(integer_nonzerop): Likewise.
7170169689Skan	(real_zerop): Likewise.
7171169689Skan	(real_onep): Likewise.
7172169689Skan	(real_twop): Likewise.
7173169689Skan	(real_minus_onep): Likewise.
7174169689Skan	(int_size_in_bytes): Likewise.
7175169689Skan	(host_integerp): Likewise.
7176169689Skan
7177169689Skan2006-04-15  Kazu Hirata  <kazu@codesourcery.com>
7178169689Skan
7179169689Skan	* cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
7180169689Skan	jump.c, mips-tfile.c, omp-low.c, sched-int.h,
7181169689Skan	tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
7182169689Skan
7183169689Skan	* tree-ssa-structalias.h (alias_info): Remove num_references.
7184169689Skan
7185169689Skan2006-04-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7186169689Skan
7187169689Skan	* pa.md (output_bb patterns): Shorten long branch alternatives by 4.
7188169689Skan	(output_bvb patterns): Likewise.
7189169689Skan	* pa.c (output_bb): Use 'bb' insn for long branch case.
7190169689Skan	(output_bvb): Likewise use '{bvb|bb}' for long branch case.
7191169689Skan	(output_dbra): Use '{comb|cmpb}' for long branch case for alternative
7192169689Skan	1.  Correct length operand for alternatives 1 and 2.
7193169689Skan	(output_movb): Use '{comb|cmpb}' for long branch case for alternatives
7194169689Skan	1, 2 and 3.  Correct length operand for alternatives 1, 2 and 3.
7195169689Skan
7196169689Skan2006-04-14  Roger Sayle  <roger@eyesopen.com>
7197169689Skan
7198169689Skan	* tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
7199169689Skan	is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
7200169689Skan	were accidentally reverted by r112959.
7201169689Skan
7202169689Skan2006-04-15  Jakub Jelinek  <jakub@redhat.com>
7203169689Skan
7204169689Skan	PR middle-end/26823
7205169689Skan	* except.h (eh_region_outermost): New prototype.
7206169689Skan	* except.c (eh_region_outermost): New function.
7207169689Skan	* tree-cfg.c (find_outermost_region_in_block): Use it.
7208169689Skan
7209169689Skan2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
7210169689Skan
7211169689Skan	* local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
7212169689Skan	of VARRAY.
7213169689Skan	* reload1.c (reg_equiv_memory_loc_varray): Rename to
7214169689Skan	reg_equiv_memory_loc_vec.  Change the type to VEC(rtx,gc) *.
7215169689Skan	(init_reload, reload): Use VEC instead of VARRAY.
7216169689Skan	* reload.h: Update the prototype for
7217169689Skan	reg_equiv_memory_loc_varray.
7218169689Skan
7219169689Skan2006-04-14  Alexey Starovoytov  <alexey.starovoytov@sun.com>
7220169689Skan	    Eric Botcazou  <ebotcazou@libertysurf.fr>
7221169689Skan
7222169689Skan	* config/sparc/sparc.c (emit_and_preserve): Allocate space for the
7223169689Skan	register save area.
7224169689Skan
7225169689Skan2005-04-13  Uros Bizjak  <uros@kss-loka.si>
7226169689Skan
7227169689Skan	PR middle-end/27134
7228169689Skan	* builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
7229169689Skan	to expand fallback builtin function call.
7230169689Skan
7231169689Skan2006-04-14  Alan Modra  <amodra@bigpond.net.au>
7232169689Skan
7233169689Skan	PR middle-end/27095
7234169689Skan	* builtins.c: (expand_builtin_memset): Stabilize args before expansion
7235169689Skan	and emit libcall here in case the builtin fails.
7236169689Skan	(expand_builtin_strcmp): Always emit the libcall here on failure.
7237169689Skan
7238169689Skan2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
7239169689Skan
7240169689Skan	* basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
7241169689Skan	* flow.c (reg_n_info): Change the type to
7242169689Skan	VEC(reg_info_p,heap) *.
7243169689Skan	* regclass.c (allocate_reg_info, free_reg_info): Use VEC
7244169689Skan	instead of VARRAY.
7245169689Skan	* regs.h (reg_info_p): New.
7246169689Skan	(REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
7247169689Skan	REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
7248169689Skan	REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
7249169689Skan	instead of VARRAY.
7250169689Skan
7251169689Skan2006-04-13  Eric Botcazou  <ebotcazou@adacore.com>
7252169689Skan
7253169689Skan	* params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
7254169689Skan	defaulting to 100.
7255169689Skan	* params.h (MAX_SCHED_READY_INSNS): New macro.
7256169689Skan	* haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
7257169689Skan	past MAX_SCHED_READY_INSNS during the first scheduling pass.
7258169689Skan	(schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
7259169689Skan	the ready list for 1 cycle during the first scheduling pass.
7260169689Skan	* doc/invoke.texi (--param): New parameter max-sched-ready-insns.
7261169689Skan
7262169689Skan2006-04-13  Richard Henderson  <rth@redhat.com>
7263169689Skan
7264169689Skan	PR libgomp/26651
7265169689Skan	* gimple-low.c (lower_omp_directive): Remove dead code.
7266169689Skan	(lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
7267169689Skan	* gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
7268169689Skan	* omp-low.c (struct omp_region): Move to tree-flow.h.
7269169689Skan	(root_omp_region): Export.
7270169689Skan	(omp_regions, lookup_omp_region): Remove.
7271169689Skan	(determine_parallel_type): Update for struct omp_region changes.
7272169689Skan	(dump_omp_region): Dump regions with block numbers.
7273169689Skan	(new_omp_region): Take type and block instead of stmt; malloc
7274169689Skan	instead of ggc.
7275169689Skan	(free_omp_region_1, free_omp_regions): New.
7276169689Skan	(expand_parallel_call): Take entry_stmt as argument; update for
7277169689Skan	changes to omp_region.
7278169689Skan	(remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
7279169689Skan	(remove_exit_barriers): New.
7280169689Skan	(expand_omp_parallel): Update for struct omp_region changes.
7281169689Skan	(expand_omp_synch): Likewise.
7282169689Skan	(expand_omp): Likewise.
7283169689Skan	(expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
7284169689Skan	(expand_omp_for_static_chunk): Likewise.
7285169689Skan	(expand_omp_for): Likewise.
7286169689Skan	(expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
7287169689Skan	(expand_omp_sections): Similarly, with GOMP_sections_end.
7288169689Skan	(expand_omp_single): New.
7289169689Skan	(build_omp_regions_1): Update for OMP_CONTINUE.
7290169689Skan	(execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
7291169689Skan	(lower_omp_sections): Expand with OMP_CONTINUE, do not collect
7292169689Skan	OMP_SECTIONS_SECTIONS.
7293169689Skan	(lower_omp_single_simple): Don't emit barrier here.
7294169689Skan	(lower_omp_single_copy): Likewise.
7295169689Skan	(lower_omp_single): Fix bindings, and lower to straightline now.
7296169689Skan	(lower_omp_master, lower_omp_ordered): Likewise.
7297169689Skan	(lower_omp_critical): Likewise.
7298169689Skan	(lower_omp_for): Likewise.  Emit OMP_CONTINUE.
7299169689Skan	* tree-cfg.c (make_edges): Collect an omp_region tree, use it for
7300169689Skan	omp edges, free it afterward.
7301169689Skan	(make_omp_sections_edges): Remove.
7302169689Skan	(is_ctrl_altering_stmt): Don't bother checking flag_openmp.
7303169689Skan	(move_stmt_r): Handle OMP_CONTINUE.
7304169689Skan	* tree-flow.h (struct omp_region): Move from omp-low.c.  Switch
7305169689Skan	statement pointers to basic blocks.  Add type member.
7306169689Skan	(root_omp_region, new_omp_region, free_omp_regions): Declare.
7307169689Skan	* tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
7308169689Skan	* tree-inline.c (estimate_num_insns_1): Likewise.
7309169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
7310169689Skan	* tree-ssa-operands.c (get_expr_operands): Likewise.
7311169689Skan	* tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
7312169689Skan	(OMP_RETURN): Rename from OMP_RETURN_EXPR.
7313169689Skan	(OMP_CONTINUE): New.
7314169689Skan	* tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
7315169689Skan	(OMP_SECTIONS_SECTIONS): Remove.
7316169689Skan	(OMP_SECTION_LAST): New.
7317169689Skan	(OMP_RETURN_NOWAIT): New.
7318169689Skan
7319169689Skan2006-04-13  Roger Sayle  <roger@eyesopen.com>
7320169689Skan
7321169689Skan	* fold-const.c (native_encode_vector, native_interpret_real):
7322169689Skan	Correct obvious mistakes in the previous check-in.
7323169689Skan
7324169689Skan2006-04-13  Roger Sayle  <roger@eyesopen.com>
7325169689Skan
7326169689Skan	* fold-const.c (native_encode_expr): New function to encode
7327169689Skan	the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
7328169689Skan	or VECTOR_CST into a specified buffer.
7329169689Skan	(native_encode_int): New function.
7330169689Skan	(native_encode_real): New function.
7331169689Skan	(native_encode_complex): New function.
7332169689Skan	(native_encode_vector): New function.
7333169689Skan	(native_interpret_expr): Inverse of native_encode_expr to convert
7334169689Skan	a target representation into an INTEGER_CST, REAL_CST etc...
7335169689Skan	(native_interpret_int): New function.
7336169689Skan	(native_interpret_real): New function.
7337169689Skan	(native_interpret_complex): New function.
7338169689Skan	(native_interpret_vector): New function.
7339169689Skan	(fold_view_convert_expr): New function to constant fold/evaluate
7340169689Skan	a VIEW_CONVERT_EXPR of a suitable constant expression.
7341169689Skan	(fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
7342169689Skan	Change call of build1 to fold_build1 when constructing a
7343169689Skan	VIEW_CONVERT_EXPR.
7344169689Skan
7345169689Skan2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
7346169689Skan	    Ulrich Weigand  <uweigand@de.ibm.com>
7347169689Skan
7348169689Skan	PR target/27006
7349169689Skan	* config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
7350169689Skan	to be even.
7351169689Skan
7352169689Skan2006-04-13  Alan Modra  <amodra@bigpond.net.au>
7353169689Skan
7354169689Skan	PR target/26459
7355169689Skan	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
7356169689Skan	optimize to lo_sum for DFmode if !TARGET_FPRS.
7357169689Skan
7358169689Skan2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
7359169689Skan
7360169689Skan	* tree-ssa-alias.c (set_initial_properties, init_alias_info,
7361169689Skan	delete_alias_info, compute_flow_sensitive_aliasing,
7362169689Skan	group_aliases): Use VEC instead of VARRAY.
7363169689Skan	* tree-ssa-structalias.c (update_alias_info): Likewise.
7364169689Skan	* tree-ssa-structalias.h (alias_info): Change the type of
7365169689Skan	processed_ptrs to VEC(tree,heap) *.
7366169689Skan
7367169689Skan2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
7368169689Skan
7369169689Skan	PR target/27060
7370169689Skan	* config/sh/lib1funcs.h: New file, broken out of:
7371169689Skan	* config/sh/lib1funcs.asm.
7372169689Skan	* config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
7373169689Skan	New macros.
7374169689Skan	* config/sh/lib1funcs.asm (udivsi3_i4): Use them.
7375169689Skan	* config/sh/lib1funcs-Os-4-200.asm: New file.
7376169689Skan	* config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
7377169689Skan	* config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
7378169689Skan	(EXTRA_MULTILIB_PARTS): Include it.
7379169689Skan	($(T)sdivsi3_i4i-Os-4-200.o): New rule.
7380169689Skan	($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
7381169689Skan	* config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
7382169689Skan	* config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
7383169689Skan	TARGET_SH2.
7384169689Skan
7385169689Skan2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
7386169689Skan
7387169689Skan	* Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
7388169689Skan	* tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
7389169689Skan	tpa_compact, root_var_init, type_var_init): Use VEC instead of
7390169689Skan	VARRAY.
7391169689Skan	* tree-ssa-live.h: Include vecprim.h.
7392169689Skan	(tree_partition_associator_d): Change the type of
7393169689Skan	first_partition to VEC(int,heap) *.
7394169689Skan	(tpa_first_partition): Use VEC instead of VARRAY.
7395169689Skan
7396169689Skan	* Makefile.in (GTFILES): Move functions.h after tree.h.
7397169689Skan	* function.c (reset_block_changes, record_block_change,
7398169689Skan	check_block_change, free_block_changes): Use VEC instead of
7399169689Skan	VARRAY.
7400169689Skan	* function.h (function): Change the type of
7401169689Skan	ib_boundaries_block to VEC(tree,gc) *.
7402169689Skan	* tree-inline.c (copy_cfg_body): Initialize
7403169689Skan	ib_boundaries_block to NULL instead of (varray_type) 0.
7404169689Skan
7405169689Skan2006-04-12  Roger Sayle  <roger@eyesopen.com>
7406169689Skan
7407169689Skan	* expr.c (emit_group_store): Correct operand order in call to
7408169689Skan	subreg_lowpart_offset.  Always create paradoxical SUBREGs with
7409169689Skan	a SUBREG_BYTE of zero.
7410169689Skan
7411169689Skan2006-04-12  Richard Guenther  <rguenther@suse.de>
7412169689Skan
7413169689Skan	* profile.c (compute_branch_probabilities): Remove code
7414169689Skan	encapsulated in !ir_type (), which are remanents of the
7415169689Skan	removed RTL profiling code.
7416169689Skan	* rtl-profile.c: Remove.
7417169689Skan
7418169689Skan2006-04-12  Alan Modra  <amodra@bigpond.net.au>
7419169689Skan
7420169689Skan	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
7421169689Skan	magic NULL_RTX comment.
7422169689Skan	(function_arg): Store entire fp arg to mem if any part should go
7423169689Skan	on stack.
7424169689Skan	(rs6000_arg_partial_bytes): Adjust for above change.
7425169689Skan
7426169689Skan2006-04-11  Roger Sayle  <roger@eyesopen.com>
7427169689Skan
7428169689Skan	* dwarf2out.c (output_call_frame_info): Create debug_frame_section
7429169689Skan	if it hasn't been initialized by dwarf2out_init.
7430169689Skan
7431169689Skan2006-04-11  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
7432169689Skan
7433169689Skan	* pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
7434169689Skan	symbolic constants in branch patterns.
7435169689Skan
7436169689Skan2006-04-11  Roger Sayle  <roger@eyesopen.com>
7437169689Skan
7438169689Skan	* caller-save.c: #include "addresses.h" after #include "tm_p.h".
7439169689Skan
7440169689Skan2006-04-11  Richard Sandiford  <richard@codesourcery.com>
7441169689Skan
7442169689Skan	PR rtl-optimization/27073
7443169689Skan	* gcse.c (try_replace_reg): Revert last change.  Continue to search
7444169689Skan	for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
7445169689Skan	on the former.
7446169689Skan
7447169689Skan2006-04-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
7448169689Skan
7449169689Skan	* config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
7450169689Skan	aggregate types other than record and union types.
7451169689Skan	(function_arg): Likewise.
7452169689Skan	(function_arg_pass_by_reference): In 64-bit mode, return 0 for
7453169689Skan	small arrays.
7454169689Skan	(function_value): In 64-bit mode, return objects that require it
7455169689Skan	in FP registers.
7456169689Skan
7457169689Skan2006-04-11  Roger Sayle  <roger@eyesopen.com>
7458169689Skan
7459169689Skan	* dwarf2out.c (premark_used_types): Remove problematic prototype.
7460169689Skan
7461169689Skan2006-04-11  Jakub Jelinek  <jakub@redhat.com>
7462169689Skan
7463169689Skan	* gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
7464169689Skan
7465169689Skan2006-04-03  Jeff Law  <law@redhat.com>
7466169689Skan
7467169689Skan	PR/27087
7468169689Skan	* tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
7469169689Skan	alias information too.
7470169689Skan
7471169689Skan2006-04-10  Mike Frysinger  <vapier@gentoo.org>
7472169689Skan
7473169689Skan	* Makefile.in (gcc-cross): Add $(exeext) to target name.
7474169689Skan
7475169689Skan2006-04-10  Aldy Hernandez  <aldyh@redhat.com>
7476169689Skan
7477169689Skan	PR/21391
7478169689Skan	* dwarf2out.c (struct die_struct): Add die_perennial_p field.
7479169689Skan	(premark_used_types_helper): New.
7480169689Skan	(premark_used_types): New.
7481169689Skan	(gen_subprogram_die): Call premark_used_types.
7482169689Skan	(prune_unused_types_walk): Do not prune perennial dies.
7483169689Skan	* function.c (used_types_insert): New.
7484169689Skan	* function.h (struct function): Add used_types_hash field.
7485169689Skan	(used_types_insert): Add prototype.
7486169689Skan	* Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
7487169689Skan	* c-parser.c (c_parser_cast_expression): Save casted types in used
7488169689Skan	types hash table.
7489169689Skan
7490169689Skan2006-04-11  Mark Mitchell  <mark@codesourcery.com>
7491169689Skan
7492169689Skan	PR target/26459
7493169689Skan	* config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
7494169689Skan	rs6000_explicit_options.float_gprs.
7495169689Skan
7496169689Skan2006-04-10  Roger Sayle  <roger@eyesopen.com>
7497169689Skan
7498169689Skan	* config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
7499169689Skan	from ix86_expand_vector_init_low_nonzero.  Take an additional
7500169689Skan	one_var argument indicating which element is non-zero.  Support
7501169689Skan	one_var != 0 for V4SFmode and V4SImode by permuting the result.
7502169689Skan	(ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
7503169689Skan	with one_var instead of ix86_expand_vector_init_low_nonzero.
7504169689Skan
7505169689Skan2006-04-10  Kazu Hirata  <kazu@codesourcery.com>
7506169689Skan
7507169689Skan	* Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
7508169689Skan	tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
7509169689Skan	global.o, cfglayout.o, lambda-code.o, reg-stack.o,
7510169689Skan	build/genextract.o): Depend on vecprim.h.
7511169689Skan	* cfglayout.c, df-problems.c, function.c, genextract.c,
7512169689Skan	global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
7513169689Skan	tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
7514169689Skan	vecprim.h.
7515169689Skan	* vecprim.h: New.
7516169689Skan
7517169689Skan2006-04-10  Geoffrey Keating  <geoffk@apple.com>
7518169689Skan
7519169689Skan	* dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
7520169689Skan	Declare VECs of this type.
7521169689Skan	(struct die_struct): Make field die_attr a VEC of dw_attr_struct.
7522169689Skan	(remove_children): Delete.
7523169689Skan	(add_dwarf_attr): Use VEC routines.
7524169689Skan	(add_AT_flag): Update for changes to add_dwarf_attr.
7525169689Skan	(add_AT_int): Likewise.
7526169689Skan	(add_AT_unsigned): Likewise.
7527169689Skan	(add_AT_long_long): Likewise.
7528169689Skan	(add_AT_vec): Likewise.
7529169689Skan	(add_AT_string): Likewise.
7530169689Skan	(add_AT_die_ref): Likewise.
7531169689Skan	(add_AT_fde_ref): Likewise.
7532169689Skan	(add_AT_loc): Likewise.
7533169689Skan	(add_AT_loc_list): Likewise.
7534169689Skan	(add_AT_addr): Likewise.
7535169689Skan	(add_AT_lbl_id): Likewise.
7536169689Skan	(add_AT_lineptr): Likewise.
7537169689Skan	(add_AT_macptr): Likewise.
7538169689Skan	(add_AT_offset): Likewise.
7539169689Skan	(add_AT_range_list): Likewise.
7540169689Skan	(get_AT): Use VEC_iterate.
7541169689Skan	(remove_AT): Use VEC_ordered_remove.
7542169689Skan	(free_die): Fold remove_children into here; have it use VEC_iterate.
7543169689Skan	(print_die): Use VEC_iterate on attrs.
7544169689Skan	(reverse_die_lists): Don't reverse attr lists.
7545169689Skan	(die_checksum): Use VEC_iterate on attrs.
7546169689Skan	(same_die_p): Likewise.
7547169689Skan	(output_location_lists): Likewise.
7548169689Skan	(build_abbrev_table): Likewise.
7549169689Skan	(size_of_die): Likewise.
7550169689Skan	(unmark_all_dies): Likewise.
7551169689Skan	(output_abbrev_section): Likewise.
7552169689Skan	(output_die): Likewise.
7553169689Skan	(prune_unused_types_walk_attribs): Likewise.
7554169689Skan
7555169689Skan2006-04-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
7556169689Skan
7557169689Skan	* doc/install.texi (*-*-solaris2*): Point to the configure page.
7558169689Skan
7559169689Skan2006-04-10  Jakub Jelinek  <jakub@redhat.com>
7560169689Skan
7561169689Skan	PR debug/27057
7562169689Skan	* dwarf2out.c (is_symbol_die): Return true also for namespaces.
7563169689Skan
7564169689Skan2006-04-09  Roger Sayle  <roger@eyesopen.com>
7565169689Skan
7566169689Skan	* expr.c (store_constructor): Don't bother clearing target if
7567169689Skan	we're about to assign a vector to it using vec_init_optab.
7568169689Skan
7569169689Skan2006-04-10 Daniel Berlin  <dberlin@dberlin.org>
7570169689Skan
7571169689Skan	* tree-ssa-alias.c (lhs_may_store_to): New function.
7572169689Skan	(recalculate_used_alone): Handle LHS of calls.
7573169689Skan
7574169689Skan2006-04-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7575169689Skan
7576169689Skan	PR target/27034
7577169689Skan	PR target/26508
7578169689Skan	* config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
7579169689Skan	* pa64-hpux.h (LIB_SPEC): Correct typo.  Don't append milli.a.
7580169689Skan	(LINK_GCC_C_SEQUENCE_SPEC): Define.  Append milli.a here.
7581169689Skan	(PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
7582169689Skan	(PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
7583169689Skan	(PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
7584169689Skan	section.  Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
7585169689Skan	stubs.  Add ".align 8" directives before all ".dword" directives.
7586169689Skan	(GTHREAD_USE_WEAK): Revise comment.
7587169689Skan	(TARGET_ATTRIBUTE_WEAK): Define.
7588169689Skan	* pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
7589169689Skan	dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
7590169689Skan	* stublib.c: New file.
7591169689Skan
7592169689Skan	PR target/26743
7593169689Skan	PR target/11254
7594169689Skan	PR target/10274
7595169689Skan	* pa.md (cbranch patterns): Revise arguments used in calls to
7596169689Skan	output_cbranch, output_bb and output_bvd.  Add long branch length
7597169689Skan	attributes.
7598169689Skan	(fbranch patterns): Handle long branches.
7599169689Skan	(jump): Revise length check.  Revise arguments for output_lbranch call.
7600169689Skan	Add long branch length attributes.
7601169689Skan	(decrement_and_branch_until_zero): Add long branch length attributes.
7602169689Skan	(output_movb, output_parallel_addb and output_parallel_movb patterns):
7603169689Skan	Likewise.  Revise arguments for output_parallel_addb and
7604169689Skan	output_parallel_movb calls.
7605169689Skan	* pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
7606169689Skan	output_parallel_movb and output_parallel_addb): Update prototypes.
7607169689Skan	* pa.c (output_cbranch): Revise arguments.  Correct handling of
7608169689Skan	nullification in long branches.
7609169689Skan	(output_lbranch): Add new argument to control extraction of delay
7610169689Skan	instruction.
7611169689Skan	(output_bb): Handle long branches.
7612169689Skan	(output_bvb, output_dbra, output_movb, output_parallel_movb,
7613169689Skan	output_parallel_addb): Likewise.
7614169689Skan
7615169689Skan2006-04-09  Richard Sandiford  <richard@codesourcery.com>
7616169689Skan
7617169689Skan	PR rtl-optimization/27073
7618169689Skan	* gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
7619169689Skan	not REG_EQUIVs.
7620169689Skan
7621169689Skan2006-04-08  Daniel Berlin  <dberlin@dberlin.org>
7622169689Skan
7623169689Skan	* tree.h (tree_memory_tag): Add old_used_alone.
7624169689Skan	(SMT_OLD_USED_ALONE): New macro.
7625169689Skan	* tree-ssa-alias.c (recalculate_used_alone): Stop
7626169689Skan	marking things for renaming unnecessarily.
7627169689Skan
7628169689Skan2006-04-08  Kazu Hirata  <kazu@codesourcery.com>
7629169689Skan
7630169689Skan	* builtins.c, config/arm/arm.c, config/i386/cygwin.h,
7631169689Skan	config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
7632169689Skan	config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
7633169689Skan	haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
7634169689Skan	sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
7635169689Skan	tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
7636169689Skan	tree-vect-patterns.c, tree-vrp.c: Fix comment typos.  Follow
7637169689Skan	spelling convensions.
7638169689Skan	* config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
7639169689Skan	doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
7640169689Skan	typos.  Follow spelling conventions.
7641169689Skan
7642169689Skan2006-04-07  DJ Delorie  <dj@redhat.com>
7643169689Skan
7644169689Skan	* config/m32c/m32c.c (m32c_function_arg): Structures are always
7645169689Skan	passed on the stack.
7646169689Skan	(m32c_init_cumulative_args): When a function returns a structure,
7647169689Skan	always pass the pointer to that return area on the stack.
7648169689Skan	(m32c_function_arg_advance): Don't increment the parameter number
7649169689Skan	if we're processing the returned structure pointer.
7650169689Skan	(pushm_info): Reverse order of registers.
7651169689Skan
7652169689Skan2006-04-07  Sebastian Pop  <pop@cri.ensmp.fr>
7653169689Skan
7654169689Skan	* tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
7655169689Skan	assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
7656169689Skan	number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
7657169689Skan	estimate_numbers_of_iterations_loop): Use build_int_cst instead of
7658169689Skan	build_int_cst_type.
7659169689Skan	* tree-chrec.c (chrec_fold_multiply_poly_poly,
7660169689Skan	chrec_fold_multiply): Same.
7661169689Skan	* tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
7662169689Skan	force_expr_to_var_cost): Same.
7663169689Skan	* tree-mudflap.c (mf_xform_derefs_1): Same.
7664169689Skan	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
7665169689Skan
7666169689Skan2006-04-07  David Edelsohn  <edelsohn@gnu.org>
7667169689Skan
7668169689Skan	* config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
7669169689Skan	treat CONST_DOUBLE as INTVAL.  and64_2_operands require an extra
7670169689Skan	insn.
7671169689Skan
7672169689Skan2006-04-07  Jan Hubicka  <jh@suse.cz>
7673169689Skan
7674169689Skan	* ipa-inline.c (cgraph_early_inlining): Collect garbage.
7675169689Skan
7676169689Skan2006-04-07  Richard Guenther  <rguenther@suse.de>
7677169689Skan
7678169689Skan	PR tree-optimization/26135
7679169689Skan	* tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
7680169689Skan	loads for store copy-prop.
7681169689Skan	(copy_prop_visit_stmt): Likewise.
7682169689Skan
7683169689Skan2006-04-05  Robert Millan  <robertmh@gnu.org>
7684169689Skan
7685169689Skan	* config/i386/linux.h: Add a comment to mark macros that are
7686169689Skan	being overriden in config/k*bsd-gnu.h.
7687169689Skan	* config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
7688169689Skan	DYNAMIC_LINKER.
7689169689Skan	* config/knetbsd-gnu.h: Ditto.
7690169689Skan
7691169689Skan2006-04-06  Jan Hubicka  <jh@suse.cz>
7692169689Skan
7693169689Skan	PR profile/20815
7694169689Skan	PR profile/26399
7695169689Skan	* coverage.c (coverage_checksum_string): Reorganize loop to not read
7696169689Skan	after buffer.
7697169689Skan
7698169689Skan2006-04-06  Mike Stump  <mrs@apple.com>
7699169689Skan
7700169689Skan	* builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
7701169689Skan	for HAVE_nonlocal_goto to be consistent.
7702169689Skan	(expand_builtin_nonlocal_goto): Likewise.
7703169689Skan	(expand_builtin_strcmp): Use #ifdef instead of #if
7704169689Skan	for HAVE_cmpstrnsi to be consistent.
7705169689Skan
7706169689Skan2006-04-05  DJ Delorie  <dj@redhat.com>
7707169689Skan
7708169689Skan	* config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
7709169689Skan	vs m32c.
7710169689Skan
7711169689Skan2006-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
7712169689Skan
7713169689Skan	* config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
7714169689Skan	got-relative addressing for anything but SImode.
7715169689Skan
7716169689Skan	* config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
7717169689Skan	even if the calling function doesn't modify them.
7718169689Skan
7719169689Skan2006-04-05  Richard Guenther  <rguenther@suse.de>
7720169689Skan
7721169689Skan	PR tree-optimization/26919
7722169689Skan	* ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
7723169689Skan	to cgraph_estimate_size_after_inlining.
7724169689Skan
7725169689Skan2006-04-05  Alan Modra  <amodra@bigpond.net.au>
7726169689Skan
7727169689Skan	* reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
7728169689Skan
7729169689Skan2006-04-05  Sebastian Pop  <pop@cri.ensmp.fr>
7730169689Skan
7731169689Skan	PR tree-optimization/26996
7732169689Skan	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
7733169689Skan	VECTOR_TYPE variables.
7734169689Skan
7735169689Skan2006-04-05  Richard Guenther  <rguenther@suse.de>
7736169689Skan
7737169689Skan	PR tree-optimization/26763
7738169689Skan	* fold-const.c (fold_comparison): Move folding of
7739169689Skan	PTR + CST CMP PTR + CST ...
7740169689Skan	(fold_binary): ... here.  Fold only for EQ_EXPR and NE_EXPR.
7741169689Skan
7742169689Skan2006-04-05  Gerald Pfeifer  <gerald@pfeifer.com>
7743169689Skan
7744169689Skan	* doc/install.texi (Prerequisites): Refine some wording on
7745169689Skan	bootstrapping and ksh.
7746169689Skan	Move the version numbers of DejaGnu here from the testing section
7747169689Skan	and fix casing of names.
7748169689Skan	Fix markup and clarify wording for autogen requirements.
7749169689Skan	Refer to GCJ instead of just java.
7750169689Skan	Refer to SVN instead of CVS.
7751169689Skan	Describe diffutils as useful instead of necessary.
7752169689Skan	(Downloading the source): Refer to SVN instead of CVS.
7753169689Skan	Adjust a link to our web site accordingly.
7754169689Skan	(Configuration): Fix casing of Bison.
7755169689Skan	(Building): Refer to SVN instead of CVS.
7756169689Skan	Fix a sentence on the use of Bison and remove duplicate (and
7757169689Skan	incorrect) version number of Bison requirement.
7758169689Skan	Remove one redundant list of packages needed for building.
7759169689Skan	(Specific): Avoid reference to CVS.
7760169689Skan
7761169689Skan2006-04-04  Eric Christopher  <echristo@apple.com>
7762169689Skan
7763169689Skan	* config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
7764169689Skan	(TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
7765169689Skan	(rs6000_handle_struct_attribute): New.
7766169689Skan	(rs6000_ms_bitfield_layout_p): Ditto.
7767169689Skan
7768169689Skan2006-04-04  Geoffrey Keating  <geoffk@apple.com>
7769169689Skan
7770169689Skan	* config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
7771169689Skan	NULL for dso parameter to atexit_common.
7772169689Skan
7773169689Skan2006-04-04  Eric Christopher  <echristo@apple.com>
7774169689Skan
7775169689Skan	* config/i386/i386.c (machopic_output_stub): Output \t
7776169689Skan	between instructions and operands.
7777169689Skan
7778169689Skan2006-04-04  David Edelsohn  <edelsohn@gnu.org>
7779169689Skan
7780169689Skan	* config/rs6000/rs6000.c (num_insns_constant_wide): Change
7781169689Skan	satisfies_constraint_[IL] to explicit tests on value.
7782169689Skan
7783169689Skan2006-04-04  Sebastian Pop  <pop@cri.ensmp.fr>
7784169689Skan
7785169689Skan	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
7786169689Skan	set_nb_iterations_in_loop): Use build_int_cst instead of
7787169689Skan	build_int_cst_type.
7788169689Skan	* tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
7789169689Skan	build_int_cst instead of convert.
7790169689Skan
7791169689Skan2006-04-04  Carlos O'Donell  <carlos@codesourcery.com>
7792169689Skan
7793169689Skan	* doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
7794169689Skan	new value 2 for incoming.
7795169689Skan	* function.c (expand_function_start): Call struct_value_rtx
7796169689Skan	with incoming as 2.
7797169689Skan	* config/sparc/sparc.md: Comment updated_return.
7798169689Skan	* config/sparc/sparc.opt: Add -mstd-struct-return option.
7799169689Skan	* config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
7800169689Skan	struct return if sparc_std_struct_return and incoming is 2.
7801169689Skan	(print_operand): Do not adjust return if
7802169689Skan	sparc_std_struct_return.
7803169689Skan
7804169689Skan2006-04-04  Roger Sayle  <roger@eyesopen.com>
7805169689Skan
7806169689Skan	* builtins.c (fold_builtin_sprintf): Use fold_convert instead of
7807169689Skan	convert in the middle-end.
7808169689Skan	* expr.c (store_expr, store_constructor, get_inner_reference,
7809169689Skan	expand_expr_real_1, string_constant, try_casesi, try_tablejump):
7810169689Skan	Likewise.
7811169689Skan	* tree.c (build_range_type): Likewise.
7812169689Skan
7813169689Skan2006-04-04  Tom Tromey  <tromey@redhat.com>
7814169689Skan
7815169689Skan	* doc/install.texi (Prerequisites): Mention jar.
7816169689Skan
7817169689Skan2006-04-04  Daniel Berlin  <dberlin@dberlin.org>
7818169689Skan
7819169689Skan	* doc/tree-ssa.texi (Preserving the virtual ssa form): New
7820169689Skan	subsection.
7821169689Skan
7822169689Skan2006-04-04  Matthias Klose  <doko@debian.org>
7823169689Skan
7824169689Skan	* Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
7825169689Skan
7826169689Skan	PR bootstrap/26764
7827169689Skan	PR bootstrap/27334
7828169689Skan	* Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
7829169689Skan	strings.
7830169689Skan
7831169689Skan2006-04-03  Geoffrey Keating  <geoffk@apple.com>
7832169689Skan
7833169689Skan	* doc/extend.texi (Function Attributes): Rewrite visibility
7834169689Skan	attribute documentation.
7835169689Skan	* doc/invoke.texi (C++ Dialect Options): Rewrite
7836169689Skan	-fvisibility-inlines-hidden documentation to describe something
7837169689Skan	entirely different, although in practise compatible.
7838169689Skan	(Code Gen Options): Warn about system headers in -fvisibility=
7839169689Skan	documentation.
7840169689Skan
7841169689Skan	* doc/extend.texi (Other Builtins): Document that
7842169689Skan	__builtin_nan is a compile-time constant only when its argument
7843169689Skan	is valid.
7844169689Skan
7845169689Skan2006-04-03  Adam Nemet  <anemet@caviumnetworks.com>
7846169689Skan
7847169689Skan	* simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
7848169689Skan	trying to remove TRUNCATE check if all bits outside the new mode
7849169689Skan	are identical to the sign bit.
7850169689Skan
7851169689Skan2006-04-03  Jeff Law  <law@redhat.com>
7852169689Skan
7853169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
7854169689Skan	and operand scanning in some common cases.
7855169689Skan
7856169689Skan2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
7857169689Skan	    Dale Johannesen  <dalej@apple.com>
7858169689Skan
7859169689Skan	PR target/19653
7860169689Skan	* regclass.c (struct reg_pref): Update documentation.
7861169689Skan	(regclass): Set prefclass to NO_REGS if memory is the best option.
7862169689Skan	(record_reg_classes): Cope with a prefclass set to NO_REGS.
7863169689Skan	* reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
7864169689Skan	into account.  For non-registers, equate an empty preferred
7865169689Skan	reload class to a `!' in the constraint; move the if clause to
7866169689Skan	do so after those that reject the insn.
7867169689Skan	(push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
7868169689Skan	return NO_REGS.
7869169689Skan	(find_dummy_reload): Likewise.
7870169689Skan	* doc/tm.texi (Register Classes): Document what it means
7871169689Skan	if PREFERRED_*_RELOAD_CLASS return NO_REGS.
7872169689Skan	* config/i386/i386.c (ix86_preferred_reload_class): Force
7873169689Skan	using SSE registers (and return NO_REGS for floating-point
7874169689Skan	constants) if math is done with SSE.
7875169689Skan	(ix86_preferred_output_reload_class): New.
7876169689Skan	* config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
7877169689Skan	* config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
7878169689Skan	* config/i386/i386.md: Remove # register preferences.
7879169689Skan
7880169689Skan2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
7881169689Skan
7882169689Skan	PR bootstrap/26992
7883169689Skan	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
7884169689Skan	chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
7885169689Skan	the type of nb_iter.
7886169689Skan	(instantiate_parameters_1): Convert the operands before calling
7887169689Skan	chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
7888169689Skan	* tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
7889169689Skan
7890169689Skan2006-04-02  Roger Sayle  <roger@eyesopen.com>
7891169689Skan
7892169689Skan	* builtins.c (dummy_object): Use build_int_cst instead of convert.
7893169689Skan	* tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
7894169689Skan	instead of convert.
7895169689Skan	* dojump.c (do_jump): Likewise.
7896169689Skan	* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
7897169689Skan	* gimplify.c (gimple_boolify, gimplify_init_constructor,
7898169689Skan	gimplify_boolean_expr): Likewise.
7899169689Skan	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7900169689Skan	* varasm.c (array_size_for_constructor): Likewise.
7901169689Skan	* tree-object-size.c (compute_object_offset): Likewise.
7902169689Skan
7903169689Skan2006-04-02  Roger Sayle  <roger@eyesopen.com>
7904169689Skan
7905169689Skan	PR middle-end/26977
7906169689Skan	* expr.c (emit_group_store): Check whether simplify_gen_subreg returns
7907169689Skan	NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
7908169689Skan
7909169689Skan2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
7910169689Skan
7911169689Skan	PR tree-optimization/26939
7912169689Skan	* tree-chrec.c (chrec_merge): Use eq_evolutions_p.
7913169689Skan
7914169689Skan2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
7915169689Skan
7916169689Skan	* tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
7917169689Skan	at_stmt.  Convert the type of operands before calling
7918169689Skan	build_polynomial_chrec.
7919169689Skan	(add_to_evolution): Pass an extra argument at_stmt.  Adjust the call to
7920169689Skan	add_to_evolution_1.
7921169689Skan	(follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
7922169689Skan	(instantiate_parameters_1): Convert the type of operands before calling
7923169689Skan	build_polynomial_chrec.
7924169689Skan	* tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
7925169689Skan	chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
7926169689Skan	reset_evolution_in_loop): Insert asserts to check the types of the
7927169689Skan	operands.
7928169689Skan	(chrec_type): Moved...
7929169689Skan	(eq_evolutions_p): Use operand_equal_p.
7930169689Skan	* tree-chrec.h (build_polynomial_chrec): Insert an assert to check
7931169689Skan	the types of the operands.
7932169689Skan	(chrec_type): ...here.
7933169689Skan	* tree-data-ref.c (create_data_ref): Convert the operands before
7934169689Skan	calling chrec_replace_initial_condition.
7935169689Skan	(same_access_functions, analyze_subscript_affine_affine,
7936169689Skan	analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
7937169689Skan	(compute_subscript_distance, analyze_ziv_subscript,
7938169689Skan	analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
7939169689Skan	analyze_miv_subscript): Convert the operands before calling
7940169689Skan	chrec_fold_minus or chrec_fold_plus.
7941169689Skan
7942169689Skan2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
7943169689Skan
7944169689Skan	* tree-data-ref.c (compute_all_dependences): Use a pointer to
7945169689Skan	the dependence_relations vector.
7946169689Skan	(compute_data_dependences_for_loop): Adjust call to
7947169689Skan	compute_all_dependences.
7948169689Skan
7949169689Skan2006-04-01  Roger Sayle  <roger@eyesopen.com>
7950169689Skan	    Richard Henderson  <rth@redhat.com>
7951169689Skan
7952169689Skan	* gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
7953169689Skan	gimple_boolify on the condition before calling gimplify_expr.
7954169689Skan
7955169689Skan2006-03-31  Bob Wilson  <bob.wilson@acm.org>
7956169689Skan
7957169689Skan	* config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
7958169689Skan	to leaf_entry/leaf_return.  Change leaf_entry to add 16 bytes to
7959169689Skan	the frame size.  Update to use the new macros.
7960169689Skan	* config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
7961169689Skan	* config/xtensa/ieee754-df.S: Likewise.
7962169689Skan
7963169689Skan2006-03-31  Richard Henderson  <rth@redhat.com>
7964169689Skan
7965169689Skan	* tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
7966169689Skan	(make_edges): ... here.  Control fallthru creation with a local
7967169689Skan	variable.  Do not play with fake edges.
7968169689Skan	(make_omp_sections_edges): Don't set EDGE_ABNORMAL.
7969169689Skan	(make_goto_expr_edges): Don't play with fake edges.  Make for_call
7970169689Skan	a boolean.
7971169689Skan
7972169689Skan2006-04-01  Joseph S. Myers  <joseph@codesourcery.com>
7973169689Skan
7974169689Skan	* dwarf2.h (DW64_CIE_ID): Define.
7975169689Skan	* dwarf2out.c (DWARF_CIE_ID): Define.
7976169689Skan	(output_call_frame_info): Output 0xffffffff before standard 8-byte
7977169689Skan	length header.  Use DWARF_CIE_ID.
7978169689Skan	(value_format): Use DW_FORM_data4 or DW_FORM_data8 for
7979169689Skan	dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
7980169689Skan
7981169689Skan2006-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>
7982169689Skan
7983169689Skan	* config/sh/linux-atomic.asm: New file.
7984169689Skan	* config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
7985169689Skan
7986169689Skan2006-03-31  DJ Delorie  <dj@redhat.com>
7987169689Skan
7988169689Skan	* config/m32c/cond.md: Set condition flags properly throughout.
7989169689Skan	* config/m32c/minmax.md: Likewise.
7990169689Skan	* config/m32c/prologue.md: Likewise.
7991169689Skan	* config/m32c/bitops.md: Likewise.
7992169689Skan	* config/m32c/muldiv.md: Likewise.
7993169689Skan	* config/m32c/mov.md: Likewise.
7994169689Skan	* config/m32c/addsub.md: Likewise.
7995169689Skan	* config/m32c/m32c.md: Likewise.
7996169689Skan	* config/m32c/jump.md: Likewise.
7997169689Skan	* config/m32c/shift.md: Likewise.
7998169689Skan
7999169689Skan	* config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
8000169689Skan	conditionally output the pattern for this.
8001169689Skan	* config/m32c/m32c.c (flags_needed_for_conditional): New.
8002169689Skan	(m32c_compare_redundant): New.
8003169689Skan	(m32c_output_compare): New.
8004169689Skan	* config/m32c/m32c-protos.h (m32c_output_compare): New.
8005169689Skan
8006169689Skan	* config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
8007169689Skan	dest, not src.  Allow other 4-byte modes.
8008169689Skan
8009169689Skan2006-03-30  Denis Chertykov  <denisc@overta.ru>
8010169689Skan
8011169689Skan	* doc/md.texi: Refer to avr/constraints.md instead of
8012169689Skan	avr/avr.h.
8013169689Skan
8014169689Skan2006-03-30  Roger Sayle  <roger@eyesopen.com>
8015169689Skan
8016169689Skan	* expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
8017169689Skan	signed vs. unsigned comparison failures on some hosts.
8018169689Skan
8019169689Skan2006-03-31  Alan Modra  <amodra@bigpond.net.au>
8020169689Skan
8021169689Skan	PR target/26459
8022169689Skan	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
8023169689Skan	change to FLOAT_REGS.
8024169689Skan
8025169689Skan	* config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
8026169689Skan	(rs6000_override_options): Use it.
8027169689Skan	(rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
8028169689Skan	only for -mabi=spe/no-spe and -mabi=altivec.
8029169689Skan
8030169689Skan2006-03-30  Geoffrey Keating  <geoffk@apple.com>
8031169689Skan
8032169689Skan	* config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
8033169689Skan	!Zdynamiclib.
8034169689Skan
8035169689Skan2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
8036169689Skan
8037169689Skan	* Makefile.in: Rename docdir to gcc_docdir.
8038169689Skan
8039169689Skan2006-03-30  Roger Sayle  <roger@eyesopen.com>
8040169689Skan
8041169689Skan	PR target/17959
8042169689Skan	* expr.c (emit_group_store): Optimize group stores into a pseudo
8043169689Skan	register by using a paradoxical subreg to initialize the destination
8044169689Skan	if the first or last member of the group specifies a "low part".
8045169689Skan
8046169689Skan2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
8047169689Skan
8048169689Skan	PR target/26734
8049169689Skan	* rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
8050169689Skan	* target.h (struct gcc_target.speculate_insn): Change type of the
8051169689Skan	second parameter to 'int'.
8052169689Skan	* lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
8053169689Skan	the second operand of the DEPS_LIST.
8054169689Skan	(copy_DEPS_LIST_list): Update reference	to the second operand of the
8055169689Skan	DEPS_LIST.
8056169689Skan	* rtl.h (alloc_DEPS_LIST): Update signature.
8057169689Skan	* sched-int.h (ds_t): Change typedef to 'int'.
8058169689Skan	(DEP_STATUS, BITS_PER_DEP_STATUS): Update.
8059169689Skan
8060169689Skan2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
8061169689Skan
8062169689Skan	* haifa-sched.c (try_ready): Change condition to restore
8063169689Skan	non-speculative pattern	of the instruction.
8064169689Skan	(process_insn_depend_be_in_spec): Code to keep probability of the
8065169689Skan	speculative dependence non-decreasing.
8066169689Skan
8067169689Skan2006-03-30  Jie Zhang  <jie.zhang@analog.com>
8068169689Skan
8069169689Skan	* config/bfin/bfin.c (single_move_for_strmov): Renamed to...
8070169689Skan	(single_move_for_movmem): ... this. Also change all uses.
8071169689Skan	(bfin_expand_strmov): Renamed to...
8072169689Skan	(bfin_expand_movmem): ... this. Also change all uses.
8073169689Skan	* config/bfin/bfin.md (movstrsi): Renamed to...
8074169689Skan	(movstrsi): ...this.
8075169689Skan
8076169689Skan2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
8077169689Skan
8078169689Skan	PR tree-optimization/26830
8079169689Skan
8080169689Skan	* tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
8081169689Skan	(copy_prop_visit_stmt): Remove write-only variable ann.
8082169689Skan	(init_copy_prop): Check variable loop depth here.  Do not simulate
8083169689Skan	memory-tag and virtual operand PHIs except for store copy prop.
8084169689Skan
8085169689Skan2006-03-30  Richard Guenther  <rguenther@suse.de>
8086169689Skan
8087169689Skan	* config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
8088169689Skan	variants with double arguments.
8089169689Skan
8090169689Skan2006-03-29  David Edelsohn  <edelsohn@gnu.org>
8091169689Skan
8092169689Skan	* genpreds.c (write_tm_constrs_h): Delete variable p.
8093169689Skan	* genconditions.c (write_header): Add tm-constrs.h to included
8094169689Skan	headers.
8095169689Skan	* genpeep.c (main): Add toplev.h to included headers.
8096169689Skan	* Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
8097169689Skan	(build/genpeep.o): Add toplev.h dependency.
8098169689Skan	* config/rs6000/constraints.md: Add "W" constraint.
8099169689Skan
8100169689Skan2006-03-29  Roger Sayle  <roger@eyesopen.com>
8101169689Skan
8102169689Skan	* stor-layout.c (mode_for_size_tree): Remove restiction on type
8103169689Skan	sizes by correctly testing whether the size fits a host integer.
8104169689Skan	(initialize_sizetypes): Use set_min_and_max_values_for_integral_type
8105169689Skan	to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
8106169689Skan	SImode range for the default sizetype and bitsizetype.
8107169689Skan
8108169689Skan2006-03-29  Roger Sayle  <roger@eyesopen.com>
8109169689Skan
8110169689Skan	* convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
8111169689Skan	and TREE_CONSTANT_OVERFLOW bits of the argument.  Return
8112169689Skan	quickly if the argument is already of the correct type.
8113169689Skan	Call fold_build1 instead of build1.  Tidy up blank lines.
8114169689Skan
8115169689Skan2006-03-29  David Edelsohn  <edelsohn@gnu.org>
8116169689Skan
8117169689Skan	* genemit.c (main): Add tm-constrs.h to included headers.
8118169689Skan	* genoutput.c (output_prologue): Add tm-constrs.h to included headers.
8119169689Skan	* genpeep.c (main): Add tm-constrs.h to included headers.
8120169689Skan	* genpreds.c (write_satisfies_constraint_fns): Rename to ...
8121169689Skan	(write_tm_constrs_h): this and write complete file.
8122169689Skan	(write_tm_preds_h): Do not emit satisfies_constraint fns.
8123169689Skan	(write_insn_preds_c): Add tm-constrs.h to included headers.
8124169689Skan	(gen_constrs): New variable.
8125169689Skan	(parse_option): Parse "-c".
8126169689Skan	(main): Invoke write_tm_constrs_h.
8127169689Skan	* genrecog.c (write_header): Add tm-constrs.h to included headers.
8128169689Skan	* Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
8129169689Skan	(object_out_file): Add tm-constrs.h dependency.
8130169689Skan	(insn-emit.o): Same.
8131169689Skan	(insn-output.o): Same.
8132169689Skan	(insn-peep.o): Same.
8133169689Skan	(insn-preds.o): Same.
8134169689Skan	(insn-recog.o): Same.
8135169689Skan	(tm-constsr.h): New target.
8136169689Skan	(s-constrs-h): New target.
8137169689Skan
8138169689Skan	* config/rs6000/constraints.md: New file.
8139169689Skan	* config/rs6000/rs6000.c: Include tm-constrs.h.
8140169689Skan	(num_insn_constant_wide): Convert to satisfies_constraint.
8141169689Skan	(rs6000_rtx_costs): Convert to satisfies_constraint.
8142169689Skan	* config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
8143169689Skan	(CONST_OK_FOR_LETTER_P): Delete.
8144169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8145169689Skan	(EXTRA_CONSTRAINT): Delete.
8146169689Skan	(EXTRA_MEMORY_CONSTRAINT): Delete.
8147169689Skan	(EXTRA_ADDRESS_CONSTRAINT): Delete.
8148169689Skan	* config/rs6000/predicates.md: Convert to satisfies_constraint.
8149169689Skan	* config/rs6000/rs6000.md: Include constraints.md.  Convert to
8150169689Skan	satisfies_constraint.
8151169689Skan
8152169689Skan	* config/i386/i386.c: Include tm-constrs.h.
8153169689Skan
8154169689Skan2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
8155169689Skan
8156169689Skan	* tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
8157169689Skan	* tree-data-ref.c (find_data_references_in_loop,
8158169689Skan	compute_data_dependences_for_loop): Use pointers to VEC.
8159169689Skan	(analyze_all_data_dependences): Adjust calls.
8160169689Skan	* tree-data-ref.h (find_data_references_in_loop,
8161169689Skan	compute_data_dependences_for_loop): Adjust declarations.
8162169689Skan	* tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
8163169689Skan	compute_data_dependences_for_loop.
8164169689Skan
8165169689Skan2006-03-29  Paul Brook  <paul@codesourcery.com>
8166169689Skan
8167169689Skan	* config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
8168169689Skan	(movdf_vfp): Ditto.
8169169689Skan
8170169689Skan2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
8171169689Skan
8172169689Skan	PR tree-optimization/26859
8173169689Skan	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
8174169689Skan	division by zero.
8175169689Skan	(convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
8176169689Skan	for the step after fold_convert.
8177169689Skan
8178169689Skan2006-03-29  Paul Brook  <paul@codesourcery.com>
8179169689Skan
8180169689Skan	* reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
8181169689Skan	(inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
8182169689Skan
8183169689Skan2006-03-29  Paul Brook  <paul@codesourcery.com>
8184169689Skan
8185169689Skan	PR middle-end/23623
8186169689Skan	* targhooks.c (default_narrow_bitfield): New fuction.
8187169689Skan	* targhooks.h (default_narrow_bitfield): add prototype.
8188169689Skan	* target.h (gcc_target): Add narrow_volatile_bitfield.
8189169689Skan	* target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
8190169689Skan	* stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
8191169689Skan	* doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
8192169689Skan	* config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
8193169689Skan
8194169689Skan2006-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
8195169689Skan
8196169689Skan	* config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to
8197169689Skan	tmake_file.
8198169689Skan	* config/s390/s390.c (S390_scalar_mode_supported_p): New function.
8199169689Skan	(NR_C_MODES): Add TDmode, DDmode and SDmode.
8200169689Skan	(s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
8201169689Skan	(s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
8202169689Skan	(s390_function_arg_float): Allow SDmode and DDmode values to be
8203169689Skan	passed in floating point registers.
8204169689Skan	(s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT
8205169689Skan	check with SCALAR_FLOAT_MODE_P.
8206169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
8207169689Skan
8208169689Skan2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
8209169689Skan
8210169689Skan	PR tree-optimization/25985
8211169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_le,
8212169689Skan	number_of_iterations_ne): Make comments more precise.
8213169689Skan	(number_of_iterations_cond): Add only_exit argument.  Use the
8214169689Skan	fact that signed variables do not overflow only when only_exit
8215169689Skan	is true.
8216169689Skan	(loop_only_exit_p): New.
8217169689Skan	(number_of_iterations_exit): Pass result of loop_only_exit_p to
8218169689Skan	number_of_iterations_cond.
8219169689Skan
8220169689Skan2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
8221169689Skan
8222169689Skan	PR tree-optimization/26643
8223169689Skan	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
8224169689Skan	bit_field_refs.
8225169689Skan
8226169689Skan2006-03-28  Kaz Kojima  <kkojima@gcc.gnu.org>
8227169689Skan
8228169689Skan	* config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
8229169689Skan	(divsi3_i4_int): Likewise.
8230169689Skan
8231169689Skan2006-03-28  Roger Sayle  <roger@eyesopen.com>
8232169689Skan
8233169689Skan	* expr.c (emit_group_store): Only create a new pseudo reg if the
8234169689Skan	quantity it needs to hold isn't already a suitable pseudo.
8235169689Skan
8236169689Skan2006-03-28  Jeff Law  <law@redhat.com>
8237169689Skan
8238169689Skan	* timevar.def (TV_TREE_PHI_CPROP): New timevar.
8239169689Skan	* tree-ssa-dom.c (pass_phi_only_cprop): Use it.
8240169689Skan
8241169689Skan2006-03-28  Roger Sayle  <roger@eyesopen.com>
8242169689Skan
8243169689Skan	* fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
8244169689Skan	the equivalent ~X & Y, and the symmetry related transformations.
8245169689Skan	(fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
8246169689Skan	~X & Y, and symmetry related transforms.
8247169689Skan
8248169689Skan2006-03-28  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
8249169689Skan
8250169689Skan	Revert my 2006-03-27 patches.
8251169689Skan
8252169689Skan2006-03-28  Roger Sayle  <roger@eyesopen.com>
8253169689Skan
8254169689Skan	* fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
8255169689Skan	~(T1)X, when T1 and T2 are integer types of the same precision
8256169689Skan	and (T2)X isn't an extension.
8257169689Skan
8258169689Skan2006-03-28  Jeff Law  <law@redhat.com>
8259169689Skan
8260169689Skan	PR tree-optimization/26796
8261169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
8262169689Skan	need EH edge cleanups rather than purging them immediately.
8263169689Skan	(eliminate_degenerate_phis): Handle queued EH cleanups.
8264169689Skan
8265169689Skan2006-03-28  Daniel Berlin  <dberlin@dberlin.org>
8266169689Skan
8267169689Skan	* tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
8268169689Skan	from parent_var.
8269169689Skan
8270169689Skan2006-03-27  Roger Sayle  <roger@eyesopen.com>
8271169689Skan
8272169689Skan	PR middle-end/22524
8273169689Skan	* fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
8274169689Skan	cast BIT_NOT_EXPR operand to the correct type.
8275169689Skan
8276169689Skan2006-03-27  Sebastian Pop  <pop@cri.ensmp.fr>
8277169689Skan
8278169689Skan	* tree-loop-linear.c: Don't include varray.h.
8279169689Skan	(gather_interchange_stats, try_interchange_loops,
8280169689Skan	linear_transform_loops): Use VEC instead of VARRAY.
8281169689Skan	* lambda-mat.c: Don't include varray.h.
8282169689Skan	* tree-chrec.c: Same.
8283169689Skan	* lambda-trans.c: Same.
8284169689Skan	* tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
8285169689Skan	VEC instead of VARRAY.
8286169689Skan	* tree-vectorizer.h: Idem.
8287169689Skan	* tree-data-ref.c (dump_data_references,
8288169689Skan	dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
8289169689Skan	initialize_data_dependence_relation, finalize_ddr_dependent,
8290169689Skan	compute_all_dependences, find_data_references_in_loop,
8291169689Skan	compute_data_dependences_for_loop, analyze_all_data_dependences,
8292169689Skan	free_dependence_relation, free_dependence_relations,
8293169689Skan	free_data_refs): Idem.
8294169689Skan	* tree-data-ref.h (data_reference_p, subscript_p): New.
8295169689Skan	(data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
8296169689Skan	VEC instead of VARRAY.
8297169689Skan	(DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
8298169689Skan	(find_data_references_in_loop, compute_data_dependences_for_loop,
8299169689Skan	dump_ddrs, dump_dist_dir_vectors, dump_data_references,
8300169689Skan	dump_data_dependence_relations, free_dependence_relations,
8301169689Skan	free_data_refs): Adjust declaration.
8302169689Skan	(lambda_transform_legal_p): Move declaration here...
8303169689Skan	* tree-vect-analyze.c (vect_analyze_data_ref_dependences,
8304169689Skan	vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
8305169689Skan	vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
8306169689Skan	vect_analyze_data_refs): Use VEC instead of VARRAY.
8307169689Skan	* lambda.h (lambda_transform_legal_p): ...from here.
8308169689Skan	* lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
8309169689Skan	* tree-vect-transform.c (vect_update_inits_of_drs): Idem.
8310169689Skan	* Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
8311169689Skan	tree-chrec.o): Don't depend on VARRAY_H.
8312169689Skan
8313169689Skan2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
8314169689Skan
8315169689Skan	* rtl.def (Copyright): Update date.
8316169689Skan	(DEPS_LIST): Change type of the second operand to 'int'.
8317169689Skan	* target.h (Copyright): Update date.
8318169689Skan	(struct gcc_target.speculate_insn): Change type of the second parameter
8319169689Skan	to 'int'.
8320169689Skan	* lists.c (Copyright): Update date.
8321169689Skan	(alloc_DEPS_LIST): Change signature.  Update reference to the second
8322169689Skan	operand of the DEPS_LIST.
8323169689Skan	(copy_DEPS_LIST_list): Update reference	to the second operand of the
8324169689Skan	DEPS_LIST.
8325169689Skan	* rtl.h (Copyright): Update date.
8326169689Skan	(alloc_DEPS_LIST): Update signature.
8327169689Skan	* sched-int.h (Copyright): Update date.
8328169689Skan	(ds_t): Change typedef to 'int'.
8329169689Skan	(DEP_STATUS, BITS_PER_DEP_STATUS): Update.
8330169689Skan
8331169689Skan2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
8332169689Skan
8333169689Skan	* haifa-sched.c (Copyright): Update date.
8334169689Skan	(try_ready): Change condition to restore non-speculative pattern
8335169689Skan	of the instruction.
8336169689Skan	(process_insn_depend_be_in_spec): Code to keep probability of the
8337169689Skan	speculative dependence non-decreasing.
8338169689Skan
8339169689Skan2006-03-27  Bernd Schmidt  <bernd.schmidt@analog.com>
8340169689Skan
8341169689Skan	* regrename.c (replace_oldest_value_addr): Initialize a variable to
8342169689Skan	shut up the compiler.
8343169689Skan
8344169689Skan2006-03-27  J"orn Rennecke <joern.rennecke@st.com>
8345169689Skan
8346169689Skan	* config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
8347169689Skan	to use lib prefix for target.
8348169689Skan	($(T)libic_invalidate_array_4-200.a): Likewise.
8349169689Skan	($(T)libic_invalidate_array_4a.a): Likewise.
8350169689Skan
8351169689Skan2006-03-27  Andrew Stubbs <andrew.stubbs@st.com>
8352169689Skan	    J"orn Rennecke <joern.rennecke@st.com>
8353169689Skan
8354169689Skan	* superh.opt: New file.
8355169689Skan	* sh.c (boardtype, osruntime): Remove.
8356169689Skan	* superh.h (SUBTARGET_OPTIONS): Remove.
8357169689Skan	* config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
8358169689Skan
8359169689Skan	* config.gcc (sh*-*-*): Don't use c-c ranges for tr.  Quote sed
8360169689Skan	arguments with ^ and/or [].
8361169689Skan
8362169689Skan	* config.gcc (sh-*-*): Add quoting to account for quirk of
8363169689Skan	Solaris /bin/sh.
8364169689Skan	Replace == with = in enable_incomplete_targets test.
8365169689Skan
8366169689Skan	* config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
8367169689Skan	with MASK_LITTLE_ENDIAN.
8368169689Skan
8369169689Skan	* config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
8370169689Skan	* config/sh/sh.opt: Added to some comments.
8371169689Skan	* config/sh/superh.h: Removed some chaff.
8372169689Skan
8373169689Skan	* config/sh/sh.opt: Add m4-[1234]00* options.
8374169689Skan	* config/sh/sh.c (sh_handle_option): Likewise.
8375169689Skan	* config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
8376169689Skan	(ic_invalidate_array_4-100.o): New rule.
8377169689Skan	($(T)libic_invalidate_array_4-100.a): Likewise.
8378169689Skan	(ic_invalidate_array_4-200.o): Likewise.
8379169689Skan	($(T)libic_invalidate_array_4-200.a): Likewise.
8380169689Skan	(ic_invalidate_array_4a.o): Likewise.
8381169689Skan	($(T)libic_invalidate_array_4a.a): Likewise.
8382169689Skan	* config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
8383169689Skan	* config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
8384169689Skan	m4-200*, and m4a*.
8385169689Skan	* config/sh/crt1.asm: Merged in profiling code.
8386169689Skan	* config/sh/superh.h (STARTFILE_SPEC): Override.
8387169689Skan	* config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
8388169689Skan	Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
8389169689Skan	* config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
8390169689Skan
8391169689Skan	* t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
8392169689Skan	* config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
8393169689Skan	MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
8394169689Skan
8395169689Skan	* sh.opt (mpretend-cmove): New option.
8396169689Skan	* sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
8397169689Skan	* sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
8398169689Skan	(movsicc): Add TARGET_PRETEND_CMOVE code.
8399169689Skan
8400169689Skan2006-03-27  Andreas Krebbel  <krebbel1@de.ibm.com>
8401169689Skan
8402169689Skan	* config/s390/s390-protos.h (s390_hard_regno_mode_ok,
8403169689Skan	s390_class_max_nregs): New function prototypes.
8404169689Skan	* config/s390/s390.c (REGNO_PAIR_OK): New macro.
8405169689Skan	(s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
8406169689Skan	* config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
8407169689Skan	CLASS_MAX_NREGS): Macro bodies replaced by function calls.
8408169689Skan
8409169689Skan2006-03-26  Geoffrey Keating  <geoffk@apple.com>
8410169689Skan
8411169689Skan	* dwarf2out.c (add_location_or_const_value_attribute): Call
8412169689Skan	tree_add_const_value_attribute if nothing else works.
8413169689Skan	(reference_to_unused): New.
8414169689Skan	(rtl_for_decl_init): Use reference_to_unused to decide whether
8415169689Skan	to output an initializer.
8416169689Skan
8417169689Skan2006-03-27  Alan Modra  <amodra@bigpond.net.au>
8418169689Skan
8419169689Skan	PR target/26459
8420169689Skan	* config/rs6000/rs6000.md (DF reg move peephole): Prevent
8421169689Skan	peephole removing spe frob_di_df_2.
8422169689Skan
8423169689Skan2006-03-26  Sebastian Pop  <pop@cri.ensmp.fr>
8424169689Skan
8425169689Skan	* tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
8426169689Skan	(subscript_dependence_tester_1): Declared.
8427169689Skan	(print_dir_vectors, print_dist_vectors): New.
8428169689Skan	(debug_data_dependence_relation): New.
8429169689Skan	(dump_data_dependence_relation): Print more details.
8430169689Skan	(initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
8431169689Skan	(analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
8432169689Skan	(save_dist_v, save_dir_v, add_outer_distances,
8433169689Skan	build_classic_dist_vector_1): New.
8434169689Skan	(build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
8435169689Skan	Don't test for lambda_vector_lexico_pos.
8436169689Skan	(same_access_functions, add_multivariate_self_dist,
8437169689Skan	add_other_self_distances, dir_from_dist): New.
8438169689Skan	(build_classic_dir_vector): Replace implementation almost identical to
8439169689Skan	build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
8440169689Skan	dir_from_dist.
8441169689Skan	(subscript_dependence_tester_1): New.
8442169689Skan	(subscript_dependence_tester): Handle the lexicographically negative
8443169689Skan	distance vectors by recomputing the dependence relation.
8444169689Skan	(compute_affine_dependence): Remove parameter loop_nest_depth.
8445169689Skan	(compute_self_dependence): Don't call compute_subscript_distance.
8446169689Skan	(compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
8447169689Skan	Add a parameter for the loop_nest.
8448169689Skan	(find_loop_nest_1, find_loop_nest): New.
8449169689Skan	(compute_data_dependences_for_loop): Compute the loop nest, and give
8450169689Skan	up if the nest is not well formed.
8451169689Skan	* tree-data-ref.h (loop_p): New.
8452169689Skan	(struct data_dependence_relation): Replace size_vect field with
8453169689Skan	loop_nest, a vec of loops.
8454169689Skan	(DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
8455169689Skan	(DDR_LOOP_NEST): New.
8456169689Skan	(print_dir_vectors, print_dist_vectors,
8457169689Skan	debug_data_dependence_relation): Declared.
8458169689Skan	(index_in_loop_nest): New.
8459169689Skan	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
8460169689Skan	DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
8461169689Skan	distance.
8462169689Skan
8463169689Skan2006-03-25  Adam Nemet  <anemet@caviumnetworks.com>
8464169689Skan
8465169689Skan	* simplify-rtx.c (simplify_relational_operation): Call
8466169689Skan	simplify_relational_operation_1 even if mode is VOIDmode.
8467169689Skan
8468169689Skan2006-03-25  Daniel Berlin  <dberlin@dberlin.org>
8469169689Skan
8470169689Skan	PR tree-optimization/26804
8471169689Skan	* tree.h (DECL_CALL_CLOBBERED): New macro.
8472169689Skan	(tree_decl_common): Add call_clobbered_flag.
8473169689Skan	* tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
8474169689Skan	(mark_call_clobbered): Set DECL_CALL_CLOBBERED.
8475169689Skan	(clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
8476169689Skan	(mark_non_addressable): Ditto.
8477169689Skan	* tree-ssa.c (verify_call_clobbered): New function.
8478169689Skan	(verify_alias_info): Use it.
8479169689Skan	* tree-pass.h (pass_reset_cc_flags): New prototype.
8480169689Skan	* tree-ssa-alias.c (pass_reset_cc_flags): New structure.
8481169689Skan	(reset_cc_flags): New function.
8482169689Skan	* passes.c (init_optimization_passes): Call reset_cc_flags after
8483169689Skan	initializing referenced_vars.
8484169689Skan
8485169689Skan2006-03-25  Uros Bizjak  <uros@kss-loka.si>
8486169689Skan	    Roger Sayle  <roger@eyesopen.com>
8487169689Skan
8488169689Skan	PR middle-end/26717
8489169689Skan	* fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
8490169689Skan	to 1.0 for non-real operands. Implement A / A optimization for
8491169689Skan	complex operands.
8492169689Skan
8493169689Skan2006-03-25  H.J. Lu  <hongjiu.lu@intel.com>
8494169689Skan
8495169689Skan	* config/i386/i386.c (size_cost): Correct the comment for
8496169689Skan	cost of storing fp registers.
8497169689Skan	(i386_cost): Likewise.
8498169689Skan	(i486_cost): Likewise.
8499169689Skan	(pentium_cost): Likewise.
8500169689Skan	(pentiumpro_cost): Likewise.
8501169689Skan	(k6_cost): Likewise.
8502169689Skan	(athlon_cost): Likewise.
8503169689Skan	(k8_cost): Likewise.
8504169689Skan	(pentium4_cost): Likewise.
8505169689Skan	(nocona_cost): Likewise.
8506169689Skan	(generic64_cost): Likewise.
8507169689Skan	(generic32_cost): Likewise.
8508169689Skan
8509169689Skan2006-03-24  Denis Chertykov  <denisc@overta.ru>
8510169689Skan
8511169689Skan	* config/avr/avr-protos.h (extra_constraint): Delete.
8512169689Skan	(extra_constraint_Q): New declaration.
8513169689Skan	* config/avr/constraints.md: New file.
8514169689Skan	* config/avr/avr.md: Include it.
8515169689Skan	(REG_X, REG_Y, REG_Z, REG_W): New constants.
8516169689Skan	(TMP_REGNO, ZERO_REGNO): Likewise.
8517169689Skan	(UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
8518169689Skan	* config/avr/avr.c (avr_reg_class_from_letter): Delete.
8519169689Skan	(extra_constraint): Delete.
8520169689Skan	(extra_constraint_Q): Test for memory constraint 'Q'.
8521169689Skan	* config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
8522169689Skan	(REG_CLASS_FROM_LETTER): Delete.
8523169689Skan	(CONST_OK_FOR_LETTER_P): Delete.
8524169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8525169689Skan	(EXTRA_CONSTRAINT): Delete.
8526169689Skan	(TMP_REGNO): Delete.
8527169689Skan	(ZERO_REGNO): Delete.
8528169689Skan
8529169689Skan2006-03-24  Jeff Law  <law@redhat.com>
8530169689Skan
8531169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
8532169689Skan	directly.  Call mark_new_vars_to_rename slightly earlier.
8533169689Skan
8534169689Skan2006-03-24  Geoffrey Keating  <geoffk@apple.com>
8535169689Skan
8536169689Skan	* dwarf2out.c (is_c_family): Understand new DWARF3 language types.
8537169689Skan	(is_cxx): Likewise.
8538169689Skan	(gen_compile_unit_die): Use new language types for Objective-C and
8539169689Skan	Objective-C++.
8540169689Skan	(dwarf2out_decl): Use is_cxx rather than testing explicitly against
8541169689Skan	DW_LANG_C_plus_plus.
8542169689Skan
8543169689Skan	PR 26793
8544169689Skan	* config/t-darwin (crt3.o): Work around bug 26840.
8545169689Skan	* config/darwin-crt3.c: Rewrite.
8546169689Skan	* config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
8547169689Skan
8548169689Skan2006-03-24  Carlos O'Donell  <carlos@codesourcery.com>
8549169689Skan
8550169689Skan	* doc/invoke.texi: Document -femit-class-debug-always
8551169689Skan	* common.opt: Add -femit-class-debug-always.
8552169689Skan
8553169689Skan2006-03-24  Andreas Krebbel  <krebbel1@de.ibm.com>
8554169689Skan
8555169689Skan	* config/s390/s390.c (s390_decompose_address): Allow SImode for
8556169689Skan	index and base register.
8557169689Skan	(s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
8558169689Skan	print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
8559169689Skan	with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
8560169689Skan	REGNO_OK_FOR_INDEX_P.
8561169689Skan	* config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
8562169689Skan	ADDR_REGNO_P.
8563169689Skan	(REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
8564169689Skan	REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
8565169689Skan	REG_OK_FOR_BASE_P): Definitions removed.
8566169689Skan
8567169689Skan2006-03-24  Jakub Jelinek  <jakub@redhat.com>
8568169689Skan
8569169689Skan	PR middle-end/26611
8570169689Skan	* gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
8571169689Skan	non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
8572169689Skan	set yet or weren't marked as local yet.
8573169689Skan
8574169689Skan2006-03-24  Bernd Schmidt  <bernd.schmidt@analog.com>
8575169689Skan
8576169689Skan	* regrename.c (scan_rtx_address): Initialize a variable to shut up
8577169689Skan	the compiler.
8578169689Skan
8579169689Skan2006-03-24  Eric Botcazou  <ebotcazou@adacore.com>
8580169689Skan
8581169689Skan	* config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
8582169689Skan	(rs6000_legitimate_small_data_p): Delete.
8583169689Skan	* config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
8584169689Skan	(rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
8585169689Skan	and make static.  Add forward declaration.  Update uses.
8586169689Skan	(rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
8587169689Skan	of offsettable_memref_p.
8588169689Skan	* config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
8589169689Skan	Use rs6000_offsettable_memref_p instead of a less accurate predicate.
8590169689Skan
8591169689Skan2006-03-24  Jeff Law  <law@redhat.com>
8592169689Skan
8593169689Skan	* tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
8594169689Skan	around bug in immediate-use iterator.
8595169689Skan
8596169689Skan2006-03-24  Alan Modra  <amodra@bigpond.net.au>
8597169689Skan
8598169689Skan	PR target/26607
8599169689Skan	* config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
8600169689Skan	or __LITTLE_ENDIAN__.
8601169689Skan
8602169689Skan2006-03-23  J"orn Rennecke <joern.rennecke@st.com>
8603169689Skan
8604169689Skan	* config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
8605169689Skan	* config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
8606169689Skan	* config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
8607169689Skan	* config/sh/sh.opt (mdiv=): Amend description.
8608169689Skan	* config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
8609169689Skan	(TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
8610169689Skan	(sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
8611169689Skan	SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
8612169689Skan	(OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
8613169689Skan	Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
8614169689Skan	* config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
8615169689Skan	(udivsi3, divsi3): Use them.  Check TARGET_DIVIDE_CALL_TABLE /
8616169689Skan	TARGET_DIVIDE_CALL_FP.
8617169689Skan
8618169689Skan2006-03-23  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
8619169689Skan
8620169689Skan	* haifa-sched.c (choose_ready): Fix type of the local variable.
8621169689Skan	Move local variables.  Add comment.
8622169689Skan	(check_reg_live): Change signature.  Make callable from debugger.
8623169689Skan	* sched-int.h (check_reg_live): Update signature.
8624169689Skan	* sched-ebb.c (check_reg_live): Update parameters.
8625169689Skan	* sched-rgn.c (check_reg_live): Ditto.
8626169689Skan	(region_head_or_leaf_p): Check pointer before dereferencing.
8627169689Skan	* config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
8628169689Skan	before reload on optimization levels below 1.
8629169689Skan
8630169689Skan2006-03-23  Richard Henderson  <rth@redhat.com>
8631169689Skan
8632169689Skan	* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
8633169689Skan	tls symbols.
8634169689Skan
8635169689Skan	PR target/26347
8636169689Skan	* config/alpha/predicates.md (local_symbolic_operand): Reject
8637169689Skan	weak symbols.
8638169689Skan
8639169689Skan2006-03-23  Andrew Pinski  <pinskia@physics.uc.edu>
8640169689Skan
8641169689Skan	PR tree-opt/26795
8642169689Skan	* tree-ssa-pre.c (create_value_expr_from): Don't reject
8643169689Skan	expressions which have overflowed constants.
8644169689Skan
8645169689Skan2006-03-23  Zdenek Dvorak <dvorakz@suse.cz>
8646169689Skan
8647169689Skan	* cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
8648169689Skan
8649169689Skan2006-03-23  Zdenek Dvorak <dvorakz@suse.cz>
8650169689Skan
8651169689Skan	* cfgloopmanip.c (create_loop_notes): Removed.
8652169689Skan	* final.c (final_scan_insn): Do not handle loop notes.
8653169689Skan	* jump.c (squeeze_notes): Ditto.
8654169689Skan	* cfglayout.c (skip_insns_after_block,
8655169689Skan	duplicate_insn_chain): Ditto.
8656169689Skan	* cfgcleanup.c (rest_of_handle_jump2): Do not call
8657169689Skan	create_loop_notes.
8658169689Skan	* cfgloop.h (create_loop_notes): Declaration removed.
8659169689Skan
8660169689Skan2006-03-23  Richard Sandiford  <richard@codesourcery.com>
8661169689Skan
8662169689Skan	* varasm.c (output_constant_pool): Restore fnname and fndecl
8663169689Skan	arguments.
8664169689Skan	(assemble_start_function): Adjust call accordingly.
8665169689Skan	(assemble_end_function): Likewise.
8666169689Skan
8667169689Skan2006-03-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8668169689Skan
8669169689Skan	PR mudflap/26789
8670169689Skan	* tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
8671169689Skan
8672169689Skan	PR mudflap/26790
8673169689Skan	* tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
8674169689Skan
8675169689Skan2006-03-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8676169689Skan
8677169689Skan	PR driver/22600
8678169689Skan	* system.h (ICE_EXIT_CODE): New macro.
8679169689Skan	* diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
8680169689Skan	(diagnostic_action_after_output): Likewise.
8681169689Skan	* gcc.c (fatal_ice): New function.
8682169689Skan	(execute): Use it instead of fatal.
8683169689Skan	(fancy_abort): Likewise.
8684169689Skan	* doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
8685169689Skan
8686169689Skan2006-03-22  Jeff Law  <law@redhat.com>
8687169689Skan
8688169689Skan	* loop-unroll.c (analyze_iv_to_split_insn): Handle
8689169689Skan	iv_analyze_result returning false.
8690169689Skan
8691169689Skan2006-03-22  Jie Zhang  <jie.zhang@analog.com>
8692169689Skan
8693169689Skan	* config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
8694169689Skan
8695169689Skan2006-03-22  Richard Henderson  <rth@redhat.com>
8696169689Skan
8697169689Skan	PR middle-end/26084
8698169689Skan	* except.c (duplicate_eh_regions_0): New.
8699169689Skan	(duplicate_eh_region_1): Duplicate the children of the node as
8700169689Skan	well as the node itself.  Link them up properly.
8701169689Skan	(duplicate_eh_region_2): Merge into ...
8702169689Skan	(duplicate_eh_regions): ... here.  Take copy_region argument, and
8703169689Skan	copy only a sub-tree if asked.  Simplify copying and fixup.
8704169689Skan	(eh_region_outer_p): New.
8705169689Skan	* except.h (duplicate_eh_regions): Update decl.
8706169689Skan	(eh_region_outer_p): Declare.
8707169689Skan	* omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
8708169689Skan	(lower_omp_master): Likewise.
8709169689Skan	(lower_omp_ordered): Likewise.
8710169689Skan	* tree-cfg.c (struct move_stmt_d): Add new_label_map.
8711169689Skan	(move_stmt_r): Use it to remap labels.  Handle recursion vs
8712169689Skan	remap_decls_p properly.
8713169689Skan	(move_block_to_fn): Pass in new_label_map.  Remap RESX_EXPR.
8714169689Skan	(find_outermost_region_in_block): New.
8715169689Skan	(new_label_mapper): New.
8716169689Skan	(move_sese_region_to_fn): Copy eh information to the new function
8717169689Skan	properly.
8718169689Skan	* tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
8719169689Skan	argument.
8720169689Skan	* tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
8721169689Skan	number.
8722169689Skan
8723169689Skan2006-03-22  Richard Sandiford  <richard@codesourcery.com>
8724169689Skan
8725169689Skan	* doc/md.texi (-mshared): Mention that -mshared code can be linked
8726169689Skan	into shared libraries.
8727169689Skan
8728169689Skan2006-03-22  Richard Sandiford  <richard@codesourcery.com>
8729169689Skan
8730169689Skan	* doc/md.texi: Refer to i386/constraints.md instead of
8731169689Skan	i386/predicates.md.
8732169689Skan	* config/i386/constraints.md: New file, extracted from...
8733169689Skan	* config/i386/predicates.md: ...here.
8734169689Skan	* config/i386/i386.md: Include constraints.md.
8735169689Skan
8736169689Skan2006-03-21  Jason Merrill  <jason@redhat.com>
8737169689Skan
8738169689Skan	* builtins.c (expand_builtin_fork_or_exec): Fix pasto.
8739169689Skan
8740169689Skan	PR middle-end/20297
8741169689Skan	* expr.c (init_block_move_fn): Force default visibility.
8742169689Skan	(init_block_clear_fn): Likewise.
8743169689Skan	* builtins.c (expand_builtin_fork_or_exec): Likewise.
8744169689Skan	* targhooks.c (default_external_stack_protect_fail): Likewise.
8745169689Skan
8746169689Skan2006-03-21  Richard Sandiford  <richard@codesourcery.com>
8747169689Skan
8748169689Skan	* config/mips/predicates.md (const_call_insn_operand): Allow direct
8749169689Skan	calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
8750169689Skan	* config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
8751169689Skan	Use TARGET_OLDABI instead of !TARGET_NEWABI.
8752169689Skan	(loadgp): Use mips_current_loadgp_style.
8753169689Skan	(loadgp_noshared): New pattern.
8754169689Skan	(sibcall_internal): Use MIPS_CALL.
8755169689Skan	(sibcall_value_internal): Likewise.
8756169689Skan	(sibcall_value_multiple_internal): Likewise.
8757169689Skan	(call_internal): Likewise.
8758169689Skan	(call_value_internal): Likewise.
8759169689Skan	(call_value_multiple_internal): Likewise.
8760169689Skan	(call_split): Use MIPS_CALL and add an 'S' constraint.
8761169689Skan	(call_value_split): Likewise.
8762169689Skan	(call_value_multiple_split): Likewise.
8763169689Skan	* config/mips/mips.opt (-mabicalls): Tweak docstring.
8764169689Skan	(-mshared): New option.
8765169689Skan	* config/mips/mips-protos.h (mips_loadgp_style): New enum.
8766169689Skan	(mips_current_loadgp_style): Declare.
8767169689Skan	* config/mips/mips.c (mips_classify_symbol): Avoid using
8768169689Skan	SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS.  Use SYMBOL_GENERAL
8769169689Skan	rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
8770169689Skan	TARGET_ABSOLUTE_ABICALLS.
8771169689Skan	(override_options): Adjust comments.  Improve the warning that is
8772169689Skan	issued when -mabicalls and -G are used together.
8773169689Skan	(mips_file_start): Remove comment.
8774169689Skan	(mips_current_loadgp_style): New function.
8775169689Skan	(mips_gnu_local_gp): New variable.
8776169689Skan	(mips_emit_loadgp): Use mips_current_loadgp_style.  Handle
8777169689Skan	LOADGP_ABSOLUTE.
8778169689Skan	(mips_output_function_prologue): Use mips_current_laodgp_style.
8779169689Skan	(mips_expand_prologue): Call mips_emit_loadgp before emitting
8780169689Skan	the cprestore instruction.
8781169689Skan	(mips_extra_live_on_entry): Fix reversed test.  Don't make $25
8782169689Skan	live for TARGET_ABSOLUTE_ABICALLS.
8783169689Skan	* config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
8784169689Skan	(ASM_SPEC): Pass down -mshared and -mno-shared.
8785169689Skan	(MIPS_CALL): New macro.
8786169689Skan	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
8787169689Skan	definition.
8788169689Skan	* doc/invoke.texi (-mabicalls): Update documentation.
8789169689Skan	(-mshared): Document.
8790169689Skan
8791169689Skan2006-03-21  Steve Ellcey  <sje@cup.hp.com>
8792169689Skan
8793169689Skan	* config/ia64/unwind-hpux.c: New file.
8794169689Skan	* config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
8795169689Skan
8796169689Skan2006-03-21  Steve Ellcey  <sje@cup.hp.com>
8797169689Skan
8798169689Skan	PR libgomp/26384
8799169689Skan	* config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
8800169689Skan
8801169689Skan2006-03-21  Jeff Law  <law@redhat.com>
8802169689Skan
8803169689Skan	* tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
8804169689Skan	type conversions of a VR_VARYING source to a wider type.
8805169689Skan
8806169689Skan2006-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
8807169689Skan
8808169689Skan	* config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
8809169689Skan	tm_file on Solaris 10 and later.
8810169689Skan	(sparc64-*-solaris2*): Likewise.
8811169689Skan	(sparc-*-solaris2*): Likewise.
8812169689Skan	* config/sol26.h: Rename to config/sol2-6.h.
8813169689Skan	* config/sol2-10.h: New file.
8814169689Skan
8815169689Skan2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>
8816169689Skan
8817169689Skan	PR tree-opt/26781
8818169689Skan	* tree-ssa-pre.c (create_component_ref_by_pieces):
8819169689Skan	Handle STRING_CST.
8820169689Skan
8821169689Skan2006-03-21  Jakub Jelinek  <jakub@redhat.com>
8822169689Skan
8823169689Skan	PR c++/26690
8824169689Skan	* tree.c (get_callee_fndecl): If CALL is error_mark_node,
8825169689Skan	return it immediately.
8826169689Skan
8827169689Skan2006-03-21  Michael Matz  <matz@suse.de>
8828169689Skan
8829169689Skan	* genautomata.c (<struct state>, num_out_arcs, presence_signature):
8830169689Skan	New members.
8831169689Skan	(remove_arc, add_arc): Update num_out_arcs member.
8832169689Skan	(set_out_arc_insns_equiv_num): Returns nothing instead of number
8833169689Skan	of out arcs.
8834169689Skan	(cache_presence): New function.
8835169689Skan	(compare_states_for_equiv): New function.
8836169689Skan	(state_is_differed): Don't take number of outargs, adjust callers.
8837169689Skan	Use new invariant for speeding up.
8838169689Skan	(init_equiv_class): Create initial classes based on sorted
8839169689Skan	input.
8840169689Skan	(partition_equiv_class): Don't track out_arcs_num.
8841169689Skan	(evaluate_equiv_classes): Call cache_presence on all states and
8842169689Skan	sort them.
8843169689Skan
8844169689Skan2006-03-21  Bernd Schmidt  <bernd.schmidt@analog.com>
8845169689Skan
8846169689Skan	* config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
8847169689Skan	* config/bfin/bfin.c (bfin_dsp_memref_p): New function.
8848169689Skan	(bfin_valid_reg_p): Test for pseudos explicitly and use only
8849169689Skan	REGNO_MODE_CODE_OK_FOR_BASE_P.  New args MODE and OUTER_CODE; all
8850169689Skan	callers changed.
8851169689Skan	* config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
8852169689Skan	(IREG_P, P_REGNO_P, I_REGNO_P): New macros.
8853169689Skan	(enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
8854169689Skan	(BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
8855169689Skan	REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
8856169689Skan	macros.
8857169689Skan	(IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
8858169689Skan	REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
8859169689Skan	(REGNO_REG_CLASS): ARGP is in PREGS.
8860169689Skan	* config/bfin/bfin.md (movhi_insn): Allow for addresses containing
8861169689Skan	IREGS.
8862169689Skan	(zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
8863169689Skan	to deal with those addresses.
8864169689Skan	* addresses.h: New file.
8865169689Skan	* caller-save.c: Include "addresses.h".
8866169689Skan	(init_caller_save): Use new base_reg_class function.
8867169689Skan	* rtl-factoring.c: Include "addresses.h".
8868169689Skan	(recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
8869169689Skan	* recog.c: Include "addresses.h".
8870169689Skan	(preprocess_constraints): Use new base_reg_class function.
8871169689Skan	* regrename.c: Include "addresses.h".
8872169689Skan	(scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
8873169689Skan	functions.  Keep track of a new var INDEX_CODE to compute valid
8874169689Skan	classes.
8875169689Skan	(replace_oldest_value_addr): Likewise.
8876169689Skan	(replace_oldest_value_mem): Use base_reg_class.
8877169689Skan	* reload.c: Include "addresses.h".
8878169689Skan	(REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
8879169689Skan	(find_reloads): Use new base_reg_class function.
8880169689Skan	(find_reloads_address): Likewise; also use regno_ok_for_base_p.
8881169689Skan	(find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
8882169689Skan	all callers and prototype changed.
8883169689Skan	* reload1.c: Include "addresses.h".
8884169689Skan	(maybe_fix_stack_asms): Use base_reg_class.
8885169689Skan	* regclass.c: Include "addresses.h".
8886169689Skan	(ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
8887169689Skan	(init_reg_autoinc): Use new base_reg_class function.
8888169689Skan	(record_reg_classes): Likewise.
8889169689Skan	(record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
8890169689Skan	OUTER_CODE and INDEX_CODE.  All callers and prototype changed.
8891169689Skan	Use new args to compute necessary class.
8892169689Skan
8893169689Skan	* Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
8894169689Skan	regrename.o, rtl-factoring.o): Update dependencies.
8895169689Skan	* doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
8896169689Skan	(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
8897169689Skan	(REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
8898169689Skan	REG_OK_FOR_INDEX_P): Delete documentation.
8899169689Skan
8900169689Skan2006-03-21  Alexey Starovoytov  <alexey.starovoytov@sun.com>
8901169689Skan
8902169689Skan	* config.gcc (sparc-*-solaris2*): Change the default CPU setting
8903169689Skan	from V7 to V9 for Solaris 7 and above.
8904169689Skan
8905169689Skan2006-03-21  Toon Moene  <toon@moene.indiv.nluug.nl>
8906169689Skan
8907169689Skan	* doc/invoke.texi: Document new flag -fargument-noalias-anything.
8908169689Skan	* tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
8909169689Skan	argument pointers may not alias any other storage.
8910169689Skan	* common.opt: Define option -fargument-noalias-anything.
8911169689Skan	* tree-ssa-structalias.c (intra_create_variable_infos): Fortran
8912169689Skan	alias semantics is specified by flag_argument_noalias > 2.
8913169689Skan
8914169689Skan2006-03-20  Jeff Law  <law@redhat.com>
8915169689Skan
8916169689Skan	* tree-pass.h (pass_phi_only_copy_prop): Delete.
8917169689Skan	(pass_phi_only_cprop): Declare.
8918169689Skan	* passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
8919169689Skan	with phi_only_cprop
8920169689Skan	* tree-ssa-dom.c (degenerate_phi_result): New function.
8921169689Skan	(remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
8922169689Skan	(get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
8923169689Skan	(eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
8924169689Skan	(eliminate_degenerate_phis): Likewise.
8925169689Skan	(pass_phi_only_cprop): New pass descriptor.
8926169689Skan	* tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
8927169689Skan	support code.  Callers updated.
8928169689Skan	(execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
8929169689Skan	(store_copy_prop): Likewise.
8930169689Skan	(do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
8931169689Skan
8932169689Skan2006-03-20  Jason Merrill  <jason@redhat.com>
8933169689Skan
8934169689Skan	PR c++/21764
8935169689Skan	* c-pragma.c (visstack): Move out of handle_pragma_visibility.
8936169689Skan	(push_visibility, pop_visibility): Likewise.
8937169689Skan	* c-pragma.h: Declare them.
8938169689Skan
8939169689Skan2006-03-20  Kaz Kojima  <kkojima@gcc.gnu.org>
8940169689Skan
8941169689Skan	* config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
8942169689Skan
8943169689Skan	* config/sh/sh.c (find_regmode_weight): Change the type of the first
8944169689Skan	parameter and use get_ebb_head_tail.
8945169689Skan	(sh_md_init_global): Adjust uses of find_regmode_weight.
8946169689Skan
8947169689Skan2006-03-20  Steven Bosscher  <stevenb.gcc@gmail.com>
8948169689Skan
8949169689Skan	* function.h (struct function) <x_tail_recursion_reentry>:
8950169689Skan	Rename to x_stack_check_probe_note.
8951169689Skan	(tail_recursion_reentry): Rename to stack_check_probe_note.
8952169689Skan	* function.c: Replace tail_recursion_reentry with
8953169689Skan	stack_check_probe_note everywhere.
8954169689Skan	(expand_function_start): Only emit a note for
8955169689Skan	stack_check_probe_note with -fstack-protect.
8956169689Skan	* stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
8957169689Skan
8958169689Skan	* emit-rtl.c (remove_unnecessary_notes): Remove.
8959169689Skan	(pass_remove_unnecessary_notes): Remove.
8960169689Skan	* rtl.h (remove_unnecessary_notes): Remove prototype.
8961169689Skan	* final.c (final_start_function): Don't call remove_unnecessary_notes.
8962169689Skan	* tree-pass.h (pass_remove_unnecessary_notes): Remove.
8963169689Skan	* passes.c (pass_remove_unnecessary_notes): Don't run it.
8964169689Skan
8965169689Skan2006-03-20  Andrew Pinski  <pinskia@physics.uc.edu>
8966169689Skan
8967169689Skan	PR tree-opt/26629
8968169689Skan	* tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
8969169689Skan	(valid_in_set): Handle ARRAY_REF.
8970169689Skan	Change "if min_variant or VH" to asserts.
8971169689Skan	(create_component_ref_by_pieces): Handle ARRAY_REF.
8972169689Skan	(create_expression_by_pieces): Likewise.
8973169689Skan	(can_PRE_operation): ARRAY_REFs can now be PRE'd.
8974169689Skan
8975169689Skan2006-03-20  David Edelsohn  <edelsohn@gnu.org>
8976169689Skan
8977169689Skan	* genpreds.c (write_insn_extra_address_constraint): Argument `c'
8978169689Skan	is operand of switch, not str[0].
8979169689Skan
8980169689Skan2006-03-20  Alan Modra  <amodra@bigpond.net.au>
8981169689Skan
8982169689Skan	* config/rs6000/rs6000.c (rs6000_handle_option): Use
8983169689Skan	TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
8984169689Skan
8985169689Skan2006-03-19  David Edelsohn  <edelsohn@gnu.org>
8986169689Skan
8987169689Skan	* genpreds.c (write_tm_preds_h): Add semicolon and newline at
8988169689Skan	end of insn_extra_address_constraint declaration.
8989169689Skan
8990169689Skan2006-03-19  David Edelsohn  <edelsohn@gnu.org>
8991169689Skan
8992169689Skan	* config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
8993169689Skan	(no-sum-in-toc): Same.
8994169689Skan	* config/rs6000/rs6000.c (rs6000_handle_option): Use new
8995169689Skan	variables.
8996169689Skan	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
8997169689Skan	NO_FP_IN_TOC for -fPIC instead of mask.
8998169689Skan
8999169689Skan	* config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
9000169689Skan	(BOOT_LDFLAGS): Delete.
9001169689Skan	(LDFLAGS): Delete.
9002169689Skan	* config/rs6000/t-aix52: Same.
9003169689Skan
9004169689Skan	* config/rs6000/rs6000.md (store_multiple_power): Delete.
9005169689Skan	(stmsi[345678]_power): New.
9006169689Skan
9007169689Skan2006-03-17  Steve Ellcey  <sje@cup.hp.com>
9008169689Skan
9009169689Skan	* config/ia64/ia64.opt: Add empty line to end of file.
9010169689Skan
9011169689Skan2006-03-17  Richard Guenther  <rguenther@suse.de>
9012169689Skan
9013169689Skan	PR middle-end/26721
9014169689Skan	* builtins.c (get_pointer_alignment): For component style references
9015169689Skan	adjust alignment to the component type alignment.  Make sure
9016169689Skan	to adjust alignment for component access of constants.
9017169689Skan
9018169689Skan2006-03-17  David Edelsohn  <edelsohn@gnu.org>
9019169689Skan
9020169689Skan	* config/rs6000/rs6000.md (strlensi): Emit barrier after
9021169689Skan	unconditional jump.
9022169689Skan
9023169689Skan2006-03-17  Paul Brook  <paul@codesourcery.com>
9024169689Skan
9025169689Skan	* doc/install.texi: Docuemnt --with-mode.
9026169689Skan	* config.gcc: Add --with-mode for arm*-*-*.
9027169689Skan	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
9028169689Skan
9029169689Skan2006-03-17  J"orn Rennecke <joern.rennecke@st.com>
9030169689Skan
9031169689Skan	* sh.c (max_labelno_before_reorg): New variable.
9032169689Skan	(sh_reorg): Initialize it.
9033169689Skan	(find_barrier): Check max_labelno_before_reorg before using
9034169689Skan	label_to_alignment.  Take length of explicit alignment insns
9035169689Skan	into account.  When seeing a UNSPECV_CONST_END, return it.
9036169689Skan
9037169689Skan	* sh.c (fixup_mova): Set mode of affected label to QImode.
9038169689Skan	(untangle_mova): New function.
9039169689Skan	(find_barrier): Use it.  Check mode of label before decrementing
9040169689Skan	num_mova.
9041169689Skan	(sh_reorg): Likewise.
9042169689Skan	Set mode of all insns back to VOIDmode.
9043169689Skan
9044169689Skan	* sh.c (MOVA_LABELREF): New macro.
9045169689Skan	(mova_p, fixup_mova, sh_reorg): Use it.
9046169689Skan	(find_barrier, sh_reorg): Don't count num_mova back to 0 unless
9047169689Skan	ADDR_DIFF_VEC matches mova.
9048169689Skan
9049169689Skan2006-03-17  Steven Bosscher  <stevenb.gcc@gmail.com>
9050169689Skan
9051169689Skan	* dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
9052169689Skan	with ATTRIBUTE_UNUSED.
9053169689Skan
9054169689Skan2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
9055169689Skan
9056169689Skan	* dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
9057169689Skan	pointer, instead of assuming it is possible to derive the
9058169689Skan	correct args size from a call insn.
9059169689Skan
9060169689Skan2006-03-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9061169689Skan
9062169689Skan	* rtl.h (CONST_INT_P): Define.
9063169689Skan	* config/vax/vax.c (print_operand_address): Use CONST_INT_P()
9064169689Skan	instead of GET_CODE(x) == CONST_INT.
9065169689Skan	(vax_rtx_costs): Likewise.
9066169689Skan	(vax_output_int_move): Likewise.
9067169689Skan	(vax_output_int_add): Likewise.
9068169689Skan	(legitimate_constant_address_p): Likewise.
9069169689Skan	(index_term_p): Likewise.
9070169689Skan	* config/vax/vax.h (PRINT_OPERAND): Likewise.
9071169689Skan	* config/vax/vax.md (and<mode>3): Likewise.
9072169689Skan	(ashrsi3): Likewise.
9073169689Skan	(extv): Likewise.
9074169689Skan	(movstricthi): Likewise.
9075169689Skan	(movstrictqi): Likewise.
9076169689Skan	(rotrsi3): Likewise.
9077169689Skan	(five unnamed insns): Likewise.
9078169689Skan
9079169689Skan2006-03-16  Geoffrey Keating  <geoffk@apple.com>
9080169689Skan
9081169689Skan	* doc/tm.texi (SDB and DWARF): Add extra parameter to
9082169689Skan	ASM_OUTPUT_DWARF_OFFSET.  Use @var to indicate metavariables.
9083169689Skan	* dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
9084169689Skan	* dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
9085169689Skan	Pass to ASM_OUTPUT_DWARF_OFFSET.
9086169689Skan	* dwarf2out.c (debug_frame_section): New.
9087169689Skan	(output_call_frame_info): Use debug_frame_section.  Pass it to
9088169689Skan	dw2_asm_output_offset.
9089169689Skan	(output_die): Pass appropriate section to dw2_asm_output_offset.
9090169689Skan	(output_compilation_unit_header): Likewise.
9091169689Skan	(output_pubnames): Likewise.
9092169689Skan	(output_aranges): Likewise.
9093169689Skan	(enum dw_val_class): Break dw_val_class_lbl_offset into
9094169689Skan	dw_val_class_lineptr and dw_val_class_macptr.
9095169689Skan	(add_AT_lbl_offset): Delete.
9096169689Skan	(add_AT_lineptr): New.
9097169689Skan	(add_AT_macptr): New.
9098169689Skan	(AT_lbl): Expect a lineptr or macptr.
9099169689Skan	(print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
9100169689Skan	(attr_checksum): Likewise.
9101169689Skan	(same_dw_val_p): Likewise.
9102169689Skan	(size_of_die): Likewise.
9103169689Skan	(value_format): Likewise.
9104169689Skan	(output_die): Likewise.
9105169689Skan	(dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
9106169689Skan	add_AT_lbl_offset.
9107169689Skan	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
9108169689Skan	* config/i386/i386.c (x86_file_start): Call darwin_file_start.
9109169689Skan	* config/darwin-protos.h (darwin_file_start): New.
9110169689Skan	(darwin_asm_output_dwarf_offset): New.
9111169689Skan	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
9112169689Skan	* config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
9113169689Skan	darwin_file_start.
9114169689Skan	* config/darwin.c (darwin_emit_unwind_label): Don't output label
9115169689Skan	if not EH section; simplify.
9116169689Skan	(darwin_file_start): New.
9117169689Skan	(darwin_asm_output_dwarf_offset): New.
9118169689Skan	* config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
9119169689Skan	mark as 'debug'.
9120169689Skan	(DEBUG_INFO_SECTION): Likewise.
9121169689Skan	(DEBUG_ABBREV_SECTION): Likewise.
9122169689Skan	(DEBUG_ARANGES_SECTION): Likewise.
9123169689Skan	(DEBUG_MACINFO_SECTION): Likewise.
9124169689Skan	(DEBUG_LINE_SECTION): Likewise.
9125169689Skan	(DEBUG_LOC_SECTION): Likewise.
9126169689Skan	(DEBUG_PUBNAMES_SECTION): Likewise.
9127169689Skan	(DEBUG_STR_SECTION): Likewise.
9128169689Skan	(DEBUG_RANGES_SECTION): Likewise.
9129169689Skan	(FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
9130169689Skan	(ASM_OUTPUT_DWARF_OFFSET): New.
9131169689Skan
9132169689Skan2006-03-16  Joseph S. Myers  <joseph@codesourcery.com>
9133169689Skan
9134169689Skan	* config.gcc (tm_defines): Always add to previous value rather
9135169689Skan	than replacing it.
9136169689Skan
9137169689Skan2006-03-16  Richard Sandiford  <richard@codesourcery.com>
9138169689Skan
9139169689Skan	* config/mips/predicates.md (splittable_const_int_operand): New,
9140169689Skan	split from move_operand.
9141169689Skan	(splittable_symbolic_operand): New.
9142169689Skan	(move_operand): Add commentary.  Use splittable_const_int_operand.
9143169689Skan	Inline mips_atomic_symbolic_constant_p.
9144169689Skan	* config/mips/mips.md: Add combine splitters for handling moves
9145169689Skan	of splittable_const_int_operands and splittable_symbolic_operands.
9146169689Skan	* config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
9147169689Skan	(mips_split_symbol): Declare.
9148169689Skan	(mips_move_integer): Declare.
9149169689Skan	* config/mips/mips.c (mips_split_p): Make global.
9150169689Skan	(TARGET_MIN_ANCHOR_OFFSET): Override default.
9151169689Skan	(TARGET_MAX_ANCHOR_OFFSET): Likewise.
9152169689Skan	(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
9153169689Skan	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
9154169689Skan	(mips_offset_within_object_p): Handle block symbols.
9155169689Skan	(mips_atomic_symbolic_constant_p): Delete.
9156169689Skan	(mips_cannot_force_const_mem): Return false for constants that
9157169689Skan	mips_legitimize_move can handle.
9158169689Skan	(mips_use_blocks_for_constant_p): New function.
9159169689Skan	(mips_split_symbol): Make global.
9160169689Skan	(mips_move_integer): Likewise.  Add a temporary register argument.
9161169689Skan	(mips_legitimize_const_move): Use splittable_const_int_operand and
9162169689Skan	splittable_symbolic_operand.
9163169689Skan	(mips_use_anchors_for_symbol_p): New function.
9164169689Skan	* config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
9165169689Skan	(mips_split_p): Declare.
9166169689Skan
9167169689Skan2006-03-16  Richard Sandiford  <richard@codesourcery.com>
9168169689Skan
9169169689Skan	* config.gcc (mips64*-*-linux*): Keep existing tm_defines.
9170169689Skan	(mips*-*-linux*): Likewise.
9171169689Skan
9172169689Skan2006-03-16  Roger Sayle  <roger@eyesopen.com>
9173169689Skan	    Daniel Speyer  <dspeyer@wam.umd.edu>
9174169689Skan
9175169689Skan	PR middle-end/18259
9176169689Skan	* tree-dump.c (dump_real): New function.
9177169689Skan	(dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
9178169689Skan	* Makefile.in (REAL_H): New macro for dependencies on real.h.
9179169689Skan	(tree-dump.o): Add $(REAL_H) to the dependencies.
9180169689Skan
9181169689Skan2006-03-16  Roger Sayle  <roger@eyesopen.com>
9182169689Skan
9183169689Skan	PR middle-end/21781
9184169689Skan	* real.c (real_from_string): If the mantissa is zero, don't bother
9185169689Skan	parsing the exponent as the result should always be zero.
9186169689Skan
9187169689Skan2006-03-16  Andreas Krebbel  <krebbel1@de.ibm.com>
9188169689Skan
9189169689Skan	* simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
9190169689Skan
9191169689Skan2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9192169689Skan
9193169689Skan	* config/ia64/ia64.c (stops_p): Added explicit initialization.
9194169689Skan	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
9195169689Skan	ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
9196169689Skan	ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
9197169689Skan	ia64_sched_finish_global): New static functions to implement
9198169689Skan	hooks from gcc_target.sched.
9199169689Skan	(spec_check_no, max_uid, pending_data_specs): New static variables.
9200169689Skan	(ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
9201169689Skan	ia64_spec_check_src_p): New static functions.
9202169689Skan	(ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
9203169689Skan	(TARGET_SCHED_ADJUST_COST): Removed.
9204169689Skan	(TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
9205169689Skan	TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
9206169689Skan	TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
9207169689Skan	TARGET_SCHED_GEN_CHECK,
9208169689Skan	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
9209169689Skan	TARGET_SCHED_SET_SCHED_FLAGS): New macros.
9210169689Skan	(update_set_flags, group_barrier_needed, set_src_needs_barrier):
9211169689Skan	Fixed to handle speculation checks.
9212169689Skan	(rtx_needs_barrier): Fixed to handle speculative loads and
9213169689Skan	their checks.
9214169689Skan	(ia64_variable_issue): Added code to count speculative loads and their
9215169689Skan	checks.
9216169689Skan	(ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
9217169689Skan	speculative loads.
9218169689Skan	(enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
9219169689Skan	New enumerations.
9220169689Skan	(SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
9221169689Skan	New constants.
9222169689Skan	(ia64_ld_address_bypass_p): Fixed to handle speculative loads.
9223169689Skan	(ia64_reorg): Reset stops_p to NULL after it is freed.
9224169689Skan	* config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
9225169689Skan	UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
9226169689Skan	(itanium_class): chk_s renamed to chk_s_i.  New constants: chk_s_f,
9227169689Skan	chk_a.
9228169689Skan	(data_speculative, control_speculative, check_load): New attributes.
9229169689Skan	(mov<mode>_advanced, mov<mode>_speculative,
9230169689Skan	mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
9231169689Skan	zero_extend<mode>di2_speculative,
9232169689Skan	zero_extend<mode>di2_speculative_advanced): New patterns for
9233169689Skan	data and control speculative loads.
9234169689Skan	(mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
9235169689Skan	check loads.
9236169689Skan	(advanced_load_check_clr_<mode>, speculation_check_<mode>):
9237169689Skan	New pattern for data and control speculation checks.
9238169689Skan	(MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
9239169689Skan	ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
9240169689Skan	reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
9241169689Skan	Auxiliary definitions for the patterns.
9242169689Skan	* config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
9243169689Skan	1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
9244169689Skan	constraints.
9245169689Skan	(1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
9246169689Skan	for speculation.
9247169689Skan	(1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
9248169689Skan	* config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
9249169689Skan	2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
9250169689Skan	New resource constraints.
9251169689Skan	(2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
9252169689Skan	for speculation.
9253169689Skan	(2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
9254169689Skan	* config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
9255169689Skan	msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
9256169689Skan	msched-in-control-spec, msched-ldc, msched-control-ldc,
9257169689Skan	msched-spec-verbose, msched-prefer-non-data-spec-insns,
9258169689Skan	msched-prefer-non-control-spec-insns,
9259169689Skan	msched-count-spec-in-critical-path): New flags to tune speculative
9260169689Skan	scheduling.
9261169689Skan	* doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
9262169689Skan	msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
9263169689Skan	msched-in-control-spec, msched-ldc, msched-control-ldc,
9264169689Skan	msched-spec-verbose, msched-prefer-non-data-spec-insns,
9265169689Skan	msched-prefer-non-control-spec-insns,
9266169689Skan	msched-count-spec-in-critical-path): Document new flags.
9267169689Skan
9268169689Skan2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9269169689Skan
9270169689Skan	* target.h (struct spec_info_def): New opaque declaration.
9271169689Skan	(struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
9272169689Skan	speculate_insn, needs_block_p, gen_check,
9273169689Skan	first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
9274169689Skan	* target-def.h (TARGET_SCHED_ADJUST_COST_2,
9275169689Skan	TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
9276169689Skan	TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
9277169689Skan	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
9278169689Skan	TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
9279169689Skan	gcc_target.sched.
9280169689Skan	(TARGET_SCHED): Use new macros.
9281169689Skan	* rtl.h (copy_DEPS_LIST_list): New prototype.
9282169689Skan	* sched-int.h (struct sched_info): Change signature of new_ready field,
9283169689Skan	adjust all initializations. New fields: add_remove_insn,
9284169689Skan	begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
9285169689Skan	region_head_or_leaf_p.
9286169689Skan	(struct spec_info_def): New structure declaration.
9287169689Skan	(spec_info_t): New typedef.
9288169689Skan	(struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
9289169689Skan	recovery_block, orig_pat.
9290169689Skan	(glat_start, glat_end): New variables declaraions.
9291169689Skan	(TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
9292169689Skan	New access macros.
9293169689Skan	(enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
9294169689Skan	DETACH_LIFE_INFO, USE_GLAT.
9295169689Skan	(enum SPEC_SCHED_FLAGS): New enumeration.
9296169689Skan	(NOTE_NOTE_BB_P): New macro.
9297169689Skan	(extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
9298169689Skan	attach_life_info, debug_spec_status, check_reg_live): New functions.
9299169689Skan	(get_block_head_tail): Change signature to get_ebb_head_tail, adjust
9300169689Skan	all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
9301169689Skan	sched-ebb.c
9302169689Skan	(get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
9303169689Skan	* ddg.c (get_block_head_tail): Adjust all uses.
9304169689Skan	* modulo-sched.c (get_block_head_tail): Adjust all uses.
9305169689Skan	(sms_sched_info): Initialize new fields.
9306169689Skan	(contributes_to_priority): Removed.
9307169689Skan	* haifa-sched.c (params.h): New include.
9308169689Skan	(get_block_head_tail): Adjust all uses.
9309169689Skan	(ISSUE_POINTS): New macro.
9310169689Skan	(glat_start, glat_end): New global variables.
9311169689Skan	(spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
9312169689Skan	nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
9313169689Skan	old_last_basic_block, before_recovery, current_sched_info_var,
9314169689Skan	rgn_n_insns, luid): New static variables.
9315169689Skan	(insn_cost1): New function.  Move logic from insn_cost to here.
9316169689Skan	(find_insn_reg_weight1): New function.  Move logic from
9317169689Skan	find_insn_reg_weight to here.
9318169689Skan	(reemit_notes, move_insn, max_issue): Change signature.
9319169689Skan	(move_insn1): Removed.
9320169689Skan	(extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
9321169689Skan	extend_bb): New static functions to support extension of scheduler's
9322169689Skan	data structures.
9323169689Skan	(generate_recovery_code, process_insn_depend_be_in_spec,
9324169689Skan	begin_speculative_block, add_to_speculative_block,
9325169689Skan	init_before_recovery, create_recovery_block, create_check_block_twin,
9326169689Skan	fix_recovery_deps): New static functions to support
9327169689Skan	generation of recovery code.
9328169689Skan	(fix_jump_move, find_fallthru_edge, dump_new_block_header,
9329169689Skan	restore_bb_notes, move_block_after_check, move_succs): New static
9330169689Skan	functions to support ebb scheduling.
9331169689Skan	(init_glat, init_glat1, attach_life_info1, free_glat): New static
9332169689Skan	functions to support handling of register live information.
9333169689Skan	(associate_line_notes_with_blocks, change_pattern, speculate_insn,
9334169689Skan	sched_remove_insn, clear_priorities, calc_priorities, bb_note,
9335169689Skan	add_jump_dependencies):	New static functions.
9336169689Skan	(check_cfg, has_edge_p, check_sched_flags): New static functions for
9337169689Skan	consistancy checking.
9338169689Skan	(debug_spec_status): New function to call from debugger.
9339169689Skan	(priority): Added code to handle speculation checks.
9340169689Skan	(rank_for_schedule): Added code to distinguish speculative instructions.
9341169689Skan	(schedule_insn): Added code to handle speculation checks.
9342169689Skan	(unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
9343169689Skan	Fixed to handle ebbs.
9344169689Skan	(move_insn): Added code to handle ebb scheduling.
9345169689Skan	(max_issue): Added code to use ISSUE_POINTS of instructions.
9346169689Skan	(choose_ready): Added code to choose between speculative and
9347169689Skan	non-speculative instructions.
9348169689Skan	(schedule_block): Added code to handle ebb scheduling and scheduling of
9349169689Skan	speculative instructions.
9350169689Skan	(sched_init): Initialize new variables.
9351169689Skan	(sched_finish): Free new variables.  Print statistics.
9352169689Skan	(try_ready): Added code to handle speculative instructions.
9353169689Skan	* lists.c (copy_DEPS_LIST_list): New function.
9354169689Skan	* sched-deps.c (extend_dependency_caches): New function.  Move logic
9355169689Skan	from create_dependency_caches to here.
9356169689Skan	(get_dep_weak, ds_merge): Make global.
9357169689Skan	* genattr.c (main): Code to output prototype for
9358169689Skan	dfa_clear_single_insn_cache.
9359169689Skan	* genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
9360169689Skan	(output_dfa_clean_insn_cache_func): Code to output
9361169689Skan	dfa_clear_single_insn_cache function.
9362169689Skan	* sched-ebb.c (target_n_insns): Remove.  Adjust all users to use
9363169689Skan	n_insns.
9364169689Skan	(can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
9365169689Skan	Removed.
9366169689Skan	(n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
9367169689Skan	New static variables.
9368169689Skan	(begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
9369169689Skan	fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
9370169689Skan	struct sched_info.
9371169689Skan	(ebb_sched_info): Initialize new fields.
9372169689Skan	(get_block_head_tail): Adjust all uses.
9373169689Skan	(compute_jump_reg_dependencies): Fixed to use glat_start.
9374169689Skan	(schedule_ebb): Code to remove unreachable last block.
9375169689Skan	(schedule_ebbs): Added code to update register live information.
9376169689Skan	* sched-rgn.c (region_sched_info): Initialize new fields.
9377169689Skan	(get_block_head_tail): Adjust all uses.
9378169689Skan	(last_was_jump): Removed.  Adjust users.
9379169689Skan	(begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
9380169689Skan	add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
9381169689Skan	Implement new hooks.
9382169689Skan	(check_dead_notes1): New static function.
9383169689Skan	(struct region): New fields: dont_calc_deps, has_real_ebb.
9384169689Skan	(RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
9385169689Skan	(BB_TO_BLOCK): Fixed to handle EBBs.
9386169689Skan	(EBB_FIRST_BB, EBB_LAST_BB): New macros.
9387169689Skan	(ebb_head): New static variable.
9388169689Skan	(debug_regions, contributes_to_priority): Fixed to handle EBBs.
9389169689Skan	(find_single_block_regions, find_rgns, find_more_rgns): Initialize
9390169689Skan	new fields.
9391169689Skan	(compute_dom_prob_ps): New assertion.
9392169689Skan	(check_live_1, update_live_1): Fixed to work with glat_start instead of
9393169689Skan	global_live_at_start.
9394169689Skan	(init_ready_list): New assertions.
9395169689Skan	(can_schedule_ready_p): Split update code to begin_schedule_ready.
9396169689Skan	(new_ready): Add support for BEGIN_CONTROL speculation.
9397169689Skan	(schedule_insns): Fixed code that updates register live information
9398169689Skan	to handle EBBs.
9399169689Skan	(schedule_region): Fixed to handle EBBs.
9400169689Skan	(init_regions): Use extend_regions and check_dead_notes1.
9401169689Skan	* params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
9402169689Skan	PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
9403169689Skan	* doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
9404169689Skan	TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
9405169689Skan	TARGET_SCHED_GEN_CHECK,
9406169689Skan	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
9407169689Skan	TARGET_SCHED_SET_SCHED_FLAGS): Document.
9408169689Skan	* doc/invoke.texi (max-sched-insn-conflict-delay,
9409169689Skan	sched-spec-prob-cutoff): Document.
9410169689Skan
9411169689Skan2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9412169689Skan
9413169689Skan	* sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
9414169689Skan	inter_tick, queue_index.
9415169689Skan	(struct sched_info): Change signature of init_ready_list field.
9416169689Skan	Adjust all initializations.
9417169689Skan	(RESOLVED_DEPS): New access macro.
9418169689Skan	(ready_add): Remove prototype.
9419169689Skan	(try_ready): Add prototype.
9420169689Skan	* sched-rgn.c (init_ready_list): Use try_ready.
9421169689Skan	(schedule_region): Initialize
9422169689Skan	current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
9423169689Skan	* sched-ebb.c (new_ready): Remove.  Adjust ebb_sched_info.
9424169689Skan	(init_ready_list): Use try_ready.
9425169689Skan	(schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
9426169689Skan	* lists.c (remove_list_elem): Remove `static'.
9427169689Skan	(remove_free_INSN_LIST_elem): New function.
9428169689Skan	* rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
9429169689Skan	* haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
9430169689Skan	(INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
9431169689Skan	New constants.
9432169689Skan	(readyp): New variable.
9433169689Skan	(queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
9434169689Skan	change_queue_index, resolve_dep): New static functions.
9435169689Skan	(try_ready): New function.  Adjust callers in sched-rgn.c and
9436169689Skan	sched-ebb.c to use it instead of ready_add.
9437169689Skan	(clock_var): Move at the begining of file.
9438169689Skan	(rank_for_schedule): Fix typo.
9439169689Skan	(queue_insn): Add assertion.  Handle QUEUE_INDEX.
9440169689Skan	(ready_lastpos): Enforce assertion.
9441169689Skan	(ready_add): Make it static.  Handle QUEUE_INDEX.  Add new argument,
9442169689Skan	update all callers.
9443169689Skan	(ready_remove_first, ready_remove): Handle QUEUE_INDEX.
9444169689Skan	(schedule_insn): Rewrite to use try_ready and resolve_dep.
9445169689Skan	(queue_to_ready): Use free_INSN_LIST_list.
9446169689Skan	(early_queue_to_ready): Fix typo.
9447169689Skan	(schedule_block): Init readyp.  Move init_ready_list call after the
9448169689Skan	initialization of clock_var.  Fix error in rejecting insn by
9449169689Skan	targetm.sched.dfa_new_cycle.  Add call to fix_inter_tick.  Remove code
9450169689Skan	that previously	corrected INSN_TICKs.  Add code for handling
9451169689Skan	QUEUE_INDEX.
9452169689Skan	(set_priorities): Fix typo.
9453169689Skan	(sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
9454169689Skan	Clarify comment and code that keeps current_sched_info->next_tail
9455169689Skan	non-null.
9456169689Skan
9457169689Skan2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9458169689Skan
9459169689Skan	* sched-rgn.c (extend_rgns): New static function.
9460169689Skan	(find_rgns): Use it.
9461169689Skan	(gather_region_statistics, print_region_statistics): New static
9462169689Skan	functions.
9463169689Skan	* params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
9464169689Skan	* doc/invoke.texi (max-sched-extend-regions-iters): Document.
9465169689Skan
9466169689Skan2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
9467169689Skan	    Andrey Belevantsev <abel@ispras.ru>
9468169689Skan
9469169689Skan	* ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
9470169689Skan	* lists.c (unused_deps_list): New variable.
9471169689Skan	(free_list): Add assertions to verify the proper distinguishing
9472169689Skan	between INSN_LISTs and DEPS_LISTs.
9473169689Skan	(find_list_elem, remove_list_elem, remove_list_node): New static
9474169689Skan	functions.
9475169689Skan	(alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
9476169689Skan	remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
9477169689Skan	remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
9478169689Skan	(alloc_INSN_LIST): Assert that the list we're working on is indeed
9479169689Skan	an INSN_LIST.
9480169689Skan	(free_INSN_LIST_node): Likewise.
9481169689Skan	* modulo-sched.c (current_sched_info): Initialize flags field.
9482169689Skan	* reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
9483169689Skan	* rtl.def (DEPS_LIST): Define.
9484169689Skan	* rtl.h: Declare new functions from lists.c.
9485169689Skan	* sched-deps.c (spec_dependency_cache): New static variable.
9486169689Skan	(maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
9487169689Skan	(add_dependence): Change return type to void.  Move the logic to ...
9488169689Skan	(add_or_update_back_dep_1): ... here.  Handle speculative dependencies.
9489169689Skan	(delete_all_dependences): Add comment about forward_dependency_cache.
9490169689Skan	Handle spec_dependency_cache.  Handle DEPS_LISTs.
9491169689Skan	(fixup_sched_groups): Clarify the change of priority of output
9492169689Skan	and anti dependencies.
9493169689Skan	(sched_analyze_2): Adjust add_dependence calls to create data
9494169689Skan	speculative dependence.
9495169689Skan	(add_forward_dependence): Renamed to add_forw_dep, change prototype.
9496169689Skan	Adjust all callers.  Handle DEPS_LISTS.
9497169689Skan	(compute_forward_dependences): Use add_forw_dep.  Sort LOG_LINKs in
9498169689Skan	presence of speculation.
9499169689Skan	(init_dependency_caches, free_dependency_caches):
9500169689Skan	Handle spec_dependency_cache.
9501169689Skan	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
9502169689Skan	estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
9503169689Skan	New static functions.
9504169689Skan	(add_or_update_back_dep, add_or_update_back_forw_dep,
9505169689Skan	add_back_forw_dep, delete_back_forw_dep): New functions.
9506169689Skan	* sched-int.h (ds_t, dw_t): New typedefs.
9507169689Skan	(struct sched_info): Add new field flags.
9508169689Skan	(struct haifa_insn_data): Add new bitfield has_internal_dep.
9509169689Skan	Prototype new sched-deps.c functions.
9510169689Skan	(HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
9511169689Skan	(BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
9512169689Skan	MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
9513169689Skan	BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
9514169689Skan	SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
9515169689Skan	SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
9516169689Skan	New constants.
9517169689Skan	(enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
9518169689Skan	New enums.
9519169689Skan	* sched-rgn.c (current_sched_info): Initialize flags field.
9520169689Skan	(schedule_insns): Initialize current_sched_info before the sched_init
9521169689Skan	call.
9522169689Skan	* sched-ebb.c (current_sched_info): Initialize flags field.
9523169689Skan	(add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
9524169689Skan	Call add_or_update_back_dep instead of add_dependence.
9525169689Skan	Create control speculative dependencies.
9526169689Skan	(schedule_insns): Initialize current_sched_info before the sched_init
9527169689Skan	call.
9528169689Skan
9529169689Skan2006-03-16  Kaz Kojima  <kkojima@gcc.gnu.org>
9530169689Skan
9531169689Skan	* config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
9532169689Skan	fs->signal_frame.
9533169689Skan	(sh_fallback_frame_state): Likewise.
9534169689Skan
9535169689Skan2006-03-15  Geoffrey Keating  <geoffk@apple.com>
9536169689Skan
9537169689Skan	* config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
9538169689Skan	Do switch on default_use_cxa_atexit.
9539169689Skan	(powerpc*-*-darwin*): Build crt2.o on powerpc.
9540169689Skan	* config/darwin-crt3.o: New.
9541169689Skan	* config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
9542169689Skan	to 10.3.  Pass '-multiply_defined suppress' if crt3.o is in use.
9543169689Skan	(STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
9544169689Skan	OS version.
9545169689Skan	* config/rs6000/t-darwin: Move crt2.o building to here.
9546169689Skan	* config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
9547169689Skan	Mac OS version for using __cxa_get_exception_ptr.  Don't test versions
9548169689Skan	of __cxa_atexit.
9549169689Skan
9550169689Skan2006-03-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9551169689Skan
9552169689Skan	* config/vax/vax.c (nonindexed_address_p): Change logical negation
9553169689Skan	from '! xxx' to '!xxx' for coding-style conformance.
9554169689Skan	* config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
9555169689Skan	(EXTRA_CONSTRAINT): Likewise.
9556169689Skan	* config/vax/vax.md (four unnamed insns): Likewise.
9557169689Skan
9558169689Skan2006-03-15  Paul Brook  <paul@codesourcery.com>
9559169689Skan
9560169689Skan	* config/arm/arm.c (minipool_pad): New.
9561169689Skan	(add_minipool_forward_ref): Include pool alignment padding in address
9562169689Skan	calculation.
9563169689Skan	(push_minipool_fix): Set minipool_pad.
9564169689Skan	(minipool_pad): Ditto.
9565169689Skan
9566169689Skan2006-03-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9567169689Skan
9568169689Skan	* config/vax/vax.c (split_quadword_operands): Use MEM_P()
9569169689Skan	instead of GET_CODE() == MEM and REG_P() instead of
9570169689Skan	GET_CODE() == REG.
9571169689Skan	(print_operand_address): Likewise.
9572169689Skan	(vax_address_cost): Likewise.
9573169689Skan	(vax_rtx_costs): Likewise.
9574169689Skan	(vax_notice_update_cc): Likewise.
9575169689Skan	(vax_output_int_add): Likewise.
9576169689Skan	(INDEX_REGISTER_P): Likewise.
9577169689Skan	(BASE_REGISTER_P): Likewise.
9578169689Skan	(nonindexed_address_p): Likewise.
9579169689Skan	(vax_mode_dependent_address_p): Likewise.
9580169689Skan	* config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
9581169689Skan	(PRINT_OPERAND): Likewise.
9582169689Skan	* config/vax/vax.md (ashlsi3): Likewise.
9583169689Skan	(ashlsi3): Likewise.
9584169689Skan	(some more unnamed insns): Likewise.
9585169689Skan
9586169689Skan2006-03-15  Kazu Hirata  <kazu@codesourcery.com>
9587169689Skan
9588169689Skan	* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
9589169689Skan	iterator-style macro.
9590169689Skan	(mark_control_dependent_edges_necessary): Update the use of
9591169689Skan	EXECUTE_IF_CONTROL_DEPENDENT.
9592169689Skan
9593169689Skan2006-03-15  J"orn Rennecke <joern.rennecke@st.com>
9594169689Skan
9595169689Skan	* config/sh/predicates.md (cache_address_operand): Special.
9596169689Skan	(ua_address_operand): Likewise.
9597169689Skan
9598169689Skan2006-03-15  Zdenek Dvorak <dvorakz@suse.cz>
9599169689Skan
9600169689Skan	* haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
9601169689Skan	loop notes.
9602169689Skan	* sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
9603169689Skan
9604169689Skan2006-03-15  Andreas Schwab  <schwab@suse.de>
9605169689Skan
9606169689Skan	* gensupport.c (identify_predicable_attribute): Don't free p_false
9607169689Skan	when it is still in use.
9608169689Skan
9609169689Skan2006-03-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
9610169689Skan
9611169689Skan	* config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
9612169689Skan	the default setting here.
9613169689Skan
9614169689Skan2006-03-14  Steven Bosscher  <stevenb.gcc@gmail.com>
9615169689Skan
9616169689Skan	* tree-pass.h (pass_cfg): Remove.
9617169689Skan	* alias.c (rest_of_handle_cfg, pass_cfg): Remove.
9618169689Skan	* passes.c (pass_cfg): Don't run it.
9619169689Skan
9620169689Skan2006-03-14  Kazu Hirata  <kazu@codesourcery.com>
9621169689Skan
9622169689Skan	* Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
9623169689Skan	* reg-stack.c (stack_regs_mentioned_data): Change the type to
9624169689Skan	VEC(char,heap) *.
9625169689Skan	(stack_regs_mentioned): Update the uses of
9626169689Skan	stack_regs_mentioned_data.  Don't access the array beyond its
9627169689Skan	end.
9628169689Skan	(reg_to_stack): Update the uses of stack_regs_mentioned_data.
9629169689Skan	Don't include gt-reg-stack.h.
9630169689Skan
9631169689Skan	* config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
9632169689Skan	* system.h (UNALIGNED_WORD_ASM_OP): Poison.
9633169689Skan
9634169689Skan	* combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
9635169689Skan
9636169689Skan	PR middle-end/26684
9637169689Skan	* reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
9638169689Skan	STACK_REGS.
9639169689Skan
9640169689Skan2006-03-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9641169689Skan
9642169689Skan	* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
9643169689Skan
9644169689Skan2006-03-14  Richard Guenther  <rguenther@suse.de>
9645169689Skan
9646169689Skan	PR tree-optimization/26672
9647169689Skan	* tree-ssa-propagate.c (set_rhs): Don't walk DEFs if not in
9648169689Skan	SSA form.
9649169689Skan
9650169689Skan2006-03-14  Richard Guenther  <rguenther@suse.de>
9651169689Skan
9652169689Skan	PR tree-optimization/26667
9653169689Skan	* ipa-inline.c (cgraph_check_inline_limits): Walk the correct
9654169689Skan	node for the callees.  Always allow inlining if it will shrink
9655169689Skan	the function size.
9656169689Skan
9657169689Skan2006-03-14  Richard Guenther  <rguenther@suse.de>
9658169689Skan
9659169689Skan	PR middle-end/26659
9660169689Skan	* builtins.c (get_pointer_alignment): Prefer alignment
9661169689Skan	information from decls over that from types.
9662169689Skan
9663169689Skan2006-03-14  Andrew Pinski  <pinskia@physics.uc.edu>
9664169689Skan
9665169689Skan	PR target/26657
9666169689Skan	* config/darwin.h (LINK_COMMAND_SPEC): Handle -fopenmp.
9667169689Skan
9668169689Skan2006-03-14  Joseph S. Myers  <joseph@codesourcery.com>
9669169689Skan
9670169689Skan	* config/rs6000/rs6000.opt (mdlmzb): New option.
9671169689Skan	(msched-prolog, msched-epilog): Use Var not Mask.
9672169689Skan	* doc/invoke.texi (-mdlmzb): Document.
9673169689Skan	* config/rs6000/rs6000.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
9674169689Skan	MASK_SCHED_PROLOG.
9675169689Skan	(rs6000_override_options): Enable -mdlmzb for 405 and 440.
9676169689Skan	* config/rs6000/rs6000.md: Add dlmzb support for 405 and 440.
9677169689Skan
9678169689Skan2006-03-13  Uttam Pawar  <uttamp@us.ibm.com>
9679169689Skan
9680169689Skan	PR rtl-optimization/25739
9681169689Skan	* bt-load.c (augment_live_range): Free tos pointer.
9682169689Skan
9683169689Skan	* gensupport.c (identify_predicable_attribute): Free
9684169689Skan	p_false pointer.
9685169689Skan	* gcov.c (create_file_names): Free name pointer.
9686169689Skan
9687169689Skan2006-03-13  Roger Sayle  <roger@eyesopen.com>
9688169689Skan
9689169689Skan	PR middle-end/26557
9690169689Skan	* stmt.c (emit_case_nodes): Handle the case where the index is a
9691169689Skan	CONST_INT, where the comparison mode is specified by the index type.
9692169689Skan
9693169689Skan2006-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9694169689Skan
9695169689Skan	* pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O
9696169689Skan	is defined.
9697169689Skan
9698169689Skan2006-03-13  Richard Sandiford  <richard@codesourcery.com>
9699169689Skan
9700169689Skan	* config/mips/mips.md (*branch_fp): Use %Z2 for the condition.
9701169689Skan	(*branch_fp_inverted): Likewise.
9702169689Skan
9703169689Skan2006-03-13  Jakub Jelinek  <jakub@redhat.com>
9704169689Skan
9705169689Skan	PR middle-end/25989
9706169689Skan	* omp-low.c (expand_omp_for_generic): Mark istart0
9707169689Skan	and iend0 as addressable.
9708169689Skan
9709169689Skan2006-03-13  Jie Zhang  <jie.zhang@analog.com>
9710169689Skan
9711169689Skan	* config/bfin/uclinux.h: Define _GNU_SOURCE in CPLUSPLUS_CPP_SPEC.
9712169689Skan
9713169689Skan2006-03-13  Jeff Law  <law@redhat.com>
9714169689Skan
9715169689Skan	* tree-vrp.c (stmt_interesting_for_vrp): Some statements with
9716169689Skan	virtual operands are interesting.
9717169689Skan	(vrp_visit_stmt): Corresponding changes.
9718169689Skan
9719169689Skan2006-03-13  Bernd Schmidt  <bernd.schmidt@analog.com>
9720169689Skan
9721169689Skan	* config/bfin/lib1funcs.asm (___umodsi3): Use stack to save contents
9722169689Skan	of RETS.
9723169689Skan	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If
9724169689Skan	TARGET_ID_SHARED_LIBRARY, define __ID_SHARED_LIB__.
9725169689Skan	* config/bfin/crti.S: Use it instead of __PIC__.
9726169689Skan	* config/bfin/crtn.S: Likewise.
9727169689Skan
9728169689Skan	* config/bfin/bfin.md (call_value_symbol, sibcall_value_symbol,
9729169689Skan	call_symbol, sibcall_symbol): Disallow if TARGET_ID_SHARED_LIBRARY,
9730169689Skan	not if flag_pic.
9731169689Skan	Lose 'G' modifier for call operand.
9732169689Skan	* config/bfin/bfin.c (print_operand) <case SYMBOL_REF>: Don't
9733169689Skan	recognize 'G' modifier.
9734169689Skan
9735169689Skan2006-03-13  Eric Botcazou  <ebotcazou@adacore.com>
9736169689Skan
9737169689Skan	PR middle-end/18859
9738169689Skan	* gimplify.c (gimplify_switch_expr): Discard empty ranges.
9739169689Skan	* stmt.c (expand_case): Likewise.
9740169689Skan
9741169689Skan2006-03-13  Zdenek Dvorak <dvorakz@suse.cz>
9742169689Skan
9743169689Skan	PR rtl-optimization/26254
9744169689Skan	* loop-invariant.c (seq_insns_valid_p): New function.
9745169689Skan	(move_invariant_reg): Only emit new code if it is valid.
9746169689Skan
9747169689Skan2006-03-13  Zdenek Dvorak <dvorakz@suse.cz>
9748169689Skan
9749169689Skan	* cfgrtl.c (last_loop_beg_note, back_edge_of_syntactic_loop_p):
9750169689Skan	Removed.
9751169689Skan	(force_nonfallthru_and_redirect): Do not use last_loop_beg_note.
9752169689Skan	(rtl_split_edge): Do not use back_edge_of_syntactic_loop_p.
9753169689Skan	(commit_one_edge_insertion): Do not look for loop notes.
9754169689Skan
9755169689Skan2006-03-13  Zdenek Dvorak <dvorakz@suse.cz>
9756169689Skan
9757169689Skan	* jump.c (follow_jumps): Do not check for loop notes.  Move check for
9758169689Skan	flag_test_coverage out of loop.
9759169689Skan
9760169689Skan2006-03-13  Zdenek Dvorak <dvorakz@suse.cz>
9761169689Skan
9762169689Skan	* final.c (shorten_branches): Remove outdated comment, and turn
9763169689Skan	the if branch that guards it to continue.
9764169689Skan
9765169689Skan2006-03-13  Zdenek Dvorak <dvorakz@suse.cz>
9766169689Skan
9767169689Skan	* cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
9768169689Skan	* cfgloop.h (struct loop): Remove unused fields.
9769169689Skan
9770169689Skan2006-03-13  Kazu Hirata  <kazu@codesourcery.com>
9771169689Skan
9772169689Skan	* doc/invoke.texi (-fdump-rtl-loop): Remove.
9773169689Skan	(-dL, -fdump-rtl-loop2): Update the dump file names
9774169689Skan
9775169689Skan	* doc/invoke.texi: Update dump file names.
9776169689Skan
9777169689Skan2006-03-12  Steven Bosscher  <stevenb.gcc@gmail.com>
9778169689Skan
9779169689Skan	* predict.c (estimate_probability): Remove.
9780169689Skan	* profile.c (rest_of_handle_branch_prob, pass_branch_prob): Remove.
9781169689Skan	* basic-block.h (estimate_probability): Remove prototype.
9782169689Skan	* passes.c (finish_optimization_passes): Dump branch prediction or
9783169689Skan	profiling heuristics to the .profile tree dump.
9784169689Skan	(init_optimization_passes): Unqueue pass_branch_prob.
9785169689Skan
9786169689Skan	* doc/invoke.texi (-fdump-rtl-bp): Remove.
9787169689Skan
9788169689Skan2006-03-11  Steven Bosscher  <stevenb.gcc@gmail.com>
9789169689Skan
9790169689Skan	* rtl.def (LABEL_REF): Remove the field for LABEL_NEXTREF.
9791169689Skan	* rtl.h (LABEL_NEXTREF): Remove field accessor.
9792169689Skan
9793169689Skan2006-03-11  Eric Botcazou  <ebotcazou@adacore.com>
9794169689Skan
9795169689Skan	* function.h (frame_offset_overflow): Declare.
9796169689Skan	* function.c (frame_offset_overflow): New function.
9797169689Skan	(assign_stack_local_1): Call it to detect that the offset overflows.
9798169689Skan	* cfgexpand.c (alloc_stack_frame_space): Likewise.
9799169689Skan
9800169689Skan2006-03-11  Steven Bosscher  <stevenb.gcc@gmail.com>
9801169689Skan
9802169689Skan	* config/sh/sh.c: Include alloc-pool.h.
9803169689Skan	(label_ref_list_pool): New alloc pool.
9804169689Skan	(label_ref_list_t): New type for lists of labels.
9805169689Skan	(struct pool_node): Make wend a label_ref_list_t.
9806169689Skan	(add_constant): Use the new type, eradicate LABEL_NEXTREF
9807169689Skan	references.
9808169689Skan	(dump_table): Likewise.
9809169689Skan	(sh_reorg): Set up the alloc pool before using add_constant and
9810169689Skan	dump_table, and destroy it when finishing.
9811169689Skan
9812169689Skan2006-03-11  Richard Sandiford  <richard@codesourcery.com>
9813169689Skan
9814169689Skan	* config/mips/mips.c: Remove redundant comment.
9815169689Skan
9816169689Skan2006-03-10  Jason Merrill  <jason@redhat.com>
9817169689Skan
9818169689Skan	PR c/26004
9819169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
9820169689Skan	the target was declared 'register'.
9821169689Skan
9822169689Skan2006-03-10  Adam Nemet  <anemet@caviumnetworks.com>
9823169689Skan
9824169689Skan	* genpreds.c (write_insn_constraint_len): Change definition of
9825169689Skan	insn_constraint_len to return size_t to match the declaration.
9826169689Skan
9827169689Skan2006-03-10  DJ Delorie  <dj@redhat.com>
9828169689Skan
9829169689Skan	* config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
9830169689Skan	start at zero.
9831169689Skan	(m32c_expand_insv): Fix test for an AND mask.
9832169689Skan
9833169689Skan2006-03-10  Richard Guenther  <rguenther@suse.de>
9834169689Skan
9835169689Skan	PR middle-end/26565
9836169689Skan	* builtins.c (get_pointer_alignment): Handle component
9837169689Skan	references for field alignment.
9838169689Skan
9839169689Skan2006-03-10  J"orn Rennecke <joern.rennecke@st.com>
9840169689Skan
9841169689Skan	* config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
9842169689Skan	when building with libgloss.
9843169689Skan	(sh*elf): Implement --without-fp option.
9844169689Skan	(sh64-superh-linux*): Don't multilib.
9845169689Skan
9846169689Skan2006-03-10  J"orn Rennecke <joern.rennecke@st.com>
9847169689Skan
9848169689Skan	* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
9849169689Skan
9850169689Skan2006-03-09  Andrew Pinski  <pinskia@physics.uc.edu>
9851169689Skan
9852169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
9853169689Skan	Set it when one of the replacement functions returned true.
9854169689Skan	Return TODO_cleanup_cfg if cfgchanged is true.
9855169689Skan	(pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
9856169689Skan
9857169689Skan2006-03-09  Adam Nemet  <anemet@caviumnetworks.com>
9858169689Skan
9859169689Skan	* combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
9860169689Skan	instead of gen_lowpart.
9861169689Skan
9862169689Skan2006-03-09  Richard Sandiford  <richard@codesourcery.com>
9863169689Skan
9864169689Skan	* config/mips/mips-protos.h (mips_output_conditional_branch): Change
9865169689Skan	interface.
9866169689Skan	(mips_output_order_conditional_branch): Declare.
9867169689Skan	* config/mips/mips.h (MIPS_BRANCH): New macro.
9868169689Skan	* config/mips/mips.c (gen_conditional_branch): Use VOIDmode
9869169689Skan	for the comparison.  Use gen_condjump.
9870169689Skan	(mips_output_conditional_branch): Rework interface to take the
9871169689Skan	asm templates for a direct branch and the inverse of a direct branch.
9872169689Skan	(mips_output_order_conditional_branch): New function.
9873169689Skan	(mips_builtin_branch_and_move): New function.
9874169689Skan	(mips_expand_builtin_compare): Use it.  Use VOIDmode for the
9875169689Skan	branch condition.  Use gen_single_cc as the condition for
9876169689Skan	__builtin_mips_upper_* or __builtin_mips_lower_*.
9877169689Skan	(mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
9878169689Skan	Use VOIDmode for the branch condition.
9879169689Skan	* config/mips/predicates.md (order_operator): New predicate.
9880169689Skan	* config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
9881169689Skan	(branch_fp): Rename to...
9882169689Skan	(*branch_fp): ...this.  Remove mode from comparison operator.
9883169689Skan	Use new mips_output_conditional_branch interface.
9884169689Skan	(branch_fp_inverted): Rename to...
9885169689Skan	(*branch_fp_inverted): ...this and update as for *branch_fp.
9886169689Skan	(*branch_zero<mode>): Rename to...
9887169689Skan	(*branch_order<mode>): ...this.  Remove mode from comparison operator.
9888169689Skan	Use mips_output_order_conditional_branch.  Only accept ordered
9889169689Skan	comparisons.
9890169689Skan	(*branch_zero<mode>_inverted): Rename to...
9891169689Skan	(*branch_order<mode>_inverted): ...this and update as for
9892169689Skan	*branch_order<mode>.
9893169689Skan	(*branch_equality<mode>): Accept zero as the second operand to
9894169689Skan	the equality operator.  Use the new mips_output_conditional_branch
9895169689Skan	interface.
9896169689Skan	(*branch_equality<mode>_inverted): Likewise.
9897169689Skan	(condjump): New expander.
9898169689Skan	* config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
9899169689Skan	operator.
9900169689Skan	* config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
9901169689Skan	(bc1any2t, bc1any2f): Likewise.
9902169689Skan	(single_cc): New expander.
9903169689Skan	(*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
9904169689Skan
9905169689Skan2006-03-09  Richard Sandiford  <richard@codesourcery.com>
9906169689Skan
9907169689Skan	* doc/md.texi: Update documentation of MIPS constraints.
9908169689Skan	* config/mips/constraints.md: New file.
9909169689Skan	* config/mips/mips.md: Include it.
9910169689Skan	* config/mips/mips.c (mips_char_to_class): Delete.
9911169689Skan	(override_options): Don't initialize mips_char_to_class.
9912169689Skan	* config/mips/mips.h (mips_char_to_class): Delete.
9913169689Skan	(REG_CLASS_FROM_LETTER): Delete.
9914169689Skan	(CONST_OK_FOR_LETTER_P): Delete.
9915169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
9916169689Skan	(EXTRA_CONSTRAINT_Y): Delete.
9917169689Skan	(EXTRA_CONSTRAINT_STR): Delete.
9918169689Skan	(CONSTRAINT_LEN): Delete.
9919169689Skan	(EXTRA_MEMORY_CONSTRAINT): Delete.
9920169689Skan
9921169689Skan2006-03-09  Diego Novillo  <dnovillo@redhat.com>
9922169689Skan
9923169689Skan	* tree-cfg.c (move_block_to_fn): Remove the statements from the
9924169689Skan	original fn's eh regions.
9925169689Skan
9926169689Skan2006-03-09  Eric Botcazou  <ebotcazou@adacore.com>
9927169689Skan
9928169689Skan	* fold-const.c (build_range_check): Make sure to use a valid type to
9929169689Skan	apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
9930169689Skan	transformation.
9931169689Skan
9932169689Skan	(range_predecessor): New static function.
9933169689Skan	(range_successor): Likewise.
9934169689Skan	(merge_ranges): Use them to compute predecessors and successors of
9935169689Skan	range bounds.
9936169689Skan
9937169689Skan2006-03-09  Roger Sayle  <roger@eyesopen.com>
9938169689Skan
9939169689Skan	PR middle-end/26561
9940169689Skan	* fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
9941169689Skan	X op C3, consider whether C3 overflows towards +Inf or -Inf.
9942169689Skan
9943169689Skan2006-03-08  DJ Delorie  <dj@redhat.com>
9944169689Skan
9945169689Skan	* config/m32c/addsub.md (addqi3): Disparage a0/a1.
9946169689Skan	(addpsi3): Expand to include memory operands.  Remove
9947169689Skan	reload-specific splits.
9948169689Skan	* config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
9949169689Skan	(andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
9950169689Skan	(andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
9951169689Skan	(andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
9952169689Skan	(shift1_qi, shift1_hi, insv): New.
9953169689Skan	* config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
9954169689Skan	(cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
9955169689Skan	cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
9956169689Skan	cond_to_int): New.
9957169689Skan	* config/m32c/m32c-protos.h: Update as needed.
9958169689Skan	* config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
9959169689Skan	default the Rcr, Rcl, Raw, and Ral constraints.  Add Ra0 and Ra1.
9960169689Skan	Fail for unrecognized R* constraints.
9961169689Skan	(m32c_cannot_change_mode_class): Be more picky about pseudos.
9962169689Skan	(m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
9963169689Skan	(m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
9964169689Skan	Add Sp constraint.
9965169689Skan	(m32c_init_libfuncs): New.
9966169689Skan	(m32c_legitimate_address_p): Add debug wrapper.
9967169689Skan	(m32c_rtx_costs): New.
9968169689Skan	(m32c_address_cost): New.
9969169689Skan	(conversions): Add 'B' prefix.
9970169689Skan	(m32c_print_operand): 'h' and 'H' pick lower and upper halves of
9971169689Skan	operands, or word regnames for QI operands.  'B' prints bit
9972169689Skan	position.
9973169689Skan	(m32c_expand_setmemhi): New.
9974169689Skan	(m32c_expand_movmemhi): New.
9975169689Skan	(m32c_expand_movstr): New.
9976169689Skan	(m32c_expand_cmpstr): New.
9977169689Skan	(m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
9978169689Skan	(m32c_expand_neg_mulpsi3): Handle non-ints.
9979169689Skan	(m32c_cmp_flg_0): New.
9980169689Skan	(m32c_expand_movcc): New.
9981169689Skan	(m32c_expand_insv): New.
9982169689Skan	(m32c_scc_pattern): New.
9983169689Skan	* config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS.  Take
9984169689Skan	a0/a1 out of SIregs.
9985169689Skan	(STORE_FLAG_VALUE): New.
9986169689Skan	* config/m32c/m32c.md: Add unspecs for string moves.  Define various mode and
9987169689Skan	code macros.
9988169689Skan	(no_insn): New.
9989169689Skan	* config/m32c/mov.md: Make constraints more liberal.
9990169689Skan	(zero_extendqihi2): Optimize r0/r1 case.
9991169689Skan	* config/m32c/muldiv.md (mulpsi3): Check for intvals.
9992169689Skan	* config/m32c/predicates.md (m32c_any_operand): New.
9993169689Skan	(m32c_nonimmediate_operand): New.
9994169689Skan	(m32c_hl_operand): New.
9995169689Skan	(m32c_r3_operand): New.
9996169689Skan	(ap_operand): New.
9997169689Skan	(ma_operand): New.
9998169689Skan	(memsym_operand): New.
9999169689Skan	(memimmed_operand): New.
10000169689Skan	(a_qi_operand): New.
10001169689Skan	(m32c_eqne_operator): New.
10002169689Skan	(m32c_1bit8_operand): New.
10003169689Skan	(m32c_1bit16_operand): New.
10004169689Skan	(m32c_1mask8_operand): New.
10005169689Skan	(m32c_1mask16_operand): New.
10006169689Skan	* config/m32c/blkmov.md: New file.
10007169689Skan	* config/m32c/t-m32c (MD_FILES): Add blkmov.
10008169689Skan
10009169689Skan2006-03-08  Andreas Tobler  <a.tobler@schweiz.ch>
10010169689Skan
10011169689Skan	* dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
10012169689Skan	unsigned to fix signed/unsigned comparison issue in
10013169689Skan	DWARF2_FRAME_REG_OUT.
10014169689Skan	(expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
10015169689Skan	unsigned comparison issue in DWARF2_FRAME_REG_OUT.
10016169689Skan
10017169689Skan	* tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
10018169689Skan	of ptr into the ENABLE_CHECKING section.
10019169689Skan
10020169689Skan2006-03-08  Jeff Law  <law@redhat.com>
10021169689Skan
10022169689Skan	* tree-vrp.c (infer_value_range): Only count pointer uses
10023169689Skan	and dereferences if -fdelete-null-pointer-checks is enabled.
10024169689Skan
10025169689Skan	* tree-vrp.c (find_assert_locations): Infer value ranges for
10026169689Skan	single use pointers, but do not create ASSERT_EXPRs for them.
10027169689Skan	When a non-null range is inferred for a pointer, backwards
10028169689Skan	propagate that range to other equivalent pointers through the
10029169689Skan	use-def chain.
10030169689Skan
10031169689Skan2006-03-08  Paolo Bonzini  <bonzini@gnu.org>
10032169689Skan
10033169689Skan	PR bootstrap/26500
10034169689Skan	* Makefile.in (dvi, html, install-info): Invoke the corresponding
10035169689Skan	language hook targets.
10036169689Skan	* ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
10037169689Skan	objcp/Make-lang.in: Create stub rules for dvi, html, install-info
10038169689Skan	if language hook targets were missing.
10039169689Skan
10040169689Skan2006-03-07  Zdenek Dvorak <dvorakz@suse.cz>
10041169689Skan
10042169689Skan	* tree-ssa-opfinalize.h: Removed.
10043169689Skan	* Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
10044169689Skan	dependency.
10045169689Skan	* tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
10046169689Skan	(ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
10047169689Skan	INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
10048169689Skan	add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
10049169689Skan	finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
10050169689Skan	finalize_ssa_v_must_def_ops): New.
10051169689Skan
10052169689Skan2006-03-07  Kenneth Zadeck <zadeck@naturalbridge.com>
10053169689Skan
10054169689Skan	* df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
10055169689Skan	block as parameter.
10056169689Skan
10057169689Skan2006-03-07  Geoffrey Keating  <geoffk@apple.com>
10058169689Skan
10059169689Skan	* varasm.c (assemble_end_function): Say that 'fnname' is unused.
10060169689Skan
10061169689Skan	* config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
10062169689Skan	addresses with offsets; reorganize.
10063169689Skan
10064169689Skan	* dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
10065169689Skan	(expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
10066169689Skan	(expand_builtin_init_dwarf_reg_sizes): Likewise.
10067169689Skan
10068169689Skan2006-03-08  David Billinghurst <David.Billinghurst@riotinto.com>
10069169689Skan
10070169689Skan	PR target/26588
10071169689Skan	* config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
10072169689Skan
10073169689Skan2006-03-08  Ben Elliston  <bje@au.ibm.com>
10074169689Skan
10075169689Skan	* config/fp-bit.h (CMPtype): Typedef to a word mode integer.
10076169689Skan
10077169689Skan2006-03-07  Aldy Hernandez  <aldyh@redhat.com>
10078169689Skan
10079169689Skan	PR gomp/26238
10080169689Skan	* doc/passes.texi (Tree-SSA passes): Document omp lowering and
10081169689Skan	expansion.
10082169689Skan
10083169689Skan2006-03-07  Richard Guenther  <rguenther@suse.de>
10084169689Skan
10085169689Skan	PR tree-optimization/26587
10086169689Skan	* tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
10087169689Skan
10088169689Skan2006-03-07  Richard Sandiford  <richard@codesourcery.com>
10089169689Skan
10090169689Skan	* varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
10091169689Skan
10092169689Skan2006-03-07  Richard Sandiford  <richard@codesourcery.com>
10093169689Skan
10094169689Skan	* hooks.c (hook_bool_mode_rtx_true): New function.
10095169689Skan	* hooks.h (hook_bool_mode_rtx_true): Declare.
10096169689Skan	* toplev.c (compile_file): Call output_shared_constant_pool.
10097169689Skan	* varasm.c (shared_constant_pool): New variable.
10098169689Skan	(assemble_start_function, assemble_end_function): Remove arguments
10099169689Skan	from call to output_constant_pool.
10100169689Skan	(create_constant_pool): New function, split out from...
10101169689Skan	(init_varasm_status): ...here.
10102169689Skan	(force_const_mem): Choose between the shared and per-function constant
10103169689Skan	pools.  Set current_function_uses_const_pool when reusing old entries
10104169689Skan	as well as when creating new ones.
10105169689Skan	(mark_constant): Ignore data argument.
10106169689Skan	(mark_constants): Remove pool argument.
10107169689Skan	(mark_constant_pool): Likewise.  Use current_function_uses_const_pool
10108169689Skan	to decide whether the function uses a constant pool.
10109169689Skan	(output_constant_pool_contents): New function, split out from...
10110169689Skan	(output_constant_pool): ...here.
10111169689Skan	(output_shared_constant_pool): New function.
10112169689Skan	(init_varasm_once): Initialize shared_constant_pool.
10113169689Skan	* output.h (output_constant_pool): Delete.
10114169689Skan	(output_shared_constant_pool): Declare.
10115169689Skan	* config/s390/s390-protos.h (s390_output_constant_pool): Delete.
10116169689Skan	* config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
10117169689Skan
10118169689Skan2006-03-06  Nick Clifton  <nickc@redhat.com>
10119169689Skan
10120169689Skan	* config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
10121169689Skan	flag_strength_reduce.
10122169689Skan
10123169689Skan2006-03-06  Ben Elliston  <bje@au.ibm.com>
10124169689Skan
10125169689Skan	* config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
10126169689Skan	x86_64-*-linux* configurations.
10127169689Skan
10128169689Skan	* config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
10129169689Skan	(LIBGCC2_WORDS_BIG_ENDIAN): Define.
10130169689Skan
10131169689Skan2006-03-05  Kazu Hirata  <kazu@codesourcery.com>
10132169689Skan
10133169689Skan	* tree-ssa-threadupdate.c (rediscover_loops_after_threading):
10134169689Skan	Remove.
10135169689Skan	* basic-block.h: Remove the extern for
10136169689Skan	rediscover_loops_after_threading.
10137169689Skan
10138169689Skan	* cfgloop.c (cancel_loop): Make it static.
10139169689Skan	* cfgloop.h: Remove the prototype for cancel_loop.
10140169689Skan
10141169689Skan	* flow.c (recompute_reg_usage): Make it static.
10142169689Skan	* rtl.h: Remove the prototype for recompute_reg_usage.
10143169689Skan
10144169689Skan	* function.c (use_return_register): Make it static.
10145169689Skan	* function.h: Remove the prototype.
10146169689Skan
10147169689Skan2006-03-05  Kazu Hirata  <kazu@codesourcery.com>
10148169689Skan
10149169689Skan	* recog.c (volatile_mem_p, validate_change_maybe_volatile):
10150169689Skan	Remove.
10151169689Skan	* recog.h: Remove the prototype for
10152169689Skan	validate_change_maybe_volatile.
10153169689Skan
10154169689Skan2006-03-05  Kazu Hirata  <kazu@codesourcery.com>
10155169689Skan
10156169689Skan	* rtlanal.c (replace_reg): Remove.
10157169689Skan	* rtl.h: Remove the prototype for replace_reg.
10158169689Skan
10159169689Skan2006-03-05  Kazu Hirata  <kazu@codesourcery.com>
10160169689Skan
10161169689Skan	* regclass.c (reg_scan_update): Remove.
10162169689Skan	(reg_scan_mark_refs): Remove the last argument.
10163169689Skan	* rtl.h: Remove the prototype for reg_scan_update.
10164169689Skan
10165169689Skan2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
10166169689Skan
10167169689Skan	* builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
10168169689Skan	combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
10169169689Skan	config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
10170169689Skan	config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
10171169689Skan	df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
10172169689Skan	loop-invariant.c, omp-low.c, opts.c, passes.c,
10173169689Skan	rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
10174169689Skan	tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
10175169689Skan	tree-ssa-structalias.c, tree-ssa-threadedge.c,
10176169689Skan	tree-ssa-threadupdate.c, tree-vect-patterns.c,
10177169689Skan	tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
10178169689Skan	unwind-dw2.c: Fix comment typos.  Follow spelling conventions.
10179169689Skan
10180169689Skan2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
10181169689Skan
10182169689Skan	* dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
10183169689Skan	* dwarf2out.h: Remove the prototype for
10184169689Skan	dwarf2out_add_library_unit_info.
10185169689Skan
10186169689Skan2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
10187169689Skan
10188169689Skan	* tree.c (add_var_to_bind_expr): Remove.
10189169689Skan	* tree.h: Remove the prototype for add_var_to_bind_expr.
10190169689Skan
10191169689Skan2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
10192169689Skan
10193169689Skan	* regclass.c (n_non_fixed_regs): Remove.
10194169689Skan	(init_reg_sets_1, globalize_reg): Remove all uses of
10195169689Skan	n_non_fixed_regs.
10196169689Skan	* hard-reg-set.h: Remove the extern for n_non_fixed_regs.
10197169689Skan
10198169689Skan2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
10199169689Skan
10200169689Skan	* rtlanal.c (insns_safe_to_move_p): Remove.
10201169689Skan	* rtl.h: Remove the prototype for insns_safe_to_move_p.
10202169689Skan
10203169689Skan2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
10204169689Skan
10205169689Skan	* expmed.c (expand_mult_add): Remove.
10206169689Skan	* expr.h: Remove the prototype for expand_mult_add.
10207169689Skan
10208169689Skan2006-03-04  Jakub Jelinek  <jakub@redhat.com>
10209169689Skan
10210169689Skan	* unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
10211169689Skan	and REG_SAVED_VAL_EXP constants.
10212169689Skan	* unwind-dw2.c (struct _Unwind_Context): Add by_value array.
10213169689Skan	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
10214169689Skan	Handle regs stored by value.
10215169689Skan	(_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
10216169689Skan	(execute_cfa_program): Handle DW_CFA_val_offset,
10217169689Skan	DW_CFA_val_offset_sf and DW_CFA_val_expression.
10218169689Skan	(uw_update_context_1): Handle REG_SAVED_REG with regs stored by
10219169689Skan	value specially.  Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
10220169689Skan	(uw_install_context_1): Handle target regs stored by value.
10221169689Skan
10222169689Skan2006-03-03  Daniel Berlin  <dberlin@dberlin.org>
10223169689Skan
10224169689Skan	* tree-sra.c (tree_sra): Return todoflags;
10225169689Skan	(generate_one_element): Set TODO_update_smt_usage if needed.
10226169689Skan	(pass_sra): Remove TODO_update_smt_usage.
10227169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
10228169689Skan	parameter.
10229169689Skan	(tree_ssa_forward_propagate_single_use_vars): Return
10230169689Skan	TODO_update_smt_usage if we need to update SMT usage.
10231169689Skan	(pass_forwprop): Remove TODO_update_smt_usage.
10232169689Skan
10233169689Skan2006-03-03  Diego Novillo  <dnovillo@redhat.com>
10234169689Skan
10235169689Skan	* tree-ssa-operands.c: Tidy whitespace.  Fix spelling.
10236169689Skan	(correct_use_link): Remove reference to get_stmt_operands.
10237169689Skan	(update_stmt_operands): Likewise.
10238169689Skan	(get_modify_expr_operands): New function factored out of
10239169689Skan	parse_ssa_operands and get_expr_operands.
10240169689Skan	Try to create V_MUST_DEFs for LHS by default.
10241169689Skan	(get_expr_operands) <case MODIFY_EXPR>: Call
10242169689Skan	get_modify_expr_operands.
10243169689Skan	<case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
10244169689Skan	<case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
10245169689Skan	(parse_ssa_operands) <case MODIFY_EXPR>: Call
10246169689Skan	get_modify_expr_operands.
10247169689Skan
10248169689Skan2006-03-03  Kazu Hirata  <kazu@codesourcery.com>
10249169689Skan
10250169689Skan	* tree-dfa.c (referenced_var_lookup_if_exists): Remove.
10251169689Skan	* tree-flow.h: Remove the prototype for
10252169689Skan	referenced_var_lookup_if_exists.
10253169689Skan
10254169689Skan2006-03-03  Steve Ellcey  <sje@cup.hp.com>
10255169689Skan
10256169689Skan	PR rtl-optimization/26345
10257169689Skan	PR target/19061
10258169689Skan	* config/ia64/predicates.md (basereg_operand): Don't look in subregs.
10259169689Skan
10260169689Skan2006-03-03  Roger Sayle  <roger@eyesopen.com>
10261169689Skan
10262169689Skan	PR tree-optimization/26524
10263169689Skan	* tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
10264169689Skan	fold_convert to create a constant of the appropriate type.
10265169689Skan
10266169689Skan2006-03-03  Richard Sandiford  <richard@codesourcery.com>
10267169689Skan
10268169689Skan	* doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
10269169689Skan	SYMBOL_REF_IN_BLOCK_P.
10270169689Skan	* doc/rtl.texi: Likewise.  Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
10271169689Skan	of SYMBOL_FLAG_IN_BLOCK.
10272169689Skan	* gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
10273169689Skan	instead of SYMBOL_REF_IN_BLOCK_P.
10274169689Skan	* explow.c (use_anchored_address): Likewise.
10275169689Skan	* rtl.c (rtx_size): Likewise.
10276169689Skan	* varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
10277169689Skan	instead of SYMBOL_FLAG_IN_BLOCK.
10278169689Skan	(make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
10279169689Skan	SYMBOL_REF_IN_BLOCK_P.
10280169689Skan	(assemble_variable): Likewise.
10281169689Skan	(output_constant_def_contents): Likewise.
10282169689Skan	(output_constant_pool): Likewise.
10283169689Skan	(default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
10284169689Skan	instead of SYMBOL_FLAG_IN_BLOCK.
10285169689Skan	* rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
10286169689Skan	SYMBOL_REF_IN_BLOCK_P.
10287169689Skan	(SYMBOL_REF_BLOCK): Likewise.
10288169689Skan	(SYMBOL_REF_OFFSET): Likewise.
10289169689Skan	(BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
10290169689Skan	SYMBOL_REF_IN_BLOCK_P.
10291169689Skan	(SYMBOL_FLAG_IN_BLOCK): Replace with...
10292169689Skan	(SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
10293169689Skan	(SYMBOL_REF_IN_BLOCK_P): Replace with...
10294169689Skan	(SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
10295169689Skan
10296169689Skan2006-03-03  Jakub Jelinek  <jakub@redhat.com>
10297169689Skan
10298169689Skan	* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
10299169689Skan
10300169689Skan2006-03-02  Roger Sayle  <roger@eyesopen.com>
10301169689Skan
10302169689Skan	* simplify-rtx.c (simplify_unary_operation): When simplifying
10303169689Skan	(neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
10304169689Skan	that we perform the right shift in the appropriate mode, and
10305169689Skan	then extend or truncate the result to requested mode.
10306169689Skan
10307169689Skan2006-03-03  Zdenek Dvorak <dvorakz@suse.cz>
10308169689Skan
10309169689Skan	* gengtype.c (main): Handle double_int type.
10310169689Skan	* tree.h (struct tree_int_cst): Make type of int_cst double_int.
10311169689Skan	* double-int.c: New file.
10312169689Skan	* double-int.h: New file.
10313169689Skan	* system.h: Include doubleint.h.
10314169689Skan	* Makefile.in (SYSTEM_H): Include double-int.h.
10315169689Skan	(double-int.o): Add.
10316169689Skan
10317169689Skan2006-03-03  Joseph S. Myers  <joseph@codesourcery.com>
10318169689Skan
10319169689Skan	PR bootstrap/26478
10320169689Skan	* Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
10321169689Skan	copying over it.
10322169689Skan
10323169689Skan2006-03-02  Zdenek Dvorak <dvorakz@suse.cz>
10324169689Skan
10325169689Skan	* tree-vrp.c (remove_range_assertions): Do not update statements
10326169689Skan	unnecessarily.
10327169689Skan
10328169689Skan2006-03-02  Zdenek Dvorak <dvorakz@suse.cz>
10329169689Skan
10330169689Skan	* cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
10331169689Skan	cleanup.
10332169689Skan	* gcse.c (rest_of_handle_gcse): Ditto.
10333169689Skan	* except.c (gate_handle_eh): Ditto.
10334169689Skan	* cfgcleanup.c (rest_of_handle_jump2): Ditto.
10335169689Skan	* basic-block.h (CLEANUP_PRE_LOOP): Remove.
10336169689Skan
10337169689Skan2006-03-02  Eric Christopher  <echristo@apple.com>
10338169689Skan
10339169689Skan	* config/i386/i386.c (machopic_output_stub): Add indirection to
10340169689Skan	jump.
10341169689Skan
10342169689Skan2006-03-02  Zdenek Dvorak <dvorakz@suse.cz>
10343169689Skan
10344169689Skan	* loop.c: Removed.
10345169689Skan
10346169689Skan2006-03-02  David S. Miller  <davem@sunset.davemloft.net>
10347169689Skan
10348169689Skan	Sun Niagara specific optimizations.
10349169689Skan	* config.gcc: Recognize niagara as target.
10350169689Skan	* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
10351169689Skan	(TARGET_CPU_niagara): Define.
10352169689Skan	(CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
10353169689Skan	(ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
10354169689Skan	(CPP_CPU_SPEC): Handle -mcpu=niagara.
10355169689Skan	(ASM_CPU_SPEC): Likewise.
10356169689Skan	(PROCESSOR_NIAGARA): New enum entry.
10357169689Skan	(REGISTER_MOVE_COST): Handle Niagara.
10358169689Skan	(BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
10359169689Skan	* config/sparc/sparc.c (niagara_costs): New processor_costs entry.
10360169689Skan	(sparc_override_options): Recognize "niagara", set appropriate
10361169689Skan	default MASK_* values for it, and align functions to 32-bytes
10362169689Skan	by default just like ULTRASPARC/ULTRASPARC3.
10363169689Skan	(sparc_initialize_trampoline): Handle niagara like ultrasparc.
10364169689Skan	(sparc64_initialize_trampoline): Likewise.
10365169689Skan	(sparc_use_sched_lookahead): Use zero for niagara.
10366169689Skan	(sparc_issue_rate): Use one for niagara.
10367169689Skan	* config/sparc/niagara.md: New file.
10368169689Skan	* config/sparc/sparc.md: Include it.
10369169689Skan	* config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
10370169689Skan	ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
10371169689Skan	when default cpu is niagara.
10372169689Skan	(CPP_CPU_SPEC): Handle -mcpu=niagara.
10373169689Skan	(ASM_CPU_SPEC): Likewise.
10374169689Skan	* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
10375169689Skan	when default cpu is niagara.
10376169689Skan	(ASM_CPU_SPEC): Handle -mcpu=niagara.
10377169689Skan	* config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
10378169689Skan	just like v9/ultrasparc/ultrasparc3.
10379169689Skan	* doc/invoke.texi: Add documentation for "niagara" and improve
10380169689Skan	existing documentation for ultrasparc variants.
10381169689Skan
10382169689Skan2006-03-02  Diego Novillo  <dnovillo@redhat.com>
10383169689Skan
10384169689Skan	* tree-ssa-operands.c (update_stmt_operands): Update documentation.
10385169689Skan
10386169689Skan2006-03-02  Richard Sandiford  <richard@codesourcery.com>
10387169689Skan
10388169689Skan	* doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
10389169689Skan	(ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
10390169689Skan	and say that only one is needed.
10391169689Skan	* doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
10392169689Skan	* target.h (have_switchable_bss_sections): New hook.
10393169689Skan	* explow.c (use_anchored_address): Check that the symbol is in a block.
10394169689Skan	* varasm.c (tls_comm_section, comm_section, lcomm_section)
10395169689Skan	(bss_noswitch_section): New variables.
10396169689Skan	(get_unnamed_section): Add SECTION_UNNAMED to the flags.
10397169689Skan	(get_noswitch_section): New function.
10398169689Skan	(get_block_for_section): Allow SECT to be null.
10399169689Skan	(unlikely_text_section_p): Use SECTION_STYLE.
10400169689Skan	(bss_initializer_p): New function.
10401169689Skan	(get_variable_section): Move earlier in file.  Take a new argument,
10402169689Skan	prefer_noswitch_p.  Move bss checks from assemble_variable to here.
10403169689Skan	Return one of the new *_sections in such cases.
10404169689Skan	(get_block_for_decl): New function, extracting some logic from
10405169689Skan	use_blocks_for_decl_p.
10406169689Skan	(change_symbol_section): Remove in favor of...
10407169689Skan	(change_symbol_block): ...this new function.
10408169689Skan	(use_blocks_for_decl_p): Remove checks now performed by
10409169689Skan	get_block_for_decl.
10410169689Skan	(make_decl_rtl): Use change_symbol_block and get_block_for_decl.
10411169689Skan	(ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
10412169689Skan	(emit_local, emit_bss, emit_common): ...these new functions.
10413169689Skan	Return true if the alignment was honored.
10414169689Skan	(emit_tls_common): New function.
10415169689Skan	(asm_emit_uninitialised): Delete.
10416169689Skan	(assemble_variable_noswitch): New function, split out from...
10417169689Skan	(assemble_variable): ...here.  Don't make decisions about common
10418169689Skan	variables here.  Globalize all public decls that go into non-common
10419169689Skan	sections.  Check whether SYMBOL_REF_BLOCK is null.
10420169689Skan	(output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
10421169689Skan	(output_constant_pool): Likewise.
10422169689Skan	(init_varasm_once): Initialize the new section variables.
10423169689Skan	(have_global_bss_p): New function.
10424169689Skan	(categorize_decl_for_section): Use bss_initializer_p.
10425169689Skan	(switch_to_section): Use SECTION_STYLE.  Abort for SECTION_NOSWITCH.
10426169689Skan	(place_block_symbol): Assert that the symbol must be in a block.
10427169689Skan	* target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
10428169689Skan	(TARGET_INITIALIZER): Include it.
10429169689Skan	* rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
10430169689Skan	* output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
10431169689Skan	(SECTION_MACH_DEP): Bump by two.
10432169689Skan	(SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
10433169689Skan	(unnamed_section): Mention SECTION_UNNAMED in comment.
10434169689Skan	(named_section): Likewise SECTION_NAMED.
10435169689Skan	(noswitch_section_callback): New type.
10436169689Skan	(noswitch_section): New structure.
10437169689Skan	(section): Add a noswitch_section alternative.
10438169689Skan	(SECTION_STYLE): New macro.
10439169689Skan	(tls_comm_section, comm_section, lcomm_section): Declare.
10440169689Skan	(bss_noswitch_section, have_global_bss_p): Declare.
10441169689Skan	* config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
10442169689Skan	* config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
10443169689Skan	Override.
10444169689Skan	* config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
10445169689Skan	* config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
10446169689Skan	Override.
10447169689Skan
10448169689Skan2006-03-02  Daniel Berlin <dberlin@dberlin.org>
10449169689Skan
10450169689Skan	* tree-vrp.c (execute_vrp): Return value.
10451169689Skan	* regrename.c (rest_of_handle_regrename): Ditto.
10452169689Skan	* tree-into-ssa.c (rewrite_into_ssa): Ditto.
10453169689Skan	* tree-complex.c (tree_lower_complex): Ditto.
10454169689Skan	(tree_lower_complex_O0): Ditto.
10455169689Skan	* tracer.c (rest_of_handle_tracer): Ditto.
10456169689Skan	* postreload-gcse.c (rest_of_handle_gcse2): Ditto.
10457169689Skan	* postreload.c (rest_of_handle_postreload): Ditto.
10458169689Skan	* tree-tailcall.c (execute_tail_recursion): Ditto.
10459169689Skan	(execute_tail_calls): Ditto.
10460169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
10461169689Skan	* tree.h (init_function_for_compilation): Ditto.
10462169689Skan	* ipa-cp.c (ipcp_driver): Ditto.
10463169689Skan	* tree-scalar-evolution.c (scev_const_prop): Ditto.
10464169689Skan	* tree-scalar-evolution.h (scev_const_prop): Ditto.
10465169689Skan	* final.c (compute_alignments): Ditto.
10466169689Skan	(rest_of_handle_final): Ditto.
10467169689Skan	(rest_of_handle_shorten_branches): Ditto.
10468169689Skan	(rest_of_clean_state): Ditto.
10469169689Skan	* omp-low.c (execute_expand_omp): Ditto.
10470169689Skan	(execute_lower_omp): Ditto.
10471169689Skan	* tree-ssa-dse.c (tree_ssa_dse): Ditto.
10472169689Skan	* ipa-reference.c (static_execute): Ditto.
10473169689Skan	* tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
10474169689Skan	* reorg.c (rest_of_handle_delay_slots): Ditto.
10475169689Skan	(rest_of_handle_machine_reorg): Ditto.
10476169689Skan	* cgraphunit.c (rebuild_cgraph_edges): Ditto.
10477169689Skan	* flow.c (recompute_reg_usage): Ditto.
10478169689Skan	(rest_of_handle_remove_death_notes): Ditto.
10479169689Skan	(rest_of_handle_life): Ditto.
10480169689Skan	(rest_of_handle_flow2): Ditto.
10481169689Skan	* tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
10482169689Skan	* tree-ssa-ccp.c (do_ssa_ccp): Ditto.
10483169689Skan	(do_ssa_store_ccp): Ditto.
10484169689Skan	(execute_fold_all_builtins): Ditto.
10485169689Skan	* mode-switching.c (rest_of_handle_mode_switching): Ditto.
10486169689Skan	* modulo-sched.c (rest_of_handle_sms): Ditto.
10487169689Skan	* ipa-pure-const.c (static_execute): Ditto.
10488169689Skan	* cse.c (rest_of_handle_cse): Ditto.
10489169689Skan	(rest_of_handle_cse2): Ditto.
10490169689Skan	* web.c (rest_of_handle_web): Ditto.
10491169689Skan	* tree-stdarg.c (execute_optimize_stdarg): Ditto.
10492169689Skan	* tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
10493169689Skan	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
10494169689Skan	* tree-nrv.c (tree_nrv): Ditto.
10495169689Skan	(execute_return_slot_opt): Ditto.
10496169689Skan	* tree-ssa-alias.c (compute_may_aliases): Ditto.
10497169689Skan	(create_structure_vars): Ditto.
10498169689Skan	* loop-init.c (rtl_loop_init): Ditto.
10499169689Skan	(rtl_loop_done): Ditto.
10500169689Skan	(rtl_move_loop_invariants): Ditto.
10501169689Skan	(rtl_unswitch): Ditto.
10502169689Skan	(rtl_unroll_and_peel_loops): Ditto.
10503169689Skan	(rtl_doloop): Ditto.
10504169689Skan	* gimple-low.c (lower_function_body): Ditto.
10505169689Skan	(mark_used_blocks): Ditto.
10506169689Skan	* tree-ssa-sink.c (execute_sink_code): Ditto.
10507169689Skan	* ipa-inline.c (cgraph_decide_inlining): Ditto.
10508169689Skan	(cgraph_early_inlining): Ditto.
10509169689Skan	* global.c (rest_of_handle_global_alloc): Ditto.
10510169689Skan	* jump.c (cleanup_barriers): Ditto.
10511169689Skan	(purge_line_number_notes): Ditto.
10512169689Skan	* ifcvt.c (rest_of_handle_if_conversion): Ditto.
10513169689Skan	(rest_of_handle_if_after_reload): Ditto.
10514169689Skan	* tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
10515169689Skan	(tree_ssa_loop_im): Ditto.
10516169689Skan	(tree_ssa_loop_unswitch): Ditto.
10517169689Skan	(tree_vectorize): Ditto.
10518169689Skan	(tree_linear_transform): Ditto.
10519169689Skan	(tree_ssa_loop_ivcanon): Ditto.
10520169689Skan	(tree_ssa_empty_loop): Ditto.
10521169689Skan	(tree_ssa_loop_bounds): Ditto.
10522169689Skan	(tree_complete_unroll): Ditto.
10523169689Skan	(tree_ssa_loop_prefetch): Ditto.
10524169689Skan	(tree_ssa_loop_ivopts): Ditto.
10525169689Skan	(tree_ssa_loop_done): Ditto.
10526169689Skan	* predict.c (tree_estimate_probability): Ditto.
10527169689Skan	* recog.c (split_all_insns_noflow): Ditto.
10528169689Skan	(rest_of_handle_peephole2): Ditto.
10529169689Skan	(rest_of_handle_split_all_insns): Ditto.
10530169689Skan	* tree-eh.c (lower_eh_constructs): Ditto.
10531169689Skan	* regmove.c (rest_of_handle_regmove): Ditto.
10532169689Skan	(rest_of_handle_stack_adjustments): Ditto.
10533169689Skan	* local-alloc.c (rest_of_handle_local_alloc): Ditto.
10534169689Skan	* function.c (instantiate_virtual_regs): Ditto.
10535169689Skan	(init_function_for_compilation): Ditto.
10536169689Skan	(rest_of_handle_check_leaf_regs): Ditto.
10537169689Skan	* gcse.c (rest_of_handle_jump_bypass): Ditto.
10538169689Skan	(rest_of_handle_gcse): Ditto.
10539169689Skan	* ipa-type-escape.c (type_escape_execute): Ditto.
10540169689Skan	* alias.c (rest_of_handle_cfg): Ditto.
10541169689Skan	* tree-if-conv.c (main_tree_if_conversion): Ditto.
10542169689Skan	* profile.c (rest_of_handle_branch_prob): Ditto.
10543169689Skan	* tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
10544169689Skan	* rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
10545169689Skan	* bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
10546169689Skan	* tree-dfa.c (find_referenced_vars): Ditto.
10547169689Skan	* except.c (set_nothrow_function_flags): Ditto.
10548169689Skan	(convert_to_eh_region_ranges): Ditto.
10549169689Skan	(rest_of_handle_eh): Ditto.
10550169689Skan	* emit-rtl.c (unshare_all_rtl): Ditto.
10551169689Skan	(remove_unnecessary_notes): Ditto.
10552169689Skan	* except.h (set_nothrow_function_flags): Ditto.
10553169689Skan	(convert_to_eh_region_ranges): Ditto.
10554169689Skan	* cfgexpand.c (tree_expand_cfg): Ditto.
10555169689Skan	* tree-cfgcleanup.c (merge_phi_nodes): Ditto.
10556169689Skan	* tree-ssa-pre.c (do_pre): Ditto.
10557169689Skan	(execute_fre): Ditto.
10558169689Skan	* cfgcleanup.c (rest_of_handle_jump): Ditto.
10559169689Skan	(rest_of_handle_jump2): Ditto.
10560169689Skan	* tree-sra.c (tree_sra): Ditto.
10561169689Skan	* tree-mudflap.c (execute_mudflap_function_ops): Ditto.
10562169689Skan	(execute_mudflap_function_decls): Ditto.
10563169689Skan	* tree-ssa-copy.c (do_copy_prop): Ditto.
10564169689Skan	(do_store_copy_prop): Ditto.
10565169689Skan	* ipa-prop.h (ipcp_driver): Ditto.
10566169689Skan	* cfglayout.c (insn_locators_initialize): Ditto.
10567169689Skan	* tree-ssa-forwprop.c
10568169689Skan	(tree_ssa_forward_propagate_single_use_vars): Ditto.
10569169689Skan	* cfglayout.h (insn_locators_initialize): Ditto.
10570169689Skan	* tree-ssa-dce.c (tree_ssa_dce): Ditto.
10571169689Skan	* tree-ssa.c (execute_early_warn_uninitialized): Ditto.
10572169689Skan	(execute_late_warn_uninitialized): Ditto.
10573169689Skan	* rtl.h (cleanup_barriers): Ditto.
10574169689Skan	(split_all_insns_noflow): Ditto.
10575169689Skan	(purge_line_number_notes): Ditto.
10576169689Skan	(unshare_all_rtl): Ditto.
10577169689Skan	(remove_unnecessary_notes): Ditto.
10578169689Skan	(recompute_reg_usage): Ditto.
10579169689Skan	(variable_tracking_main): Ditto.
10580169689Skan	* integrate.c (emit_initial_value_sets): Ditto.
10581169689Skan	* integrate.h (emit_initial_value_sets): Ditto.
10582169689Skan	* tree-optimize.c (execute_free_datastructures): Ditto
10583169689Skan	(execute_free_cfg_annotations): Ditto.
10584169689Skan	(execute_fixup_cfg): Ditto.
10585169689Skan	(execute_cleanup_cfg_pre_ipa): Ditto.
10586169689Skan	(execute_cleanup_cfg_post_optimizing): Ditto.
10587169689Skan	(execute_init_datastructures): Ditto.
10588169689Skan	* tree-object-size.c (compute_object_sizes): Ditto.
10589169689Skan	* combine.c (rest_of_handle_combine): Ditto.
10590169689Skan	* tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
10591169689Skan	* bb-reorder.c (duplicate_computed_gotos): Ditto.
10592169689Skan	(rest_of_handle_reorder_blocks): Ditto.
10593169689Skan	(rest_of_handle_partition_blocks): Ditto.
10594169689Skan	* var-tracking.c (variable_tracking_main): Ditto.
10595169689Skan	* tree-profile.c (tree_profiling): Ditto.
10596169689Skan	* tree-vect-generic.c (expand_vector_operations): Ditto.
10597169689Skan	* reg-stack.c (rest_of_handle_stack_regs): Ditto.
10598169689Skan	* sched-rgn.c (rest_of_handle_sched): Ditto.
10599169689Skan	(rest_of_handle_sched2): Ditto.
10600169689Skan	* basic-block.h (free_bb_insn): Ditto.
10601169689Skan	* tree-ssa-structalias.c (ipa_pta_execute): Ditto.
10602169689Skan	* tree-cfg.c (execute_build_cfg): Ditto.
10603169689Skan	(remove_useless_stmts): Ditto.
10604169689Skan	(split_critical_edges): Ditto.
10605169689Skan	(execute_warn_function_return): Ditto.
10606169689Skan	(execute_warn_function_noreturn): Ditto.
10607169689Skan	* tree-ssa-reassoc.c (execute_reassoc): Ditto.
10608169689Skan	* cfgrtl.c (free_bb_for_insn): Ditto.
10609169689Skan	* passes.c (execute_one_pass): Run additional
10610169689Skan	todos returned by execute function.
10611169689Skan	* tree-pass.h (struct tree_opt_pass): Make execute
10612169689Skan	return a value.
10613169689Skan
10614169689Skan2006-03-02  Richard Guenther  <rguenther@suse.de>
10615169689Skan
10616169689Skan	* tree-ssa-alias.c (find_used_portions): Consider taking
10617169689Skan	the address as making the variable not write-only.
10618169689Skan
10619169689Skan2006-03-02  Nick Clifton  <nickc@redhat.com>
10620169689Skan
10621169689Skan	* config.gcc (default_use_cxa_atexit): Extend the description of
10622169689Skan	this configure variable.  Set its default value to "yes" for
10623169689Skan	Linux, NetBSD and ELF targets on the assumption that they will
10624169689Skan	use C libraries with the __cxa_atexit function.
10625169689Skan
10626169689Skan2006-03-02  Ben Elliston  <bje@au.ibm.com>
10627169689Skan
10628169689Skan	* config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
10629169689Skan	parameter as unused to suppress a build warning.
10630169689Skan
10631169689Skan2006-03-02  Ben Elliston  <bje@au.ibm.com>
10632169689Skan
10633169689Skan	* mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
10634169689Skan	config/dfp-bit.c.
10635169689Skan
10636169689Skan2006-03-01  Roger Sayle  <roger@eyesopen.com>
10637169689Skan
10638169689Skan	PR other/26489
10639169689Skan	* gthr-posix.h (__gthrw2): Define to take three parameters, the
10640169689Skan	declared name, the weak reference name, and the typeof name.
10641169689Skan	(__gthrw): Avoid expanding the declared name suffix.
10642169689Skan	(__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
10643169689Skan
10644169689Skan2006-03-01  Jakub Jelinek  <jakub@redhat.com>
10645169689Skan
10646169689Skan	* dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants
10647169689Skan	from DWARF 3.
10648169689Skan	(DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale,
10649169689Skan	DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count,
10650169689Skan	DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled,
10651169689Skan	DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity,
10652169689Skan	DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New.
10653169689Skan	(DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New.
10654169689Skan	(DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited,
10655169689Skan	DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New.
10656169689Skan	(DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch,
10657169689Skan	DW_DS_leading_separate, DW_DS_trailing_separate): New.
10658169689Skan	(DW_END_default, DW_END_big, DW_END_little): New.
10659169689Skan	(DW_END_lo_user, DW_END_hi_user): Define.
10660169689Skan	(DW_LNE_lo_user, DW_LNE_hi_user): Define.
10661169689Skan	(DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New.
10662169689Skan	(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
10663169689Skan	DW_LANG_D): New.
10664169689Skan
10665169689Skan2006-03-01  Diego Novillo  <dnovillo@redhat.com>
10666169689Skan
10667169689Skan	* tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG.
10668169689Skan	Update all users.
10669169689Skan	* tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage.
10670169689Skan	Update all users.
10671169689Skan	(TODO_update_smt_usage): Rename from TODO_update_tmt_usage.
10672169689Skan	Update all users.
10673169689Skan	* tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE.
10674169689Skan	Update all users.
10675169689Skan	* tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag'
10676169689Skan	to 'symbol_mem_tag'.
10677169689Skan	Update all users.
10678169689Skan	* doc/tree-ssa.texi: Update documentation to reflect TMT->SMT
10679169689Skan	rename.
10680169689Skan
10681169689Skan2006-03-01  Roger Sayle  <roger@eyesopen.com>
10682169689Skan
10683169689Skan	* builtins.c (fold_builtin_copysign): Delete unreachable code.
10684169689Skan
10685169689Skan2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>
10686169689Skan
10687169689Skan	PR target/25761
10688169689Skan	* config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just
10689169689Skan	MACHO_DYNAMIC_NO_PIC_P.
10690169689Skan	(MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P.
10691169689Skan
10692169689Skan2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>
10693169689Skan
10694169689Skan	PR target/26389
10695169689Skan	* config/darwin-protos.h (darwin_asm_output_anchor):
10696169689Skan	Declare.
10697169689Skan	* config/darwin-sections.def (cstring_section):
10698169689Skan	Add SECTION_MERGE to the flags.
10699169689Skan	(literal4_section): Likewise.
10700169689Skan	(literal8_section): Likewise.
10701169689Skan	(objc_selector_refs_section): Likewise.
10702169689Skan	(objc_cls_refs_section): Likewise.
10703169689Skan	* config/darwin.c (darwin_asm_output_anchor): New
10704169689Skan	function.
10705169689Skan	* config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
10706169689Skan
10707169689Skan2006-03-01  Daniel Berlin  <dberlin@dberlin.org>
10708169689Skan
10709169689Skan	Fix PR tree-optimization/26443
10710169689Skan	* tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage
10711169689Skan	to todo and PROP_tmt_usage to properties_destroyed.
10712169689Skan	* tree-ssa-ccp.c (pass_ccp): Ditto.
10713169689Skan	(pass_store_ccp): Ditto.
10714169689Skan	* tree-ssa-dom.c (pass_dominator): Ditto.
10715169689Skan
10716169689Skan2006-03-01  Diego Novillo  <dnovillo@redhat.com>
10717169689Skan
10718169689Skan	* tree-ssa-operands.c: Cleanup whitespace.
10719169689Skan	(get_asm_expr_operands): Move before first invocation.
10720169689Skan	(get_indirect_ref_operands): Likewise.
10721169689Skan	(get_tmr_operands): Likewise.
10722169689Skan	(get_call_expr_operands): Likewise.
10723169689Skan	(append_def): Likewise.
10724169689Skan	(append_use): Likewise.
10725169689Skan	(append_v_may_def): Likewise.
10726169689Skan	(append_v_must_def): Likewise.
10727169689Skan	(add_call_clobber_ops): Likewise.
10728169689Skan	(add_call_read_ops): Likewise.
10729169689Skan	(add_stmt_operand): Likewise.
10730169689Skan	(add_virtual_operand): Likewise.
10731169689Skan	(build_ssa_operands): Likewise.
10732169689Skan
10733169689Skan2006-03-01  Andrew Pinski  <pinskia@physics.uc.edu>
10734169689Skan
10735169689Skan	PR middle-end/26022
10736169689Skan	Revert:
10737169689Skan	PR middle-end/24437
10738169689Skan	* tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
10739169689Skan	with a call expr to ...
10740169689Skan	* fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
10741169689Skan
10742169689Skan2006-03-01  Diego Novillo  <dnovillo@redhat.com>
10743169689Skan
10744169689Skan	* tree-vrp.c (extract_range_from_assert): Remove special
10745169689Skan	handling for types with super-types.
10746169689Skan
10747169689Skan2006-03-01  Ben Elliston  <bje@au.ibm.com>
10748169689Skan
10749169689Skan	* config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux*
10750169689Skan	and powerpc64-*-linux* configurations.
10751169689Skan	* config/t-dfprules: New file.
10752169689Skan
10753169689Skan	* mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS.
10754169689Skan	Compile dfp-bit.c from the source directory using -DWIDTH and
10755169689Skan	$DFP_CFLAGS to control the compilation of that file, rather than
10756169689Skan	generating width-specific versions in the build directory.
10757169689Skan	* Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS.
10758169689Skan	(LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc].
10759169689Skan
10760169689Skan2006-02-28  Zack Weinberg  <zackw@panix.com>
10761169689Skan
10762169689Skan	* doc/md.texi: Avoid use of @headitem so that makeinfo <4.7
10763169689Skan	continues to work.
10764169689Skan
10765169689Skan2006-02-28  Eric Christopher  <echristo@apple.com>
10766169689Skan
10767169689Skan	* config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define.
10768169689Skan	Set up IN_LIBGCC definition of TARGET_64BIT.
10769169689Skan	* config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define.
10770169689Skan
10771169689Skan2006-02-28  Roger Sayle  <roger@eyesopen.com>
10772169689Skan
10773169689Skan	PR middle-end/14752
10774169689Skan	* c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
10775169689Skan	BIT_XOR_EXPR, BIT_AND_EXPR>: Delete.  Let fold optimize these
10776169689Skan	cases via the construction of "expr != 0".
10777169689Skan
10778169689Skan2006-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>
10779169689Skan
10780169689Skan	* alias.c (alias_invariant, alias_invariant_size): Remove.
10781169689Skan	(record_base_value): Remove.
10782169689Skan	(memrefs_conflict_p): Don't look at alias_invariant.
10783169689Skan	(end_alias_analysis): Don't free it.
10784169689Skan	* alias.h (record_base_value): Remove prototype.
10785169689Skan
10786169689Skan2006-02-28  Paolo Bonzini  <bonzini@gnu.org>
10787169689Skan	    Adam Nemet  <anemet@caviumnetworks.com>
10788169689Skan
10789169689Skan	* rtl.h (truncated_to_mode): Declare it.
10790169689Skan	(struct rtl_hooks): Add reg_truncated_to_mode hook.
10791169689Skan	* rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
10792169689Skan	(RTL_HOOKS_INITIALIZER): Include it.
10793169689Skan	* rtlhooks.c (reg_truncated_to_mode_general): New function.
10794169689Skan	* combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
10795169689Skan	reg_truncated_to_mode.
10796169689Skan	* rtlanal.c (truncated_to_mode): Define it.
10797169689Skan	* simplify-rtx.c (simplify_unary_operation_1): Use it.
10798169689Skan
10799169689Skan2006-02-28  Jeff Law  <law@redhat.com>
10800169689Skan
10801169689Skan	* tree-chrec.c (chrec_convert_aggressive): Do not eliminate
10802169689Skan	conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
10803169689Skan	the range allowed by TYPE_PRECISION.
10804169689Skan
10805169689Skan	* tree.h (strct phi_arg_d): Remove unused NONZERO field.
10806169689Skan
10807169689Skan2006-02-28  Dorit Nuzman  <dorit@il.ibm.com>
10808169689Skan
10809169689Skan	PR tree-optimization/26419
10810169689Skan	* doc/invoke.texi (ftree-vectorizer-verbose): Add information on
10811169689Skan	values of n.
10812169689Skan
10813169689Skan2006-02-27  Zack Weinberg  <zackw@panix.com>
10814169689Skan
10815169689Skan	* doc/md.texi: Fix typo in previous change.
10816169689Skan
10817169689Skan2006-02-27  Kenneth Zadeck <zadeck@naturalbridge.com>
10818169689Skan
10819169689Skan	* df.c: Remove.
10820169689Skan
10821169689Skan2006-02-27  Zack Weinberg  <zackw@panix.com>
10822169689Skan
10823169689Skan	* rtl.def (define_constraint, define_register_constraint)
10824169689Skan	(define_memory_constraint, define_address_constraint): New MD forms.
10825169689Skan	* gensupport.c (process_rtx): Put define_constraint etc on the
10826169689Skan	predicate queue.
10827169689Skan	* genpreds.c (process_define_predicate): Adjust comment.  Validate
10828169689Skan	the name, and call validate_exp to validate the expression.
10829169689Skan	(mark_mode_tests, write_extract_subexp): Can assume correct input.
10830169689Skan	(write_predicate_expr): Likewise.  NAME argument no longer necessary;
10831169689Skan	all callers changed.
10832169689Skan	(validate_exp, needs_variable, struct constraint_data)
10833169689Skan	(constraints_by_letter_table, first_constraint, last_constraint_ptr)
10834169689Skan	(FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints)
10835169689Skan	(const_dbl_constraints, constraint_max_namelen)
10836169689Skan	(have_register_constraints, have_memory_constraints)
10837169689Skan	(have_address_constraints, have_address_constraints)
10838169689Skan	(have_extra_constraints, have_const_int_constraints)
10839169689Skan	(have_const_dbl_constraints, mangle, add_constraint)
10840169689Skan	(process_define_constraint, process_define_register_constraint)
10841169689Skan	(write_enum_constraint_num, write_lookup_constraint)
10842169689Skan	(write_insn_constraint_len, write_regclass_for_constraint)
10843169689Skan	(write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint)
10844169689Skan	(write_insn_extra_memory_constraint)
10845169689Skan	(write_insn_extra_address_constraint)
10846169689Skan	(write_satisfies_constraint_fns): New.
10847169689Skan	(write_tm_preds_h): If we have new-style constraint definitions,
10848169689Skan	prototype the functions generated from them, and define the
10849169689Skan	old constraint interface (still used by generic code) in terms of
10850169689Skan	those functions.
10851169689Skan	(write_insn_preds_c): If we have new-style constraint definitions,
10852169689Skan	generate all relevant functions from those definitions.
10853169689Skan	(main): Handle define_constraint etc.
10854169689Skan	* genoutput.c (struct constraint_data, indep_constraints)
10855169689Skan	(mdep_constraint_letters, constraints_by_letter_table, note_constraint)
10856169689Skan	(mdep_constraint_len): New data structures and functions, defined
10857169689Skan	#ifdef USE_MD_CONSTRAINTS.
10858169689Skan	(check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS.
10859169689Skan	(validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined,
10860169689Skan	use new logic to validate operand constraints against constraint
10861169689Skan	definitions.
10862169689Skan	(main): Process define_constraint etc. if USE_MD_CONSTRAINTS is
10863169689Skan	defined.
10864169689Skan	* defaults.h: If none of the old-style constraint macros are
10865169689Skan	defined, define USE_MD_CONSTRAINTS; do not provide defaults for any
10866169689Skan	old-style macros; and poison REG_CLASS_FROM_LETTER,
10867169689Skan	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and
10868169689Skan	EXTRA_CONSTRAINT.
10869169689Skan	* recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately.
10870169689Skan	* doc/md.texi: Document new constraint-definition mechanism and the
10871169689Skan	C interface it provides.  Remove references to old mechanism
10872169689Skan	elsewhere in the document.
10873169689Skan	(Machine Constraints): Use pathnames relative to gcc directory,
10874169689Skan	i.e. config/ARCH/FILE.  Change i386 section to refer to
10875169689Skan	config/i386/predicates.md; update that section to match docstrings.
10876169689Skan	* doc/tm.texi: Move all documentation of the old constraint-
10877169689Skan	definition macros to their own section, clearly mark as obsolete.
10878169689Skan
10879169689Skan	* config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t)
10880169689Skan	(u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint
10881169689Skan	definitions.
10882169689Skan	* config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
10883169689Skan	(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
10884169689Skan	* config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from
10885169689Skan	constraint strings.
10886169689Skan	(splits and peepholes): Use satisfies_constraint_*.
10887169689Skan	* config/i386/i386.c (memory_address_length)
10888169689Skan	(ix86_attr_length_immediate_default): Use satisfies_constraint_*.
10889169689Skan
10890169689Skan2006-02-27  Daniel Berlin  <dberlin@dberlin.org>
10891169689Skan
10892169689Skan	* lambda-code.c (can_convert_to_perfect_nest): Allow any type of
10893169689Skan	scalar operation to be put back into the loop.
10894169689Skan
10895169689Skan2006-02-27  Jakub Jelinek  <jakub@redhat.com>
10896169689Skan
10897169689Skan	PR other/26208
10898169689Skan	* unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
10899169689Skan	(extract_cie_info): Handle S flag in augmentation string.
10900169689Skan	(execute_cfa_program): If context->signal_frame, execute also
10901169689Skan	fs->pc == context->ra instructions.
10902169689Skan	(uw_frame_state_for): If context->signal_frame, don't subtract one
10903169689Skan	from context->ra to find FDE.
10904169689Skan	(uw_update_context_1): Set context->signal_frame to
10905169689Skan	fs->signal_frame.
10906169689Skan	(_Unwind_GetIPInfo): New function.
10907169689Skan	* unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
10908169689Skan	* unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
10909169689Skan	of _Unwind_GetIP.
10910169689Skan	* unwind-sjlj.c (_Unwind_GetIPInfo): New function.
10911169689Skan	* unwind-generic.h (_Unwind_GetIPInfo): New prototype.
10912169689Skan	* unwind-compat.c (_Unwind_GetIPInfo): New function.
10913169689Skan	* libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
10914169689Skan	* config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
10915169689Skan	* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
10916169689Skan	* config/i386/linux-unwind.h (x86_fallback_frame_state,
10917169689Skan	x86_64_fallback_frame_state): Set fs->signal_frame.
10918169689Skan	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
10919169689Skan	(MD_FROB_UPDATE_CONTEXT): Define unconditionally.
10920169689Skan	(frob_update_context): Likewise.  Workaround missing S flag in
10921169689Skan	Linux 2.6.12 - 2.6.16 kernel vDSOs.
10922169689Skan	* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
10923169689Skan	Remove the psw_addr + 1 hack.
10924169689Skan
10925169689Skan2006-02-27  Daniel Berlin  <dberlin@dberlin.org>
10926169689Skan
10927169689Skan	* tree-ssa-structalias.c (get_constraint_for): Move code to deal
10928169689Skan	with aggregates here.
10929169689Skan	(find_func_aliases): Remove code for &<aggregate> from here.
10930169689Skan
10931169689Skan2006-02-26  Roger Sayle  <roger@eyesopen.com>
10932169689Skan
10933169689Skan	* fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
10934169689Skan	(X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
10935169689Skan	Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
10936169689Skan	as (X & C) ne/eq 0.
10937169689Skan
10938169689Skan2006-02-26  Roger Sayle  <roger@eyesopen.com>
10939169689Skan
10940169689Skan	PR middle-end/19983
10941169689Skan	* real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
10942169689Skan
10943169689Skan2006-02-26  Zdenek Dvorak <dvorakz@suse.cz>
10944169689Skan
10945169689Skan	* opts.c (decode_options): Do not handle flag_strength_reduce.
10946169689Skan	(common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
10947169689Skan	and OPT_fstrength_reduce.
10948169689Skan	* tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
10949169689Skan	flag_prefetch_loop_arrays for being nonzero.
10950169689Skan	* common.opt (floop-optimize, frerun-loop-opt): Resurrected as
10951169689Skan	no-ops.
10952169689Skan	(fprefetch-loop-arrays-rtl): Removed.
10953169689Skan	(flag_prefetch_loop_arrays): Do not specify the value.
10954169689Skan
10955169689Skan	* doc/passes.texi: Update documentation of loop optimizer
10956169689Skan	passes.
10957169689Skan	* doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
10958169689Skan	-frerun-loop-opt): Remove.
10959169689Skan
10960169689Skan2006-02-26  Richard Guenther  <rguenther@suse.de>
10961169689Skan
10962169689Skan	PR tree-optimization/26421
10963169689Skan	* tree-ssa-alias.c (find_used_portions): Don't treat parameters
10964169689Skan	in function calls that are ADDR_EXPRs as using the whole structure.
10965169689Skan
10966169689Skan2006-02-26  Steven Bosscher  <stevenb.gcc@gmail.com>
10967169689Skan
10968169689Skan	* common.opt (-floop-optimize, -frerun-loop-opt): Remove.
10969169689Skan	* tree-pass.h (pass_loop_optimize): Remove.
10970169689Skan	* passes.c (pass_loop_optimize): Never run it.
10971169689Skan	* toplev.c (backend_init): Don't call init_loop.
10972169689Skan	* opts.c (flag_loop_optimize_set): Remove.
10973169689Skan	(decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
10974169689Skan	(common_handle_option) <OPT_floop_optimize>: Remove.  Don't disable
10975169689Skan	the old RTL loop optimizer when profiling enabled.
10976169689Skan	* predict.c (tree_estimate_probability): Always strip builtin_expect.
10977169689Skan	* cfgcleanup.c (try_forward_edges): Don't avoid killing loop
10978169689Skan	pre-headers for the sake of the old RTL loop optimizer.
10979169689Skan	* Makefile.in: Remove all references to loop.o.
10980169689Skan
10981169689Skan	* doc/invoke.texi: Remove all references to -floop-optimize
10982169689Skan	and -frerun-loop-opt.
10983169689Skan
10984169689Skan2006-02-26  Zack Weinberg  <zackw@panix.com>
10985169689Skan
10986169689Skan	* doc/md.texi (Machine Constraints): Refer to all files with paths
10987169689Skan	relative to gcc directory (i.e. config/CPU/file).  Add missing
10988169689Skan	@table @code ... @end table to M32C subsection.
10989169689Skan
10990169689Skan2006-02-26  Roger Sayle  <roger@eyesopen.com>
10991169689Skan
10992169689Skan	* fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
10993169689Skan	(X & 1) == 0.
10994169689Skan	<BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
10995169689Skan
10996169689Skan2006-02-26  Roger Sayle  <roger@eyesopen.com>
10997169689Skan	    James A. Morrison  <phython@gcc.gnu.org>
10998169689Skan
10999169689Skan	PR middle-end/21137
11000169689Skan	* fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
11001169689Skan	when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
11002169689Skan	new constant C2<<C1, or as (X<0) or (X,false) depending upon the
11003169689Skan	signedness of the shift operation.
11004169689Skan
11005169689Skan2006-02-26  Dorit Nuzman  <dorit@il.ibm.com>
11006169689Skan
11007169689Skan	PR tree-optimization/26359
11008169689Skan	* tree-ssa-alias.c (new_type_alias): Set fields for new tag.
11009169689Skan
11010169689Skan2006-02-25  Roger Sayle  <roger@eyesopen.com>
11011169689Skan
11012169689Skan	* simplify-rtx.c (simplify_relational_operation_1): Simplify
11013169689Skan	(X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y.  Simplify (X^Y) == Y
11014169689Skan	as X == 0, and some symmetry related transformations.
11015169689Skan	Simplify (X^C1) == C2 as X == (C1^C2).  Split long comment line.
11016169689Skan
11017169689Skan2006-02-25  Roger Sayle  <roger@eyesopen.com>
11018169689Skan
11019169689Skan	PR middle-end/23673
11020169689Skan	* fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
11021169689Skan	and (X^Y) != 0 as X != Y.  Fold (X^Y) == Y as X == 0, and some
11022169689Skan	symmetry related transformations.  Fold (X^C1) == C2 as
11023169689Skan	X == (C1^C2).
11024169689Skan
11025169689Skan2006-02-25  Juergen Weigert  <jw@suse.de>
11026169689Skan	Richard Guenther  <rguenther@suse.de>
11027169689Skan
11028169689Skan	* scan-decls.c (scan_decls): Don't fetch new statement after CPP_EOF.
11029169689Skan
11030169689Skan2006-02-24  Adam Nemet  <anemet@caviumnetworks.com>
11031169689Skan
11032169689Skan	* combine.c (gen_lowpart_or_truncate): Call
11033169689Skan	simplify_gen_unary(TRUNCATE, ...) instead of gen_rtx_TRUNCATE.
11034169689Skan
11035169689Skan2006-02-24  Diego Novillo  <dnovillo@redhat.com>
11036169689Skan
11037169689Skan	* doc/invoke.texi: Move -fopenmp description to "Options for
11038169689Skan	Code Generation".
11039169689Skan	Remove reference to -lgomp.
11040169689Skan
11041169689Skan2006-02-24  David Edelsohn  <edelsohn@gnu.org>
11042169689Skan
11043169689Skan	* doc/install.texi: Require GNU tar version 1.14.
11044169689Skan
11045169689Skan2006-02-24  Geoffrey Keating  <geoffk@apple.com>
11046169689Skan
11047169689Skan	* doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
11048169689Skan	* doc/invoke.texi (C++ Dialect Options): Document
11049169689Skan	-fno-use-cxa-get-exception-ptr.
11050169689Skan	* configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
11051169689Skan	* configure: Regenerate.
11052169689Skan	* c.opt (fuse-cxa-get-exception-ptr): New.
11053169689Skan	* c-opts.c (c_common_handle_option): Handle
11054169689Skan	OPT_fuse_cxa_get_exception_ptr.
11055169689Skan	* c-common.c (flag_use_cxa_atexit): Update documentation.
11056169689Skan	(flag_use_cxa_get_exception_ptr): New.
11057169689Skan	* c-common.h (flag_use_cxa_get_exception_ptr): New.
11058169689Skan	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve
11059169689Skan	documentation.
11060169689Skan	(C_COMMON_OVERRIDE_OPTIONS): New.
11061169689Skan
11062169689Skan2006-02-24  Roger Sayle  <roger@eyesopen.com>
11063169689Skan
11064169689Skan	PR middle-end/24952
11065169689Skan	* combine.c (try_combine): Explicitly check whether GET_CODE is
11066169689Skan	a SET or a CLOBBER, instead on checking that it isn't a USE.
11067169689Skan
11068169689Skan2006-02-24  Roger Sayle  <roger@eyesopen.com>
11069169689Skan
11070169689Skan	* fold-const.c (fold_comparison): New subroutine of fold_binary
11071169689Skan	containing transformations common to both the equality and
11072169689Skan	ordering relational operators, factored out of fold_binary.
11073169689Skan	(fold_binary): Separate out the equality operators (EQ_EXPR
11074169689Skan	and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
11075169689Skan	LE_EXPR and GE_EXPR), calling fold_comparison to perform the
11076169689Skan	transformations common to both.
11077169689Skan	(fold_div_compare): Fix latent bugs in the previously unreachable
11078169689Skan	LT_EXPR and GE_EXPR cases.
11079169689Skan
11080169689Skan2006-02-24  David Edelsohn  <edelsohn@gnu.org>
11081169689Skan
11082169689Skan	* config/rs6000/rs6000.c (rs6000_init_builtins): Change
11083169689Skan	decl libname for clog to __clog on AIX.
11084169689Skan
11085169689Skan	* config/rs6000/xcoff.h (MAX_OFILE_ALIGNMENT): Define.
11086169689Skan
11087169689Skan2006-02-24  Alan Modra  <amodra@bigpond.net.au>
11088169689Skan
11089169689Skan	PR target/26453
11090169689Skan	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
11091169689Skan	output traceback table for thunks.  Localise rs6000_stack_info call.
11092169689Skan
11093169689Skan2006-02-23  Roger Sayle  <roger@eyesopen.com>
11094169689Skan	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11095169689Skan
11096169689Skan	* gthr-posix.h (__gthrw): Fix typo in comment.
11097169689Skan
11098169689Skan2006-02-23  Geoffrey Keating  <geoffk@apple.com>
11099169689Skan
11100169689Skan	* doc/cpp.texi (Character sets): Document that we do support
11101169689Skan	input files to be in any character set.
11102169689Skan
11103169689Skan2006-02-23  Jeff Law  <law@redhat.com>
11104169689Skan
11105169689Skan	* tree.h (PHI_ARG_NONZERO): Remove.
11106169689Skan	* tree-phinodes.c (add_phi_arg): No longer initialize PHI_ARG_NONZERO.
11107169689Skan	(remove_phi_arg_num): No longer copy PHI_ARG_NONZERO from the old
11108169689Skan	node to the new node.
11109169689Skan
11110169689Skan	PR tree-optimization/26425
11111169689Skan	* tree-vrp.c (vrp_visit_assignment): If the LHS's type has a NULL
11112169689Skan	min/max, then assume its varying.
11113169689Skan
11114169689Skan2006-02-23  Zdenek Dvorak <dvorakz@suse.cz>
11115169689Skan
11116169689Skan	PR rtl-optimization/26316
11117169689Skan	* rtlanal.c (enum may_trap_p_flags): New.
11118169689Skan	(may_trap_p_1): Take flags instead of unaligned_mems argument.  Ignore
11119169689Skan	MEM_NOTRAP_P if flags & MTP_AFTER_MOVE.
11120169689Skan	(may_trap_p, may_trap_or_fault_p): Pass flags to may_trap_p_1.
11121169689Skan	(may_trap_after_code_motion_p): New function.
11122169689Skan	* loop-invariant.c (find_identical_invariants): Fix dump formating.
11123169689Skan	(find_invariant_insn): Use may_trap_after_code_motion_p.
11124169689Skan	* rtl.h (may_trap_after_code_motion_p): Declare.
11125169689Skan
11126169689Skan2006-02-23  Zdenek Dvorak <dvorakz@suse.cz>
11127169689Skan
11128169689Skan	* emit-rtl.c (immed_double_const): Cleanup.
11129169689Skan
11130169689Skan2006-02-23  Daniel Berlin  <dberlin@dberlin.org>
11131169689Skan
11132169689Skan	Fix PR tree-optimization/26376
11133169689Skan	* tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
11134169689Skan	remove assert.
11135169689Skan
11136169689Skan2006-02-23  Jakub Jelinek  <jakub@redhat.com>
11137169689Skan
11138169689Skan	PR middle-end/26412
11139169689Skan	* gimplify.c (omp_add_variable): Guard variable size decl test with
11140169689Skan	DECL_SIZE (decl) check.
11141169689Skan
11142169689Skan2006-02-23  Richard Guenther  <rguenther@suse.de>
11143169689Skan
11144169689Skan	PR middle-end/26439
11145169689Skan	* tree-ssa-structalias.c (find_func_aliases): Handle complex types
11146169689Skan	like aggregate types.
11147169689Skan
11148169689Skan2006-02-23  Jakub Jelinek  <jakub@redhat.com>
11149169689Skan
11150169689Skan	* configure.ac: Add --with{,out}-long-double-128 configure option.
11151169689Skan	(TARGET_DEFAULT_LONG_DOUBLE_128): New test.
11152169689Skan	* configure: Rebuilt.
11153169689Skan	* config.in: Rebuilt.
11154169689Skan	* doc/install.texi (Options specification): Document
11155169689Skan	--with-long-double-128.
11156169689Skan
11157169689Skan	* config/rs6000/linux.h [TARGET_DEFAULT_LONG_DOUBLE_128]
11158169689Skan	(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
11159169689Skan	* config/rs6000/linux64.h [TARGET_DEFAULT_LONG_DOUBLE_128]
11160169689Skan	(RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define to 128.
11161169689Skan
11162169689Skan2006-02-23  Aldy Hernandez  <aldyh@redhat.com>
11163169689Skan
11164169689Skan	* config/s390/s390.c (override_options): Handle
11165169689Skan	TARGET_DEFAULT_LONG_DOUBLE_128.
11166169689Skan
11167169689Skan	* config/alpha/alpha.c (override_options): Handle
11168169689Skan	TARGET_DEFAULT_LONG_DOUBLE_128.
11169169689Skan
11170169689Skan	* config/sparc/sparc.c (sparc_override_options): Handle
11171169689Skan	TARGET_DEFAULT_LONG_DOUBLE_128.
11172169689Skan
11173169689Skan2006-02-22  Daniel Jacobowitz  <dan@codesourcery.com>
11174169689Skan
11175169689Skan	* Makefile.in (stmp-fixinc): Use real-$(INSTALL_HEADERS_DIR).
11176169689Skan	(real-install-headers-tar, real-install-headers-cpio)
11177169689Skan	(real-install-headers-cp): New targets.
11178169689Skan
11179169689Skan2006-02-22  Richard Sandiford  <richard@codesourcery.com>
11180169689Skan
11181169689Skan	* tree.h (variable_section): Delete.
11182169689Skan	* varasm.c (variable_section): Delete.
11183169689Skan
11184169689Skan2006-02-22  Paolo Bonzini  <bonzini@gnu.org>
11185169689Skan
11186169689Skan	* install.texi: Add notes on install.texi2html.
11187169689Skan	(Building in parallel): Do not use footnotes.
11188169689Skan
11189169689Skan2006-02-21  Aldy Hernandez  <aldyh@redhat.com>
11190169689Skan
11191169689Skan	PR libgomp/26234
11192169689Skan	* doc/install.texi (Configuration): Document --disable-libgomp.
11193169689Skan
11194169689Skan2006-02-21  Geoffrey Keating  <geoffk@apple.com>
11195169689Skan
11196169689Skan	* config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New.
11197169689Skan
11198169689Skan2006-02-21  Alexandre Oliva  <aoliva@redhat.com>
11199169689Skan
11200169689Skan	* config/i386/sse.md (vec_extractv2df_1_sse): New.
11201169689Skan	(vec_extractv2df_0_sse): New.
11202169689Skan
11203169689Skan2006-02-21  Alexandre Oliva  <aoliva@redhat.com>
11204169689Skan
11205169689Skan	* defaults.h (CFA_FRAME_BASE_OFFSET): Define.
11206169689Skan	* config/ia64/ia64.h (CFA_FRAME_BASE_OFFSET): Override.
11207169689Skan	* doc/tm.texi (CFA_FRAME_BASE_OFFSET): Document.
11208169689Skan	* dwarf2out.c (build_cfa_loc): New offset parameter.  Add it
11209169689Skan	to the result of the expression.
11210169689Skan	(def_cfa_1): Adjust.
11211169689Skan	(frame_pointer_cfa_offset): Rename to...
11212169689Skan	(frame_pointer_fb_offset): ... this.  Adjust all uses.
11213169689Skan	(convert_cfa_to_loc_list): Rename to...
11214169689Skan	(convert_cfa_to_fb_loc_list): ... this.  New offset parameter.
11215169689Skan	Pass it on to build_cfa_loc.
11216169689Skan	(compute_frame_pointer_to_cfa_displacement): Rename to...
11217169689Skan	(compute_frame_pointer_to_fb_displacement): ... this.  New
11218169689Skan	offset parameter.  Use it in computation.
11219169689Skan	(gen_subprogram_die): Compute cfa_fb_offset with the new
11220169689Skan	macro, and use it to compute the fb loc list and the
11221169689Skan	displacement.
11222169689Skan
11223169689Skan2006-02-21  Bernd Schmidt  <bernd.schmidt@analog.com>
11224169689Skan
11225169689Skan	* config/bfin/predicates.md (cc_operand): Delete predicate.  All uses
11226169689Skan	replaced with register_operand.
11227169689Skan	* config/bfin/bfin.c (bfin_register_move_cost): Moving CC to any
11228169689Skan	non-DREG is expensive.
11229169689Skan	* config/bfin/bfin.h (FIXED_REGISTERS): CC isn't fixed.
11230169689Skan	* config/bfin/bfin.md (movbi): Fix constraints and template for moves
11231169689Skan	involving memory.
11232169689Skan
11233169689Skan2006-02-21  Joseph S. Myers  <joseph@codesourcery.com>
11234169689Skan
11235169689Skan	* doc/install.texi2html: Use set -e.
11236169689Skan
11237169689Skan2006-02-21  Richard Sandiford  <richard@codesourcery.com>
11238169689Skan
11239169689Skan	* doc/tm.texi (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
11240169689Skan	(ASM_OUTPUT_SHARED_LOCAL): Delete.
11241169689Skan	* doc/invoke.texi (-fshared-data): Delete.
11242169689Skan	* common.opt (fshared-data): Delete.
11243169689Skan	* varasm.c (asm_emit_uninitialised): Remove flag_shared_data handling.
11244169689Skan	(assemble_static_space): Remove #if 0 code.
11245169689Skan	* system.h (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_BSS)
11246169689Skan	(ASM_OUTPUT_SHARED_LOCAL): Poison.
11247169689Skan	* config/cris/cris.h: Remove FIXME.
11248169689Skan
11249169689Skan2006-02-21  Paolo Bonzini  <bonzini@gnu.org>
11250169689Skan
11251169689Skan	* doc/sourcebuild.texi (Front End Directory): No more double-colon
11252169689Skan	hooks.
11253169689Skan
11254169689Skan2006-02-21  Jakub Jelinek  <jakub@redhat.com>
11255169689Skan
11256169689Skan	PR middle-end/26379
11257169689Skan	* combine.c (simplify_shift_const_1): Disable nested shifts
11258169689Skan	optimization for vector shifts.
11259169689Skan
11260169689Skan2006-02-20  Roger Sayle  <roger@eyesopen.com>
11261169689Skan
11262169689Skan	PR tree-optimization/26361
11263169689Skan	* tree-vrp.c (extract_range_from_unary_expr): Handle NEGATE_EXPR
11264169689Skan	of unsigned integer types.
11265169689Skan
11266169689Skan2006-02-20  Sebastian Pop  <pop@cri.ensmp.fr>
11267169689Skan
11268169689Skan	* tree-chrec.c (eq_evolutions_p): New.
11269169689Skan	* tree-chrec.h (eq_evolutions_p): Declared.
11270169689Skan	* tree-data-ref.c: Fix formatting.
11271169689Skan	(datadep_stats, dependence_stats): New.
11272169689Skan	(gcd): Moved...
11273169689Skan	(print_direction_vector): New.
11274169689Skan	(dump_data_dependence_relation): Use print_direction_vector.
11275169689Skan	(object_analysis, create_data_ref): Handle COMPONENT_REF.
11276169689Skan	(compute_subscript_distance): Static.
11277169689Skan	(initialize_data_dependence_relation): Static.  Get the number
11278169689Skan	of loops surrounding the references from the callers, and initialize
11279169689Skan	DDR_SIZE_VECT to nb_loops.  Use both base_addr_differ_p and
11280169689Skan	base_object_differ_p analyzers.
11281169689Skan	(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
11282169689Skan	compute_overlap_steps_for_affine_1_2,
11283169689Skan	analyze_subscript_affine_affine): Count the classified dependences.
11284169689Skan	Print a message when a test failed.
11285169689Skan	(can_use_analyze_subscript_affine_affine): New.
11286169689Skan	(analyze_siv_subscript): Compute the data dependences on symbolic
11287169689Skan	scevs that verify can_use_analyze_subscript_affine_affine.
11288169689Skan	(chrec_steps_divide_constant_p): Returns true, false, or unknown.
11289169689Skan	(analyze_miv_subscript): Update use of chrec_steps_divide_constant_p.
11290169689Skan	Handle symbolic scevs.
11291169689Skan	(analyze_overlapping_iterations): Let symbolic affine scevs to be
11292169689Skan	analyzed.
11293169689Skan	(subscript_dependence_tester): Moved...
11294169689Skan	(build_classic_dist_vector, build_classic_dir_vector): Don't use
11295169689Skan	lambda_vector_clear on newly allocated vectors.  Get nb_loops from
11296169689Skan	DDR_SIZE_VECT instead of getting it in parameter.
11297169689Skan	(subscript_dependence_tester): ... here.  Take as a parameter
11298169689Skan	loop_nest_depth.  Call build_classic_dist_vector and
11299169689Skan	build_classic_dir_vector.
11300169689Skan	(compute_affine_dependence): Update subscript_dependence_tester
11301169689Skan	parameters.  Update datadep_stats counters.  Call
11302169689Skan	compute_subscript_distance.
11303169689Skan	(compute_self_dependence): Save the dist and dir vectors.  Call
11304169689Skan	compute_subscript_distance.
11305169689Skan	(ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
11306169689Skan	(compute_all_dependences): Reorder parameters as they were before
11307169689Skan	conversion to VEC.  Pass nb_loops and loop_nest_depth.  Don't call
11308169689Skan	compute_subscript_distance.  Update the use of
11309169689Skan	compute_affine_dependence and initialize_data_dependence_relation.
11310169689Skan	(find_data_references_in_loop): Handle COMPONENT_REF.
11311169689Skan	(compute_data_dependences_for_loop): Initialize dependence_stats.
11312169689Skan	Don't call build_classic_dist_vector and build_classic_dir_vector.
11313169689Skan	Update the parameters of initialize_data_dependence_relation and
11314169689Skan	compute_all_dependences.  Print the statistics from datadep_stats.
11315169689Skan	(analyze_all_data_dependences): Static.  Not used until the pass for
11316169689Skan	checking the data dependences is contributed.
11317169689Skan	* tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
11318169689Skan	DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
11319169689Skan	(initialize_data_dependence_relation, compute_affine_dependence,
11320169689Skan	analyze_all_data_dependences, compute_subscript_distance): Removed.
11321169689Skan	(print_direction_vector): New.
11322169689Skan	* lambda.h (gcd): ... here.
11323169689Skan	(lambda_vector_gcd): Moved here from gcd_vector.
11324169689Skan	* lambda-code.c (gcd, gcd_vector): Removed.
11325169689Skan	(lambda_compute_target_space): Use lambda_vector_gcd.  Fix formatting.
11326169689Skan	* Makefile.in (tree-vect-patterns.o): Depends on TREE_DATA_REF_H.
11327169689Skan
11328169689Skan2006-02-20  Diego Novillo  <dnovillo@redhat.com>
11329169689Skan
11330169689Skan	* ipa-type-escape.c: Tidy some comments and white space.
11331169689Skan	* tree-ssa-operands.c: Likewise.
11332169689Skan
11333169689Skan2006-02-20  Andrew Pinski  <pinskia@physics.uc.edu>
11334169689Skan
11335169689Skan	PR tree-opt/25879
11336169689Skan	* tree-pretty-print.c (debug_tree_chain): Walk the chains.
11337169689Skan	(dump_decl_name): Do not walk the decl tree chains.
11338169689Skan	* tree-pass.h (TDF_CHAIN): Remove.
11339169689Skan
11340169689Skan2006-02-20  Rafael �vila de Esp�ndola  <rafael.espindola@gmail.com>
11341169689Skan
11342169689Skan	* Makefile.in (C): Remove
11343169689Skan	(PROTO): Remove
11344169689Skan	(.PHONY): Remove C and PROTO
11345169689Skan
11346169689Skan2006-02-20  Roger Sayle  <roger@eyesopen.com>
11347169689Skan
11348169689Skan	PR middle-end/26236
11349169689Skan	* doc/c-tree.texi (INTEGER_TYPE): Remove reference to the now
11350169689Skan	deprecated CHAR_TYPE tree code.
11351169689Skan
11352169689Skan2006-02-20  Paolo Bonzini  <bonzini@gnu.org>
11353169689Skan
11354169689Skan	* configure.ac (target_list): Add install-info, dvi, html.
11355169689Skan	* configure: Regenerate.
11356169689Skan
11357169689Skan	* ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in,
11358169689Skan	java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in,
11359169689Skan	treelang/Make-lang.in: Do not use double-colon rules.
11360169689Skan
11361169689Skan2006-02-20  Daniel Berlin  <dberlin@dberlin.org>
11362169689Skan
11363169689Skan	* tree.h (struct tree_memory_tag): Add is_used_alone member.
11364169689Skan	(TMT_USED_ALONE): New macro.
11365169689Skan	* tree-pass.h (PROP_tmt_usage): New property.
11366169689Skan	(TODO_update_tmt_usage): New todo.
11367169689Skan	* tree-ssa-alias.c (updating_used_alone): New variable.
11368169689Skan	(recalculate_used_alone): New function.
11369169689Skan	(compute_may_aliases): Set updating_used_alone, call
11370169689Skan	recalculate_used_alone.
11371169689Skan	* tree-sra.c (pass_sra): Note that this pass destroys
11372169689Skan	PROP_tmt_usage, and add TODO_update_tmt_usage.
11373169689Skan	* tree-ssa-forwprop.c (pass_forwprop): Ditto.
11374169689Skan	* tree-flow.h (updating_used_alone): Prototype.
11375169689Skan	(recalculate_used_alone): Ditto.
11376169689Skan	* passes.c (execute_todo): Add code to set updating_used_alone,
11377169689Skan	and call recalculate.
11378169689Skan	* tree-ssa-operands.c (add_virtual_operand): Only append bare def
11379169689Skan	for clobber if used alone, and add assert to verify used_alone
11380169689Skan	status.
11381169689Skan
11382169689Skan2006-02-20  Angel Nunez Mencias  <anunez@de.ibm.com>
11383169689Skan
11384169689Skan	* config/s390/s390.c (legitimize_pic_address): Assertions checking
11385169689Skan	for non tls symbols added.
11386169689Skan	(legitimize_address): Do nothing for PLUS expressions if one of the
11387169689Skan	addends is a tls symbol reference.
11388169689Skan
11389169689Skan2006-02-20  Paolo Bonzini  <bonzini@gnu.org>
11390169689Skan
11391169689Skan	PR bootstrap/25476
11392169689Skan
11393169689Skan	* Makefile.in (LDFLAGS): Define from autoconf substitution.
11394169689Skan
11395169689Skan	* Makefile.in (BOOTSTRAPPING): New.
11396169689Skan	(quickstrap): New definition if BOOTSTRAPPING=yes.
11397169689Skan
11398169689Skan	* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
11399169689Skan	* configure.ac: Substitute all_selected_languages with the languages
11400169689Skan	that were configured.  For all the other variables except
11401169689Skan	lang_specs_files, include all the languages in the tree.
11402169689Skan	* configure: Regenerate.
11403169689Skan
11404169689Skan	* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
11405169689Skan	if there is one.  Run the commands to run fixincludes in the same
11406169689Skan	subshell.
11407169689Skan
11408169689Skan	* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
11409169689Skan	* doc/install.texi: Document exact conventions for searching target tools.
11410169689Skan	Document --with-build-time-tools.  Document toplevel bootstrap.  Document
11411169689Skan	something more about building an Ada cross-compiler.  Don't list GNU Make
11412169689Skan	requirements which affect all platforms.
11413169689Skan
11414169689Skan2006-02-19  Roger Sayle  <roger@eyesopen.com>
11415169689Skan
11416169689Skan	PR middle-end/19543
11417169689Skan	* varasm.c (compare_constant) <INTEGER_CST>: Integer constants are
11418169689Skan	only equivalent if the have both the same mode and precision.
11419169689Skan
11420169689Skan2006-02-20  Ben Elliston  <bje@au.ibm.com>
11421169689Skan
11422169689Skan	* doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE.
11423169689Skan
11424169689Skan2006-02-19  Roger Sayle  <roger@eyesopen.com>
11425169689Skan	    Steven Bosscher  <stevenb.gcc@gmail.com>
11426169689Skan
11427169689Skan	* gcse.c (want_to_gcse_p): On STACK_REGS targets, look through
11428169689Skan	constant pool references to identify stack mode constants.
11429169689Skan	* rtlanal.c (constant_pool_constant_p): New predicate to check
11430169689Skan	whether operand is a floating point constant in the pool.
11431169689Skan	* rtl.h (constant_pool_constant_p): Prototype here.
11432169689Skan	* loop.c (scan_loop): Avoid hoisting constants from the constant
11433169689Skan	pool on STACK_REGS targets.
11434169689Skan	(load_mems): Likewise.
11435169689Skan	* loop-invariant.c (get_inv_cost): Make hoisting constant pool
11436169689Skan	loads into x87 registers expensive in terms of register pressure.
11437169689Skan
11438169689Skan2006-02-19  Roger Sayle  <roger@eyesopen.com>
11439169689Skan
11440169689Skan	* gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to
11441169689Skan	__foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined.
11442169689Skan
11443169689Skan2006-02-19  David Edelsohn  <edelsohn@gnu.org>
11444169689Skan
11445169689Skan	* config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define.
11446169689Skan	* config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define.
11447169689Skan
11448169689Skan2006-02-19  Daniel Berlin  <dberlin@dberlin.org>
11449169689Skan
11450169689Skan	* doc/invoke.texi: Document -fipa-pta.
11451169689Skan	* common.opt: Add ipa-pta option.
11452169689Skan	* tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed.
11453169689Skan	(do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code.
11454169689Skan	(do_ds_constraint): Ditto.
11455169689Skan	(get_constraint_for): Only add to referenced_vars if
11456169689Skan	referenced_vars exists.
11457169689Skan	(insert_into_field_list): Rewrite to do this unsorted.
11458169689Skan	(insert_into_field_list_sorted): Rename old insert_into_field_list
11459169689Skan	to this.
11460169689Skan	(create_function_info_for): Use insert_into_field_list_sorted.
11461169689Skan	(create_variable_info_for): Rewrite so it uses unsorted version,
11462169689Skan	since the field list is sorted.
11463169689Skan	(intra_create_variable_infos): Only add to referenced_vars if
11464169689Skan	referenced_vars exists.
11465169689Skan	(ipa_pta_execute): Init heapvars, and delete when done.
11466169689Skan	* passes.c (init_optimization_passes): Add call to pass_ipa_pta.
11467169689Skan
11468169689Skan2006-02-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11469169689Skan
11470169689Skan	* doc/install.texi: Add missing `@samp'.
11471169689Skan
11472169689Skan2006-02-18  Andrew Pinski <pinskia@physics.uc.edu>
11473169689Skan
11474169689Skan	* config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P):
11475169689Skan	Use the arguments.
11476169689Skan
11477169689Skan2006-02-18  Mark Wielaard  <mark@klomp.org>
11478169689Skan
11479169689Skan	* doc/contrib.texi (Contributors): Add classpath/libgcj hackers
11480169689Skan	who added new 4.1 features, bug fixes and integration support.
11481169689Skan
11482169689Skan2006-02-18  David Edelsohn  <edelsohn@gnu.org>
11483169689Skan
11484169689Skan	PR target/26350
11485169689Skan	* config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
11486169689Skan	MEM for ABI_V4 pic.
11487169689Skan
11488169689Skan2006-02-18  Richard Sandiford  <richard@codesourcery.com>
11489169689Skan
11490169689Skan	* cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
11491169689Skan	* emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx.
11492169689Skan	(copy_insn_1): Likewise.  Don't copy each field individually.
11493169689Skan	Reindent.
11494169689Skan	* read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead
11495169689Skan	of RTX_SIZE.
11496169689Skan	* reload1.c (eliminate_regs): Use shallow_copy_rtx.
11497169689Skan	* rtl.c (rtx_size): Rename variable to...
11498169689Skan	(rtx_code_size): ...this.
11499169689Skan	(rtx_size): New function.
11500169689Skan	(rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE.
11501169689Skan	(copy_rtx): Use shallow_copy_rtx.  Don't copy each field individually.
11502169689Skan	Reindent.
11503169689Skan	(shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE.
11504169689Skan	* rtl.h (rtx_code_size): New variable.
11505169689Skan	(rtx_size): Change from a variable to a function.
11506169689Skan	(RTX_SIZE): Rename to...
11507169689Skan	(RTX_CODE_SIZE): ...this.
11508169689Skan
11509169689Skan	PR target/9703
11510169689Skan	PR tree-optimization/17106
11511169689Skan	* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document.
11512169689Skan	(Anchored Addresses): New section.
11513169689Skan	* doc/invoke.texi (-fsection-anchors): Document.
11514169689Skan	* doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise.
11515169689Skan	(SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise.
11516169689Skan	(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise.
11517169689Skan	* hooks.c (hook_bool_mode_rtx_false): New function.
11518169689Skan	* hooks.h (hook_bool_mode_rtx_false): Declare.
11519169689Skan	* gengtype.c (create_optional_field): New function.
11520169689Skan	(adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when
11521169689Skan	SYMBOL_REF_IN_BLOCK_P is true.
11522169689Skan	* target.h (output_anchor, use_blocks_for_constant_p): New hooks.
11523169689Skan	(min_anchor_offset, max_anchor_offset): Likewise.
11524169689Skan	(use_anchors_for_symbol_p): New hook.
11525169689Skan	* toplev.c (compile_file): Call output_object_blocks.
11526169689Skan	(target_supports_section_anchors_p): New function.
11527169689Skan	(process_options): Check that -fsection-anchors is only used on
11528169689Skan	targets that support it and when -funit-at-a-time is in effect.
11529169689Skan	* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL
11530169689Skan	if the decl doesn't have one.
11531169689Skan	* dwarf2out.c: Remove instantiations of VEC(rtx,gc).
11532169689Skan	* expr.c (emit_move_multi_word, emit_move_insn): Pass the result
11533169689Skan	of force_const_mem through use_anchored_address.
11534169689Skan	(expand_expr_constant): New function.
11535169689Skan	(expand_expr_addr_expr_1): Call it.  Use the same modifier when
11536169689Skan	calling expand_expr for INDIRECT_REF.
11537169689Skan	(expand_expr_real_1): Pass DECL_RTL through use_anchored_address
11538169689Skan	for all modifiers except EXPAND_INITIALIZER.  Use expand_expr_constant.
11539169689Skan	* expr.h (use_anchored_address): Declare.
11540169689Skan	* loop-unroll.c: Don't declare rtx vectors here.
11541169689Skan	* explow.c: Include output.h.
11542169689Skan	(validize_mem): Call use_anchored_address.
11543169689Skan	(use_anchored_address): New function.
11544169689Skan	* common.opt (-fsection-anchors): New switch.
11545169689Skan	* varasm.c (object_block_htab, anchor_labelno): New variables.
11546169689Skan	(hash_section, object_block_entry_eq, object_block_entry_hash)
11547169689Skan	(use_object_blocks_p, get_block_for_section, create_block_symbol)
11548169689Skan	(use_blocks_for_decl_p, change_symbol_section): New functions.
11549169689Skan	(get_variable_section): New function, split out from assemble_variable.
11550169689Skan	(make_decl_rtl): Create a block symbol if use_object_blocks_p and
11551169689Skan	use_blocks_for_decl_p say so.  Use change_symbol_section if the
11552169689Skan	symbol has already been created.
11553169689Skan	(assemble_variable_contents): New function, split out from...
11554169689Skan	(assemble_variable): ...here.  Don't output any code for
11555169689Skan	block symbols; just pass them to place_block_symbol.
11556169689Skan	Use get_variable_section and assemble_variable_contents.
11557169689Skan	(get_constant_alignment, get_constant_section, get_constant_size): New
11558169689Skan	functions, split from output_constant_def_contents.
11559169689Skan	(build_constant_desc): Create a block symbol if use_object_blocks_p
11560169689Skan	says so.  Or into SYMBOL_REF_FLAGS.
11561169689Skan	(assemble_constant_contents): New function, split from...
11562169689Skan	(output_constant_def_contents): ...here.  Don't output any code
11563169689Skan	for block symbols; just pass them to place_section_symbol.
11564169689Skan	Use get_constant_section and get_constant_alignment.
11565169689Skan	(force_const_mem): Create a block symbol if use_object_blocks_p and
11566169689Skan	use_blocks_for_constant_p say so.  Or into SYMBOL_REF_FLAGS.
11567169689Skan	(output_constant_pool_1): Add an explicit alignment argument.
11568169689Skan	Don't switch sections here.
11569169689Skan	(output_constant_pool): Adjust call to output_constant_pool_1.
11570169689Skan	Switch sections here instead.  Don't output anything for block symbols;
11571169689Skan	just pass them to place_block_symbol.
11572169689Skan	(init_varasm_once): Initialize object_block_htab.
11573169689Skan	(default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK.
11574169689Skan	(default_asm_output_anchor, default_use_aenchors_for_symbol_p)
11575169689Skan	(place_block_symbol, get_section_anchor, output_object_block)
11576169689Skan	(output_object_block_htab, output_object_blocks): New functions.
11577169689Skan	* target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro.
11578169689Skan	(TARGET_ASM_OUT): Include it.
11579169689Skan	(TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro.
11580169689Skan	(TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros.
11581169689Skan	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro.
11582169689Skan	(TARGET_INITIALIZER): Include them.
11583169689Skan	* rtl.c (rtl_check_failed_block_symbol): New function.
11584169689Skan	* rtl.h: Include vec.h.  Declare heap and gc rtx vectors.
11585169689Skan	(block_symbol, object_block): New structures.
11586169689Skan	(rtx_def): Add a block_symbol field to the union.
11587169689Skan	(BLOCK_SYMBOL_CHECK): New macro.
11588169689Skan	(rtl_check_failed_block_symbol): Declare.
11589169689Skan	(SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags.
11590169689Skan	(SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates.
11591169689Skan	(SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2.
11592169689Skan	(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors.
11593169689Skan	* output.h (output_section_symbols): Declare.
11594169689Skan	(object_block): Name structure.
11595169689Skan	(place_section_symbol, get_section_anchor, default_asm_output_anchor)
11596169689Skan	(default_use_anchors_for_symbol_p): Declare.
11597169689Skan	* Makefile.in (RTL_BASE_H): Add vec.h.
11598169689Skan	(explow.o): Depend on output.h.
11599169689Skan	* config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default.
11600169689Skan	(TARGET_MAX_ANCHOR_OFFSET): Likewise.
11601169689Skan	(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
11602169689Skan	(rs6000_use_blocks_for_constant_p): New function.
11603169689Skan
11604169689Skan2006-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11605169689Skan
11606169689Skan	* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
11607169689Skan
11608169689Skan2006-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
11609169689Skan
11610169689Skan	PR tree-opt/25680
11611169689Skan	* tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and
11612169689Skan	IMAGPART_EXPR.
11613169689Skan
11614169689Skan2006-02-18  Diego Novillo  <dnovillo@redhat.com>
11615169689Skan
11616169689Skan	* tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
11617169689Skan	is_aliased.
11618169689Skan	Update all users.
11619169689Skan
11620169689Skan2006-02-18  Jakub Jelinek  <jakub@redhat.com>
11621169689Skan
11622169689Skan	PR middle-end/26334
11623169689Skan	* stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
11624169689Skan	instead of DECL_REGISTER.
11625169689Skan
11626169689Skan2006-02-18  Olivier Hainque  <hainque@adacore.com>
11627169689Skan
11628169689Skan	PR ada/13408
11629169689Skan	* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
11630169689Skan
11631169689Skan2006-02-18  Joseph S. Myers  <joseph@codesourcery.com>
11632169689Skan
11633169689Skan	PR target/24837
11634169689Skan	* config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
11635169689Skan	* opth-gen.awk: Handle Var and InverseMask together.
11636169689Skan	* config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
11637169689Skan	* config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
11638169689Skan	(TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
11639169689Skan	(CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
11640169689Skan	used together.
11641169689Skan	(UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
11642169689Skan	LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
11643169689Skan	* config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
11644169689Skan	UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
11645169689Skan	LINUX_DYNAMIC_LINKER): Define.
11646169689Skan	(ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
11647169689Skan	* config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
11648169689Skan	TARGET_GLIBC.
11649169689Skan	* config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11650169689Skan	(CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
11651169689Skan	* config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11652169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11653169689Skan	(TARGET_C99_FUNCTIONS): Don't define.
11654169689Skan	* config/i386/linux.h (DYNAMIC_LINKER): Rename to
11655169689Skan	GLIBC_DYNAMIC_LINKER.
11656169689Skan	(SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
11657169689Skan	* config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
11658169689Skan	GLIBC_DYNAMIC_LINKER64): Define.
11659169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
11660169689Skan	LINUX_DYNAMIC_LINKER64.
11661169689Skan	* config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11662169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11663169689Skan	* config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
11664169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11665169689Skan	* config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11666169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11667169689Skan	* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
11668169689Skan	GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
11669169689Skan	UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
11670169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
11671169689Skan	and LINUX_DYNAMIC_LINKER32.
11672169689Skan	* config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11673169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11674169689Skan	* config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
11675169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11676169689Skan	* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
11677169689Skan	TARGET_GLIBC.
11678169689Skan	* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
11679169689Skan	(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
11680169689Skan	UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
11681169689Skan	CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
11682169689Skan	LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
11683169689Skan	(LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
11684169689Skan	(LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
11685169689Skan	* config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
11686169689Skan	UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
11687169689Skan	LINUX_DYNAMIC_LINKER): Define.
11688169689Skan	(LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
11689169689Skan	* config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
11690169689Skan	GLIBC_DYNAMIC_LINKER64): Define.
11691169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
11692169689Skan	LINUX_DYNAMIC_LINKER64.
11693169689Skan	* config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11694169689Skan	(SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11695169689Skan	* config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
11696169689Skan	UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
11697169689Skan	LINUX_DYNAMIC_LINKER): Define.
11698169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11699169689Skan	(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
11700169689Skan	* config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
11701169689Skan	GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
11702169689Skan	UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
11703169689Skan	LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
11704169689Skan	(LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
11705169689Skan	(LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
11706169689Skan	(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
11707169689Skan	* config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11708169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11709169689Skan	* doc/invoke.texi (-muclibc): Remove caveat about supported
11710169689Skan	targets.
11711169689Skan
11712169689Skan2006-02-17  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
11713169689Skan
11714169689Skan	* doc/cpp.texi (__TIMESTAMP__): Document.
11715169689Skan
11716169689Skan2006-02-17  Roger Sayle  <roger@eyesopen.com>
11717169689Skan
11718169689Skan	PR middle-end/25600
11719169689Skan	* fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
11720169689Skan	C is one less than the width of X (and related transformations).
11721169689Skan	* simplify-rtx.c (simplify_unary_operation_1): Transform
11722169689Skan	(neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
11723169689Skan	depending on STORE_FLAG_VALUE, were C is one less then the
11724169689Skan	width of X.
11725169689Skan
11726169689Skan2006-02-17  Daniel Berlin  <dberlin@dberlin.org>
11727169689Skan
11728169689Skan	Fix PR tree-optimization/26341
11729169689Skan	* tree-ssa-operands.c (add_virtual_operand): Remove assert
11730169689Skan	about NAME_MEMORY_TAG's.
11731169689Skan
11732169689Skan2006-02-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11733169689Skan
11734169689Skan	PR target/26255
11735169689Skan	* pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
11736169689Skan	with hardware float support, and software float support.  Add fcpy
11737169689Skan	alternative to hardware patterns.  Add alternatives to copy between
11738169689Skan	general and floating-point registers to the 32-bit pattern.
11739169689Skan	* pa.c (pa_secondary_reload): Don't abort if reload tries to find a
11740169689Skan	secondary reload to load a QI or HI mode constant into a floating
11741169689Skan	point register.
11742169689Skan	* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
11743169689Skan	* pa64-regs.h (VALID_FP_MODE_P): Likewise.
11744169689Skan
11745169689Skan2006-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
11746169689Skan
11747169689Skan	PR target/26272
11748169689Skan	* config/rs6000/darwin.md (load_macho_picbase_si): Add
11749169689Skan	pc to the pattern.
11750169689Skan	(load_macho_picbase_di): Likewise.
11751169689Skan
11752169689Skan2006-02-16  Jeff Law  <law@redhat.com>
11753169689Skan
11754169689Skan	* tree-vrp.c (set_value_range_to_nonnegative): New function.
11755169689Skan	(vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
11756169689Skan	(ssa_name_nonzero_p): Likewise.
11757169689Skan	(get_value_range): Return NULL if VRP is not running.
11758169689Skan	(extract_range_from_expr): Fallback to tree_expr_XXX_p if
11759169689Skan	VRP routines do not discover a range.
11760169689Skan	(vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
11761169689Skan	* tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
11762169689Skan	* fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
11763169689Skan	(tree_expr_nonnegative_p): Similarly.
11764169689Skan	* tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
11765169689Skan	(restore_nonzero_vars_to_original_value): Remove.
11766169689Skan	(unsafe_associative_fp_binop): Remove.
11767169689Skan	(tree_ssa_dominator_optimize): Remove initialization and
11768169689Skan	finalization of nonzero_vars and nonzero_vars_stack.
11769169689Skan	(dom_opt_initialize_block): No longer push marker on
11770169689Skan	nonzero_vars_stack.
11771169689Skan	(dom_opt_finalize_block): No longer call
11772169689Skan	restore_nonzero_vars_to_original_value.
11773169689Skan	(record_equivalences_from_phis): No longer look for
11774169689Skan	nonzero PHI arguments.
11775169689Skan	(cprop_into_successor_phis): No longer propagate nonzero
11776169689Skan	property into PHI arguments.  Lose unused argument.  Caller
11777169689Skan	updated.
11778169689Skan	(record_equivalences_from_stmt): No longer record nonzero
11779169689Skan	values for SSA_NAMEs.
11780169689Skan	(lookup_avail_expr): No longer use nonzero_vars.
11781169689Skan
11782169689Skan	* stor-layout.c (set_sizetype): Set TYPE_MAX_VALUE properly
11783169689Skan	for sizetype when sizetype is unsigned.
11784169689Skan
11785169689Skan2006-02-16  Denis Nagorny <denis_nagorny@linux.intel.com>
11786169689Skan
11787169689Skan	PR rtl-optimization/25603
11788169689Skan	* reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
11789169689Skan	(regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
11790169689Skan	* reload1.c (choose_reload_regs): Added call of regno_clobbered_p
11791169689Skan	with new meaning of SETS.
11792169689Skan
11793169689Skan2006-02-16  Joseph S. Myers  <joseph@codesourcery.com>
11794169689Skan
11795169689Skan	PR target/20353
11796169689Skan	PR target/24578
11797169689Skan	PR target/24837
11798169689Skan	* config/linux.opt: New file.
11799169689Skan	* config/linux.h (CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
11800169689Skan	LINUX_DYNAMIC_LINKER): Define.
11801169689Skan	(TARGET_C99_FUNCTIONS): Define depending on TARGET_GLIBC.
11802169689Skan	* config.gcc (*-*-linux*): Define extra_options.
11803169689Skan	(*-*-*uclibc*): Define UCLIBC_DEFAULT.
11804169689Skan	(arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi.
11805169689Skan	* config/arm/linux-eabi.h (LINUX_TARGET_INTERPRETER): Change to
11806169689Skan	GLIBC_DYNAMIC_LINKER.
11807169689Skan	* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): Likewise.
11808169689Skan	(LINUX_TARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11809169689Skan	* config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Define.
11810169689Skan	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
11811169689Skan	* doc/invoke.texi (GNU/Linux Options): New section.
11812169689Skan
11813169689Skan2006-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
11814169689Skan
11815169689Skan	* config/sparc/sparc.md (setjmp): Rewrite.
11816169689Skan	(setjmp_32): Delete.
11817169689Skan	(setjmp_64): Likewise.
11818169689Skan
11819169689Skan2006-02-16  Daniel Berlin <dberlin@dberlin.org>
11820169689Skan
11821169689Skan	* tree-ssa-operands.c (access_can_touch_variable): Fix typo in
11822169689Skan	 previous change.
11823169689Skan
11824169689Skan2006-02-16  Zdenek Dvorak <dvorakz@suse.cz>
11825169689Skan
11826169689Skan	* loop-invariant.c (invariant_for_use, check_dependencies): Fail for
11827169689Skan	read-write uses.
11828169689Skan
11829169689Skan2006-02-16  Zdenek Dvorak <dvorakz@suse.cz>
11830169689Skan
11831169689Skan	PR rtl-optimization/26296
11832169689Skan	* Makefile.in (loop-invariant.c): Add except.h dependency.
11833169689Skan	* loop-invariant.c: Include except.h.
11834169689Skan	(find_invariant_insn): Ignore insns satisfying can_throw_internal.
11835169689Skan
11836169689Skan2005-02-16  Paul Brook  <paul@codesourcery.com>
11837169689Skan
11838169689Skan	* reload1.c (emit_reload_insns): Invalidate dead input registers used
11839169689Skan	for reloads.
11840169689Skan
11841169689Skan2006-02-16  Bernd Schmidt  <bernd.schmidt@analog.com>
11842169689Skan
11843169689Skan	PR rtl-optimization/25636
11844169689Skan	* local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
11845169689Skan	when deciding whether an insn is an initializing insn.
11846169689Skan
11847169689Skan2006-02-15 Daniel Berlin  <dberlin@dberlin.org>
11848169689Skan
11849169689Skan	* tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
11850169689Skan	(tree_code_size): Ditto.
11851169689Skan	* tree.h (struct tree_memory_tag): Remove parent_var.
11852169689Skan	(struct tree_struct_field_tag): New.
11853169689Skan	(SFT_OFFSET): New.
11854169689Skan	(SFT_SIZE): New.
11855169689Skan	(union tree_node): Add sft member.
11856169689Skan	* tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY
11857169689Skan	specially here.
11858169689Skan	(create_sft): Add size and offset argument, set SFT_OFFSET and
11859169689Skan	SFT_SIZE.
11860169689Skan	(create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE.
11861169689Skan	* treestruct.def: Add TS_STRUCT_FIELD_TAG.
11862169689Skan	* tree-flow-inline.h (get_subvar_at): Update for
11863169689Skan	SFT_OFFSET/SFT_SIZE.
11864169689Skan	(var_can_have_subvars): Ditto.
11865169689Skan	(overlap_subvar): Ditto.
11866169689Skan	* print-tree.c (print_node): Print out interesting things for
11867169689Skan	SFT's.
11868169689Skan	* tree-flow.h (struct subvar): Remove offset and size members.
11869169689Skan	* tree-ssa-operands.c (get_expr_operands): Update for
11870169689Skan	get_indirect_ref_operands changes.
11871169689Skan	(get_indirect_ref_operands): Call add_virtual_operand instead of
11872169689Skan	add_stmt_operand.  Only recurse on base var if requested.
11873169689Skan	(access_can_touch_variable): New function.
11874169689Skan	(add_stmt_operand): Split virtual operand handling into ...
11875169689Skan	(add_virtual_operand): Here.  Add offset, size, and for_clobber
11876169689Skan	arguments.  Prune alias sets.
11877169689Skan	(add_call_clobber_ops): Call add_virtual_operand.
11878169689Skan
11879169689Skan2006-02-15  Jakub Jelinek  <jakub@redhat.com>
11880169689Skan
11881169689Skan	PR middle-end/26300
11882169689Skan	* combine.c (make_extraction): Bail out if ORIG_POS is negative.
11883169689Skan
11884169689Skan	* tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather
11885169689Skan	than TREE_CODE as index into omp_clause_num_ops array.
11886169689Skan
11887169689Skan2006-02-15  Uttam Pawar  <uttamp@us.ibm.com>
11888169689Skan
11889169689Skan	PR rtl-optimization/26184
11890169689Skan	* modulo-sched.c (generate_reg_moves): Free bitmap vector
11891169689Skan	uses_of_defs.
11892169689Skan	* modulo-sched.c (sms_schedule): Free g_arr pointer.
11893169689Skan	* modulo-sched.c (sms_schedule_by_order): Free bitmap pointers
11894169689Skan	must_precede, must_follow and tobe_scheduled.
11895169689Skan
11896169689Skan	PR other/26147
11897169689Skan	* opts.c (common_handle_option): Free new_option pointer.
11898169689Skan	* df-core.c (df_analyze): Free postorder pointer.
11899169689Skan
11900169689Skan2006-02-15  Rafael �vila de Esp�ndola <rafael.espindola@gmail.com>
11901169689Skan
11902169689Skan	* Makefile.in: Fix the examples about the use of stamps
11903169689Skan
11904169689Skan2006-02-15  Michael Matz  <matz@suse.de>
11905169689Skan
11906169689Skan	PR middle-end/22275
11907169689Skan
11908169689Skan	* stor-layout.c (layout_decl): Zero-width bitfields aren't
11909169689Skan	influenced by maximum_field_alignment or DECL_PACKED.
11910169689Skan	(update_alignment_for_field): Ditto.
11911169689Skan	(place_field): Ditto.
11912169689Skan	* doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
11913169689Skan	this behaviour.
11914169689Skan
11915169689Skan2006-02-15  Paolo Bonzini  <bonzini@gnu.org>
11916169689Skan
11917169689Skan	* cfg.c (dump_flow_info): Get dump flags as an additional parameter.
11918169689Skan	(debug_flow_info): Pass it.
11919169689Skan	* alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
11920169689Skan	* bb-reorder.c (reorder_basic_blocks): Likewise.
11921169689Skan	* cfgcleanup.c (rest_of_handle_jump2): Likewise.
11922169689Skan	* cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
11923169689Skan	* flow.c (life_analysis, recompute_reg_usage): Likewise.
11924169689Skan	* gcse.c (gcse_main, bypass_jumps): Likewise.
11925169689Skan	* ifcvt.c (rest_of_handle_if_conversion): Likewise.
11926169689Skan	* local-alloc.c (rest_of_handle_local_alloc): Likewise.
11927169689Skan	* loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
11928169689Skan	* profile.c (compute_branch_probabilities, branch_prob): Likewise.
11929169689Skan	* rtl.h (dump_flow_info): Adjust prototype.
11930169689Skan	* tracer.c (rest_of_handle_tracer, tracer): Likewise.
11931169689Skan	* var-tracking.c (variable_tracking_main): Likewise.
11932169689Skan	* passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
11933169689Skan	* tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
11934169689Skan	options.
11935169689Skan
11936169689Skan2006-02-15  Marcin Dalecki <martin@dalecki.de>
11937169689Skan
11938169689Skan	* tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
11939169689Skan	construction.
11940169689Skan
11941169689Skan2006-02-14  Zdenek Dvorak <dvorakz@suse.cz>
11942169689Skan
11943169689Skan	PR tree-optimization/26209
11944169689Skan	* tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
11945169689Skan	* tree-cfgcleanup.c (cleanup_control_flow): Remove dead
11946169689Skan	eh edges.
11947169689Skan	* tree-cfg.c (replace_uses_by): Do not alter cfg.
11948169689Skan
11949169689Skan2006-02-14  Roger Sayle  <roger@eyesopen.com>
11950169689Skan
11951169689Skan	PR middle-end/23670
11952169689Skan	* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
11953169689Skan	(X,Y) and the corresponding symmetry related transformations.
11954169689Skan	(fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
11955169689Skan	(X,Y) and its symmetry related transformations.
11956169689Skan
11957169689Skan2006-02-14  Roger Sayle  <roger@eyesopen.com>
11958169689Skan
11959169689Skan	* dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
11960169689Skan	and GEU.
11961169689Skan
11962169689Skan2006-02-14  Adam Nemet  <anemet@caviumnetworks.com>
11963169689Skan
11964169689Skan	* simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
11965169689Skan
11966169689Skan2006-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11967169689Skan
11968169689Skan	PR bootstrap/26053
11969169689Skan	* configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
11970169689Skan	support COMDAT group.
11971169689Skan	* configure: Regenerate.
11972169689Skan
11973169689Skan2006-02-14  Roger Sayle  <roger@eyesopen.com>
11974169689Skan
11975169689Skan	PR middle-end/26279
11976169689Skan	PR middle-end/26280
11977169689Skan	PR middle-end/26283
11978169689Skan	* dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.
11979169689Skan
11980169689Skan2006-02-14  Daniel Berlin  <dberlin@dberlin.org>
11981169689Skan
11982169689Skan	Fix PR tree-optimization/26260
11983169689Skan
11984169689Skan	* doc/invoke.texi (max-fields-for-field-sensitive): Document
11985169689Skan	param.
11986169689Skan	* params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
11987169689Skan	* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
11988169689Skan	* tree-ssa-structalias.c (create_variable_info_for): Use
11989169689Skan	MAX_FIELDS_FOR_FIELD_SENSITIVE.
11990169689Skan
11991169689Skan2006-02-14  Zdenek Dvorak <dvorakz@suse.cz>
11992169689Skan
11993169689Skan	* doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
11994169689Skan	Document.
11995169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_ne,
11996169689Skan	number_of_iterations_lt, number_of_iterations_cond): Remember the shape
11997169689Skan	of the ending condition.
11998169689Skan	* tree-ssa-loop-manip.c: Include params.h.
11999169689Skan	(build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
12000169689Skan	tree_unroll_loop): New functions.
12001169689Skan	* tree-pass.h (pass_loop_prefetch): Declare.
12002169689Skan	* loop.c (rest_of_handle_loop_optimize): Test for
12003169689Skan	-fprefetch-loop-arrays-rtl.
12004169689Skan	* tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
12005169689Skan	* timevar.def (TV_TREE_PREFETCH): New timevar.
12006169689Skan	* tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
12007169689Skan	pass_loop_prefetch): New.
12008169689Skan	* tree-cfgcleanup.c: Include tree-scalar-evolution.h.
12009169689Skan	(cleanup_tree_cfg_loop): Call scev_reset.
12010169689Skan	* common.opt (fprefetch-loop-arrays-rtl): Add.
12011169689Skan	* tree-ssa-loop-prefetch.c: New file.
12012169689Skan	* tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
12013169689Skan	(new_temp_expr_table): Initialize expr_vars.
12014169689Skan	(free_temp_expr_table): Cleanup expr_vars.
12015169689Skan	(check_replaceable, find_replaceable_in_bb): Prevent accumulating
12016169689Skan	expressions from being merged into one.
12017169689Skan	* tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
12018169689Skan	(struct tree_niter_desc): Add control, bound and cmp fields.
12019169689Skan	(tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
12020169689Skan	Declare.
12021169689Skan	* Makefile.in (tree-ssa-loop-prefetch.o): Add.
12022169689Skan	(tree-cfgcleanup.o): Add SCEV_H dependency.
12023169689Skan	(tree-ssa-loop-manip.o): Add PARAMS_H dependency.
12024169689Skan	* passes.c (init_optimization_passes): Add pass_loop_prefetch.
12025169689Skan
12026169689Skan2006-02-14  Richard Guenther  <rguenther@suse.de>
12027169689Skan
12028169689Skan	PR tree-optimization/26258
12029169689Skan	* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
12030169689Skan	in PHI argument processing.
12031169689Skan
12032169689Skan2006-02-13  Adam Nemet  <anemet@caviumnetworks.com>
12033169689Skan
12034169689Skan	* simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
12035169689Skan	new expression in the requested machine mode.
12036169689Skan
12037169689Skan2006-02-13  Roger Sayle  <roger@eyesopen.com>
12038169689Skan
12039169689Skan	* optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
12040169689Skan	directly, instead let do_compare_rtx_and_jump handle this for us.
12041169689Skan	* expr.c (expand_expr_real_1): Likewise.
12042169689Skan	* dojump.c (do_jump_by_parts_greater_rtx): Make static.  Move
12043169689Skan	before do_jump_by_parts_greater.
12044169689Skan	(do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
12045169689Skan	* expr.h (do_jump_by_parts_greater_rtx): Delete prototype.
12046169689Skan
12047169689Skan2006-02-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12048169689Skan
12049169689Skan	* pa/quadlib.c: Use defines instead of enum qfcmp_magic.
12050169689Skan
12051169689Skan2006-02-13  Zdenek Dvorak <dvorakz@suse.cz>
12052169689Skan
12053169689Skan	PR rtl-optimization/26235
12054169689Skan	* loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
12055169689Skan	(invariant_expr_equal_p): Handle 'i' and 'n' formats.  Fail on unknown
12056169689Skan	format.
12057169689Skan
12058169689Skan2006-02-13  Jeff Law  <law@redhat.com>
12059169689Skan
12060169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Remove handling of
12061169689Skan	TRUTH_XOR_EPR.
12062169689Skan
12063169689Skan2006-02-13  Jakub Jelinek  <jakub@redhat.com>
12064169689Skan
12065169689Skan	PR middle-end/26092
12066169689Skan	* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
12067169689Skan	twice if decl is a builtin.  When trying again, call get_callee_fndecl
12068169689Skan	first to verify it is still a builtin.
12069169689Skan
12070169689Skan2006-02-13  Geoffrey Keating  <geoffk@apple.com>
12071169689Skan
12072169689Skan	* dwarf2out.c (base_type_die): Don't add AT_name here.
12073169689Skan	(subrange_type_die): Don't add AT_name here.
12074169689Skan	(modified_type_die): Rearrange code flow.  Do add AT_name here.
12075169689Skan
12076169689Skan2006-02-13  Zdenek Dvorak <dvorakz@suse.cz>
12077169689Skan
12078169689Skan	PR rtl-optimization/26247
12079169689Skan	PR rtl-optimization/26248
12080169689Skan	* loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.
12081169689Skan
12082169689Skan2006-02-13  Richard Sandiford  <richard@codesourcery.com>
12083169689Skan
12084169689Skan	* config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
12085169689Skan	* config/fixtfdi.c: Likewise.
12086169689Skan	* config/fixunstfdi.c: Likewise.
12087169689Skan	* config/floatditf.c: Likewise.
12088169689Skan
12089169689Skan2006-02-13  Roger Sayle  <roger@eyesopen.com>
12090169689Skan
12091169689Skan	PR middle-end/24427
12092169689Skan	* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
12093169689Skan	into (X,C2) if C1 is a subset of the bits of C2.  Transform
12094169689Skan	(X&C1)|C2 into X|C2 if C1|C2 == ~0.  Canonicalize (X&C1)|C2 as
12095169689Skan	(X&(C1&~C2))|C2.
12096169689Skan	<BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
12097169689Skan
12098169689Skan2006-02-13  Josh Conner  <jconner@apple.com>
12099169689Skan
12100169689Skan	PR target/25376
12101169689Skan	* varasm.c (function_section): Check for section name before
12102169689Skan	calling select_section on targets that define
12103169689Skan	USE_SELECT_SECTION_FOR_FUNCTIONS.  On other targets, use
12104169689Skan	unlikely_text_section instead of hot_function_section if
12105169689Skan	first_function_block_is_cold.
12106169689Skan
12107169689Skan2006-02-13  J"orn Rennecke <joern.rennecke@st.com>
12108169689Skan
12109169689Skan	PR middle-end/25335
12110169689Skan	* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
12111169689Skan
12112169689Skan2006-02-12  Zdenek Dvorak <dvorakz@suse.cz>
12113169689Skan
12114169689Skan	PR rtl-optimization/26222
12115169689Skan	* function.c (assign_stack_temp_for_type): Do not reuse stack slots
12116169689Skan	after tree->rtl expansion.
12117169689Skan	* loop-invariant.c (move_invariant_reg): Use force_operand on rhs
12118169689Skan	before passing it to emit_move_insn.
12119169689Skan
12120169689Skan2006-02-12  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12121169689Skan
12122169689Skan	* doc/invoke.texi (-Write-strings): Document that it is enabled by
12123169689Skan	default.
12124169689Skan	* c.opt (-Wwrite-strings): Declare variable warn_write_strings.
12125169689Skan	Clarify documentation.
12126169689Skan	* c-common.h (warn_write_strings): Remove.
12127169689Skan	* c-common.c (warn_write_strings): Likewise.
12128169689Skan	* c-opts.c (c_common_init_options): Enable -Wwrite-strings by
12129169689Skan	default for C++.
12130169689Skan
12131169689Skan2006-02-12  Roger Sayle  <roger@eyesopen.com>
12132169689Skan
12133169689Skan	PR middle-end/25724
12134169689Skan	* dojump.c (do_jump): Call do_compare_rtx_and_jump.
12135169689Skan	(do_jump_parts_zero_rtx): New function renamed from
12136169689Skan	do_jump_parts_equality_rtx.  Made static.  Add a mode argument.
12137169689Skan	(do_jump_parts_equality_rtx): New function split out from
12138169689Skan	do_jump_parts_equality.  Old implementation renamed as above.
12139169689Skan	Call do_jump_parts_zero_rtx if either operand is zero.
12140169689Skan	(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
12141169689Skan	do all of the heavy lifting.
12142169689Skan	(do_compare_rtx_and_jump): Handle multi-word comparisons by
12143169689Skan	calling either do_jump_by_parts_greater_rtx or
12144169689Skan	do_jump_by_parts_equality_rtx.
12145169689Skan	* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
12146169689Skan	* expmed.c (do_cmp_and_jump): Now multi-word optimization has
12147169689Skan	moved to do_compare_rtx_and_jump, call it directly.
12148169689Skan	* stmt.c (do_jump_if_equal): Remove static prototype.  Add a
12149169689Skan	mode argument.  Call do_compare_rtx_and_jump.
12150169689Skan	(emit_case_nodes): Update calls to do_jump_if_equal.
12151169689Skan
12152169689Skan2006-02-12  Zdenek Dvorak <dvorakz@suse.cz>
12153169689Skan
12154169689Skan	PR rtl-optimization/26225
12155169689Skan	* loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.
12156169689Skan
12157169689Skan2006-02-12  Zdenek Dvorak <dvorakz@suse.cz>
12158169689Skan
12159169689Skan	PR rtl-optimization/26232
12160169689Skan	* loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.
12161169689Skan
12162169689Skan2006-02-11  Jason Merrill  <jason@redhat.com>
12163169689Skan
12164169689Skan	PR tree-opt/24365
12165169689Skan	* tree-inline.c (declare_return_variable): Just don't use the
12166169689Skan	modify target if it's a gimple complex reg and the return slot
12167169689Skan	isn't.
12168169689Skan
12169169689Skan2006-02-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12170169689Skan
12171169689Skan	* doc/contrib.texi: Update my entry.
12172169689Skan
12173169689Skan2006-02-10  Geoffrey Keating  <geoffk@apple.com>
12174169689Skan
12175169689Skan	* config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
12176169689Skan
12177169689Skan2006-02-10  Diego Novillo  <dnovillo@redhat.com>
12178169689Skan
12179169689Skan	* tree-inline.c (estimate_num_insns_1): Make OpenMP directives
12180169689Skan	expensive.
12181169689Skan
12182169689Skan2006-02-10  Zdenek Dvorak <dvorakz@suse.cz>
12183169689Skan
12184169689Skan	* doc/invoke.texi (-floop-optimize2): Removed.
12185169689Skan	* toplev.c (process_options): Remove handling of flag_loop_optimize2.
12186169689Skan	* loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2.
12187169689Skan	Test flag_branch_on_count_reg only if HAVE_doloop_end.
12188169689Skan	* common.opt (floop-optimize2): Removed.
12189169689Skan	(fmove-loop-invariants): Enabled by default.
12190169689Skan
12191169689Skan2006-02-10  Sebastian Pop  <pop@cri.ensmp.fr>
12192169689Skan
12193169689Skan	* tree-if-conv.c (combine_blocks): Free the result of
12194169689Skan	get_loop_exit_edges.
12195169689Skan
12196169689Skan2006-02-10  Jeff Law  <law@redhat.com>
12197169689Skan
12198169689Skan	* fold-const.c (tree_expr_nonzero_p): Fix thinko.
12199169689Skan
12200169689Skan	PR tree-optimization/26213
12201169689Skan	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
12202169689Skan	loop trying to follow SSA_NAME_VALUE chains.
12203169689Skan
12204169689Skan2006-02-10  Richard Guenther  <rguenther@suse.de>
12205169689Skan
12206169689Skan	* tree-dfa.c (get_ref_base_and_extent): When computing maxsize
12207169689Skan	deal with structures that end in implicitly variable sized arrays.
12208169689Skan
12209169689Skan2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
12210169689Skan
12211169689Skan	PR rtl-optimization/24762
12212169689Skan	* df-scan.c (df_bb_refs_record): Record correct registers defined on
12213169689Skan	eh edges.
12214169689Skan
12215169689Skan2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
12216169689Skan
12217169689Skan	* tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
12218169689Skan	(struct ivopts_data): Add regs_used field.
12219169689Skan	(tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
12220169689Skan	(ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
12221169689Skan	instead of loop_data->regs_used;
12222169689Skan	(free_loop_data): Do not free aux fields for loops.
12223169689Skan	(tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
12224169689Skan	and tree_ssa_iv_optimize_finalize.
12225169689Skan
12226169689Skan2006-02-09  Kaz Kojima  <kkojima@gcc.gnu.org>
12227169689Skan
12228169689Skan	* config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
12229169689Skan
12230169689Skan2006-02-09  J"orn Rennecke <joern.rennecke@st.com>
12231169689Skan
12232169689Skan	PR target/26141
12233169689Skan	* sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
12234169689Skan	computing the effective result type.
12235169689Skan
12236169689Skan2006-02-09  J"orn Rennecke <joern.rennecke@st.com>
12237169689Skan
12238169689Skan	PR inline-asm/16194
12239169689Skan	* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
12240169689Skan	(tree_overlaps_hard_reg_set): Declare.
12241169689Skan	* stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
12242169689Skan	type and signature to match function type expected by walk_tree.
12243169689Skan	(tree_overlaps_hard_reg_set): New function.
12244169689Skan	(decl_conflicts_with_clobbers_p): Rename to:
12245169689Skan	(tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
12246169689Skan	Use tree_overlaps_hard_reg_set.  Changed caller.
12247169689Skan	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
12248169689Skan	decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
12249169689Skan	* cris.c (cris_md_asm_clobbers): Likewise.
12250169689Skan
12251169689Skan2006-02-09  Bernd Schmidt  <bernd.schmidt@analog.com>
12252169689Skan
12253169689Skan	* reload1.c (emit_input_reload_insns): Delete code that tries to
12254169689Skan	inherit using find_equiv_reg.
12255169689Skan
12256169689Skan2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12257169689Skan
12258169689Skan	* c-common.h (flag_const_strings): Don't declare.
12259169689Skan	* c-common.c (flag_const_strings): Remove.
12260169689Skan	* c.opt (fconst_strings): Remove.
12261169689Skan	* c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>.
12262169689Skan	<OPT_Wwrite_strings>: Don't set flag_const_strings.
12263169689Skan	(c_common_init_options): Don't set flag_const_strings.
12264169689Skan	* doc/invoke.texi (-fno-const-strings): Remove documentation.
12265169689Skan
12266169689Skan2006-02-09  Richard Earnshaw  <richard.earnshaw@arm.com>
12267169689Skan
12268169689Skan	* arm.md (tlobits_cbranch): New pattern.
12269169689Skan	* arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
12270169689Skan	testing a single bit.
12271169689Skan
12272169689Skan2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
12273169689Skan
12274169689Skan	PR tree-opt/26179
12275169689Skan	* tree-ssa-pre.c (create_component_ref_by_pieces):
12276169689Skan	Handle RETURN_DECL like VAR_DECL.
12277169689Skan
12278169689Skan2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
12279169689Skan
12280169689Skan	PR middle-end/26134
12281169689Skan	* fold-const.c (fold_indirect_ref_1): Fold
12282169689Skan	"*(foo *)&complexfoo" to "__real__ complexfoo"
12283169689Skan	and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
12284169689Skan
12285169689Skan2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
12286169689Skan
12287169689Skan	* tree-flow-inline.h (var_can_have_subvars):
12288169689Skan	Volatile variables should not have subvariables.
12289169689Skan
12290169689Skan2006-02-09  Diego Novillo  <dnovillo@redhat.com>
12291169689Skan
12292169689Skan	PR 26180
12293169689Skan	* tree-vrp.c (vrp_int_const_binop): Detect overflow when
12294169689Skan	multiplying unsigned values.
12295169689Skan	Tidy comments.
12296169689Skan
12297169689Skan2006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
12298169689Skan
12299169689Skan	* config/sparc/sparc.c (tls_call_delay): Fix oversight.
12300169689Skan
12301169689Skan2006-02-08  Jason Merrill  <jason@redhat.com>
12302169689Skan
12303169689Skan	PR c++/25979
12304169689Skan	* tree.def: Elaborate on difference from MODIFY_EXPR.
12305169689Skan	* doc/c-tree.texi (INIT_EXPR): Likewise.
12306169689Skan	* gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
12307169689Skan	(gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
12308169689Skan	(gimplify_target_expr): Likewise.
12309169689Skan	(gimplify_cond_expr): Remove target handling.
12310169689Skan	(gimplify_modify_expr): Don't clobber INIT_EXPR code here.
12311169689Skan	(gimplify_expr): Clobber it here.
12312169689Skan	(gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
12313169689Skan	Do return slot optimization if we have an INIT_EXPR.
12314169689Skan
12315169689Skan	PR tree-opt/24365
12316169689Skan	* tree-inline.c (declare_return_variable): Also clear
12317169689Skan	DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
12318169689Skan
12319169689Skan	PR c++/16405
12320169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
12321169689Skan
12322169689Skan	PR middle-end/22439
12323169689Skan	* gimplify.c (gimplify_one_sizepos): Fix typo.
12324169689Skan
12325169689Skan2006-02-08  Jeff Law  <law@redhat.com>
12326169689Skan
12327169689Skan	PR tree-optimization/21417
12328169689Skan	* tree-ssa-threadedge.c (thread_across_edge): Reject threading
12329169689Skan	across a backedge if the control statement at the end of the
12330169689Skan	block is data dependent on other statements in the same block.
12331169689Skan	(record_temporary_equivalences_from_stmts): Remove over-conservative
12332169689Skan	test for threading across backedges.
12333169689Skan
12334169689Skan	* tree-ssa-dce.c (remove_dead_statement): When removing a dead
12335169689Skan	control statement, handle all three special cases in the same
12336169689Skan	manner as they all have the same desired solution.  No longer
12337169689Skan	special case edge flag updating when the post dominator is
12338169689Skan	the exit block.
12339169689Skan
12340169689Skan2006-02-08  Roger Sayle  <roger@eyesopen.com>
12341169689Skan
12342169689Skan	* tree.def (CHAR_TYPE): Remove.
12343169689Skan	* dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE.
12344169689Skan	* dwarf2out.c (base_type_die, is_base_type): Likewise.
12345169689Skan	(gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays.
12346169689Skan	(gen_string_type_die): Delete unreachable function.
12347169689Skan
12348169689Skan	* tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE.
12349169689Skan	* tree.c (build_int_cst_wide, type_contains_placeholder_1,
12350169689Skan	type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise.
12351169689Skan	* tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise.
12352169689Skan	* builtins.c (type_to_class): Likewise.
12353169689Skan	* fold-const.c (fold_convert, build_range_check,
12354169689Skan	merge_ranges): Likewise.
12355169689Skan	* expr.c (count_type_elements): Likewise.
12356169689Skan	* c-pretty-print.c (pp_c_type_specifier): Likewise.
12357169689Skan	* stor-layout.c (layout_type): Likewise.
12358169689Skan	* ipa-type-escape.c (type_to_consider): Likewise.
12359169689Skan	* gimplify.c (omp_firstprivatize_type_sizes,
12360169689Skan	gimplify_type_sizes): Likewise.
12361169689Skan	* explow.c (promote_mode): Likewise.
12362169689Skan	* tree-sra.c (is_sra_scalar_type): Likewise.
12363169689Skan	* varasm.c (output_constant): Likewise.
12364169689Skan	* tree-inline.c (remap_type_1): Likewise.
12365169689Skan	* convert.c (convert_to_pointer, convert_to_real,
12366169689Skan	convert_to_integer, convert_to_complex): Likewise.
12367169689Skan
12368169689Skan2006-02-08  Daniel Berlin  <dberlin@dberlin.org>
12369169689Skan
12370169689Skan	* df-scan.c (df_def_record_1): A set destination may
12371169689Skan	be a parallel regardless of mode.
12372169689Skan
12373169689Skan2006-02-08  Roger Sayle  <roger@eyesopen.com>
12374169689Skan
12375169689Skan	PR target/22209
12376169689Skan	* config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
12377169689Skan	* config/mips/_tilib.c: Remove.
12378169689Skan	* config/fixtfdi.c: New libgcc source file.
12379169689Skan	* config/fixunstfdi.c: New source file.
12380169689Skan	* config/floatditf.c: New source file.
12381169689Skan	* config/floatunditf.c: New souce file.
12382169689Skan	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
12383169689Skan	files above instead of config/mips/_tilib.c.
12384169689Skan	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
12385169689Skan
12386169689Skan2006-02-08  Jeff Law  <law@redhat.com>
12387169689Skan
12388169689Skan	PR tree-optimization/26169
12389169689Skan	* tree-vrp.c (execute_vrp): Perform any queued SSA updates before
12390169689Skan	threading jumps.
12391169689Skan
12392169689Skan2006-02-08  Zdenek Dvorak <dvorakz@suse.cz>
12393169689Skan
12394169689Skan	* df.h (DF_REG_SIZE): Return the length of the initialized
12395169689Skan	part of the array.
12396169689Skan
12397169689Skan2006-02-08  Nathan Sidwell  <nathan@codesourcery.com>
12398169689Skan
12399169689Skan	* config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
12400169689Skan	__muldf3): Return a correctly signed zero.
12401169689Skan
12402169689Skan2006-02-08  Paolo Bonzini  <bonzini@gnu.org>
12403169689Skan
12404169689Skan	* passes.c (register_one_dump_file): Accept the current properties
12405169689Skan	instead of pass number.  Adjust call to dump_register.  Remove
12406169689Skan	duplicated code.
12407169689Skan	(register_dump_files): Now a wrapper around...
12408169689Skan	(register_dump_files_1): ... this one.  Do not modify the pass
12409169689Skan	structure.
12410169689Skan	(next_pass_1): Cosmetic fix.
12411169689Skan	(execute_todo): Keep second parameter only.  Use curr_properties
12412169689Skan	instead of fetching it from the pass structure.  Check and set
12413169689Skan	last_verified.
12414169689Skan	(execute_one_pass): Handle TODO_set_props.  Use curr_properties
12415169689Skan	instead of fetching it from the pass structure.  Fix calls to
12416169689Skan	execute_todo.  Update curr_properties and initialize .vcg RTL dump
12417169689Skan	after running the pass.  Reset last_verified.
12418169689Skan	* tree-dump.c (dump_files): Renumber consecutively.  Put .cgraph dump
12419169689Skan	at the beginning.
12420169689Skan	(FIRST_AUTO_NUMBERED_DUMP): New.
12421169689Skan	(dump_register): Remove "num" parameter, assign it within the
12422169689Skan	function.
12423169689Skan	(get_dump_file_name): Modify template for dumps.
12424169689Skan	* tree-dump.h (dump_register): Adjust prototype.
12425169689Skan	* tree-pass.h (enum tree_dump_index): Move cgraph at the beginning.
12426169689Skan	(PROP_trees): Add PROP_gimple_lomp.
12427169689Skan	(TODO_set_props): New.
12428169689Skan	* gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf.
12429169689Skan	* tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh.
12430169689Skan	* cfgexpand.c (pass_expand): Destroy PROP_trees.
12431169689Skan
12432169689Skan2006-02-08  Jakub Jelinek  <jakub@redhat.com>
12433169689Skan
12434169689Skan	* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
12435169689Skan	(sparc64-*-linux*): Likewise.
12436169689Skan	* config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
12437169689Skan	* config/sparc/t-linux: New file.
12438169689Skan	* config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
12439169689Skan	__floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
12440169689Skan	(__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
12441169689Skan	-m32 -mlong-double-128.
12442169689Skan
12443169689Skan	* config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
12444169689Skan	* config/alpha/t-linux: New file.
12445169689Skan	* config/alpha/libgcc-alpha-ldbl.ver: New file.
12446169689Skan
12447169689Skan	* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
12448169689Skan	__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
12449169689Skan	(CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
12450169689Skan	* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
12451169689Skan	__LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
12452169689Skan	(CPP_ARCH32_SPEC): Remove.
12453169689Skan
12454169689Skan2006-02-07  Uttam Pawar  <uttamp@us.ibm.com>
12455169689Skan
12456169689Skan	PR tree-optimization/26145
12457169689Skan	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free
12458169689Skan	bbs pointer.
12459169689Skan
12460169689Skan2006-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12461169689Skan
12462169689Skan	PR target/26109
12463169689Skan	* pa.c (attr_length_indirect_call): Don't return length 8 for distances
12464169689Skan	>= 240000 when generating code for SOM runtime.
12465169689Skan	(output_indirect_call): Don't use "b,l" instruction for indirect calls
12466169689Skan	to $$dyncall when generating code for SOM runtime..
12467169689Skan
12468169689Skan2006-02-07  Dirk Mueller  <dmueller@suse.com>
12469169689Skan
12470169689Skan	PR c++/18150
12471169689Skan	* doc/invoke.texi (-Wsequence-point): Update documentation
12472169689Skan	that -Wsequence-point is implemented for C++ as well.
12473169689Skan
12474169689Skan2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
12475169689Skan
12476169689Skan	* config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
12477169689Skan	* config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
12478169689Skan	(LIB_SPEC): Likewise.
12479169689Skan	* doc/invoke.texi (SPARC options): Document -pthread.
12480169689Skan
12481169689Skan2006-02-07  Geoffrey Keating  <geoffk@apple.com>
12482169689Skan
12483169689Skan	* config/i386/i386.c (ix86_delegitimize_address): Support Darwin
12484169689Skan	PIC addresses.
12485169689Skan
12486169689Skan2006-02-07  Roger Sayle  <roger@eyesopen.com>
12487169689Skan
12488169689Skan	* config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
12489169689Skan	Correct comment describing BOOLEAN_TYPE.
12490169689Skan
12491169689Skan2006-02-07  Dirk Mueller  <dmueller@suse.com>
12492169689Skan
12493169689Skan	* c.opt: C++ frontend supports -Wdiv-by-zero.
12494169689Skan	* c-opts.c (c_common_handle_option): Remove dead case.
12495169689Skan
12496169689Skan2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
12497169689Skan
12498169689Skan	* configure.ac (TLS assembler check): Do not enable TLS by
12499169689Skan	default on SPARC/Solaris before version 10.
12500169689Skan	* configure: Regenerate.
12501169689Skan
12502169689Skan2006-02-07  David Edelsohn  <edelsohn@gnu.org>
12503169689Skan
12504169689Skan	* doc/invoke.texi (xl-compat): Document conversion and support
12505169689Skan	routine names.
12506169689Skan
12507169689Skan2006-02-07  Jeff Law  <law@redhat.com>
12508169689Skan
12509169689Skan	* tree-vrp.c (find_conditional_asserts): Update comments.
12510169689Skan	(simplify_stmt_for_jump_threading): New.
12511169689Skan	(identify_jump_threads, finalize_jump_threads): New.
12512169689Skan	(vrp_finalize): Call identify_jump_threads.
12513169689Skan	(execute_vrp): Call finalize_jump_threads.
12514169689Skan	* tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field.
12515169689Skan	(vrp_element, vrp_data, vrp_element_p): Remove.
12516169689Skan	(vrp_hash_elt, vrp_variables_stack): Remove.
12517169689Skan	(vrp_hash, vrp_eq, record_range): Remove.
12518169689Skan	(simplify_cond_and_lookup_avail_expr): Remove.
12519169689Skan	(extract_range_from_cond): Remove.
12520169689Skan	(thread_across_edge): Relocated into tree-ssa-threadedge.c.
12521169689Skan	(simplify_stmt_for_jump_threading): New.
12522169689Skan	(dom_thread_across_edge): New wrapper.
12523169689Skan	(tree_ssa_dominator_optimize): No longer initialize or
12524169689Skan	finalize any of the VRP datastructures.  Remove iteration
12525169689Skan	step and simplify as a result of removal of iteration step.
12526169689Skan	(pass_dominator): Perform a cfg cleanup after DOM.
12527169689Skan	(dom_opt_finalize_block): Use the new common routines
12528169689Skan	for threading jumps.  Simplify stack management slightly.
12529169689Skan	No longer need to unwind VRP state.
12530169689Skan	(record_equivalences_from_incoming_edge): No longer record
12531169689Skan	VRP information.
12532169689Skan	(eliminate_redundant_computations): No longer call
12533169689Skan	simplify_cond_and_lookup_avail_expr.
12534169689Skan	* tree-flow.h (potentially_threadable_block): Prototype.
12535169689Skan	(thread_across_edge): Likewise.
12536169689Skan	* Makefile.in (OBJS-common): Add tree-ssa-threadedge.o
12537169689Skan	(tree-ssa-threadedge.o): Add dependencies.
12538169689Skan	* tree-ssa-threadedge.c: New file.
12539169689Skan	* passes.c (init_optimization_passes): Merge PHIs before
12540169689Skan	calling VRP.  Run VRP again late in the SSA optimization pipeline.
12541169689Skan
12542169689Skan2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
12543169689Skan
12544169689Skan	* df-core.c (df_set_blocks): Do not dereference function pointers.
12545169689Skan	(df_finish1): Likewise.
12546169689Skan	(df_hybrid_search_forward): Likewise.
12547169689Skan	(df_hybrid_search_backward): Likewise.
12548169689Skan	(df_iterative_dataflow): Likewise.
12549169689Skan	(df_analyze_problem): Likewise.
12550169689Skan	(df_compact_blocks): Likewise.
12551169689Skan	(df_dump): Likewise.
12552169689Skan	* df-scan.c (df_rescan_blocks): Likewise.
12553169689Skan	(df_record_entry_block_defs): Likewise.
12554169689Skan
12555169689Skan	* genconditions.c (write_conditions): Guard the definition of
12556169689Skan	'insn_conditions' with the check on GCC version.
12557169689Skan	(write_writer): Guard the traversal 'insn_conditions' with
12558169689Skan	the check on GCC version.
12559169689Skan
12560169689Skan2006-02-07  Richard Guenther  <rguenther@suse.de>
12561169689Skan
12562169689Skan	PR c++/26140
12563169689Skan	Revert
12564169689Skan	2006-01-30  Richard Guenther  <rguenther@suse.de>
12565169689Skan	PR c++/23372
12566169689Skan	* gimplify.c (gimplify_target_expr): Handle easy cases
12567169689Skan	without creating a temporary.
12568169689Skan
12569169689Skan2006-02-07  Pete Steinmetz  <steinmtz@us.ibm.com>
12570169689Skan
12571169689Skan	* sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate
12572169689Skan	use of float in probability computations.  Use edge probabilities
12573169689Skan	in place of statically computed probabilities.
12574169689Skan	(min_spec_prob): New static variable.
12575169689Skan	(schedule_insns): Initialize it.
12576169689Skan	(GET_SRC_PROB): Removed.
12577169689Skan	* doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob.
12578169689Skan
12579169689Skan2006-02-07  Alexandre Oliva  <aoliva@redhat.com>
12580169689Skan
12581169689Skan	PR debug/24444
12582169689Skan	* config/ia64/unwind-ia64.c: Revert last change.
12583169689Skan	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
12584169689Skan	(INCOMING_FRAME_SP_OFFSET): Define.
12585169689Skan
12586169689Skan2006-02-06  Roger Sayle  <roger@eyesopen.com>
12587169689Skan
12588169689Skan	* config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.
12589169689Skan
12590169689Skan2006-02-07  Ben Elliston  <bje@au.ibm.com>
12591169689Skan
12592169689Skan	* config/i386/i386.c (ix86_scalar_mode_supported_p): New.
12593169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): Define hook.
12594169689Skan	(classify_argument): Handle SDmode, DDmode, TDmode for 64-bit.
12595169689Skan	(ix86_return_in_memory): Handle TDmode.
12596169689Skan	(ix86_libcall_value): Handle SDmode, DDmode, TDmode.
12597169689Skan	(ix86_value_regno): Return non-TDmode decimal float modes in %eax.
12598169689Skan
12599169689Skan2006-02-06  Richard Sandiford  <richard@codesourcery.com>
12600169689Skan
12601169689Skan	* reorg.c (dbr_schedule): Use dump_file instead of file.
12602169689Skan
12603169689Skan2006-02-06  Steve Ellcey  <sje@cup.hp.com>
12604169689Skan
12605169689Skan	PR target/25917
12606169689Skan	* config/ia64/predicates.md (extr_len_operand): New predicate.
12607169689Skan	* config/ia64/ia64.md (extv): Tighten constraints.
12608169689Skan	(extzv): Ditto.
12609169689Skan	(*tbit_and_2): Ditto.
12610169689Skan	(*tbit_and_3): Ditto.
12611169689Skan	(*tbit_or_2): Ditto.
12612169689Skan	(*tbit_or_3): Ditto.
12613169689Skan	(*bit_zero): Ditto.
12614169689Skan	(*bit_one): Ditto.
12615169689Skan
12616169689Skan2006-02-06  Andrew Pinski  <pinskia@physics.uc.edu>
12617169689Skan
12618169689Skan	PR target/23359
12619169689Skan	* config/i386/i386.md (trap): Use ASM_SHORT instead of .word.
12620169689Skan
12621169689Skan2006-02-06  Zdenek Dvorak <dvorakz@suse.cz>
12622169689Skan
12623169689Skan	* tree-vrp.c (execute_vrp): Do not pass dump argument to.
12624169689Skan	loop_optimizer_init and loop_optimizer_finalize
12625169689Skan	* tree-ssa-sink.c (execute_sink_code): Ditto.
12626169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
12627169689Skan	* tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init,
12628169689Skan	tree_ssa_loop_done): Ditto.
12629169689Skan	* tree-ssa-pre.c (init_pre, fini_pre): Ditto.
12630169689Skan	* sched-ebb.c: Include output.h.
12631169689Skan	(schedule_ebbs): Do not use dump argument.
12632169689Skan	* value-prof.h (struct profile_hooks): Remove profile_dump_file.
12633169689Skan	* loop.c (loop_dump_stream): Removed.
12634169689Skan	(loop_optimize, rest_of_handle_loop_optimize): Do not use dump
12635169689Skan	argument.
12636169689Skan	(scan_loop, move_movables, find_and_verify_loops, mark_loop_jump,
12637169689Skan	emit_prefetch_instructions, loop_bivs_find, loop_bivs_check,
12638169689Skan	final_biv_value, loop_biv_eliminable_p, loop_givs_rescan,
12639169689Skan	loop_iterations, strength_reduce, record_biv, record_giv,
12640169689Skan	final_giv_value, check_final_value, check_ext_dependent_givs,
12641169689Skan	combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems,
12642169689Skan	try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use
12643169689Skan	dump_file instead of loop_dump_stream.
12644169689Skan	* ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call
12645169689Skan	argument dump_file.
12646169689Skan	* reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use
12647169689Skan	dump argument.
12648169689Skan	* flow.c (life_analysis, rest_of_handle_life): Ditto.
12649169689Skan	* haifa-sched.c: Include output.h
12650169689Skan	(schedule_insns, sched_init): Do not use dump argument.
12651169689Skan	* mode-switching.c (optimize_mode_switching): Ditto.
12652169689Skan	* modulo-sched.c (stats_file): Removed.
12653169689Skan	(print_node_sched_params): Do not call argument dump_file.
12654169689Skan	(sms_schedule_by_order, loop_canon_p, sms_schedule,
12655169689Skan	rest_of_handle_sms): Do not use dump argument.  Use dump_file instead
12656169689Skan	of stats_file.
12657169689Skan	* cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not
12658169689Skan	use dump argument.
12659169689Skan	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize,
12660169689Skan	rtl_loop_init, rtl_loop_done): Ditto.
12661169689Skan	* global.c (global_alloc, rest_of_handle_global_alloc): Ditto.
12662169689Skan	* predict.c (combine_predictions_for_bb, tree_estimate_probability):
12663169689Skan	Ditto.
12664169689Skan	* recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto.
12665169689Skan	* lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto.
12666169689Skan	* regmove.c (fixup_match_1, fixup_match_2, regmove_optimize,
12667169689Skan	rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto.
12668169689Skan	* emit-rtl.c (renumber_insns): Ditto.
12669169689Skan	* cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr,
12670169689Skan	expand_gimple_basic_block, tree_expand_cfg): Ditto.
12671169689Skan	* regclass.c (regclass): Ditto.
12672169689Skan	* tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts,
12673169689Skan	remove_ssa_form, rewrite_out_of_ssa): Ditto.
12674169689Skan	* reg-stack.c (compensate_edge, compensate_edges, convert_regs_1,
12675169689Skan	convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs):
12676169689Skan	Ditto.
12677169689Skan	* sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto.
12678169689Skan	* local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file
12679169689Skan	to regclass.
12680169689Skan	* gcse.c (gcse_file, debug_stderr): Removed.
12681169689Skan	(gcse_main, bypass_jumps, rest_of_handle_jump_bypass,
12682169689Skan	rest_of_handle_gcse): Do not use dump argument.
12683169689Skan	(cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets,
12684169689Skan	one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb,
12685169689Skan	pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass,
12686169689Skan	compute_code_hoist_vbeinout, compute_code_hoist_data,
12687169689Skan	one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores,
12688169689Skan	compute_store_table, build_store_vectors, insert_insn_start_bb,
12689169689Skan	insert_store, remove_reachable_equiv_notes, replace_store_insn,
12690169689Skan	store_motion): Use dump_file instead of gcse_file.
12691169689Skan	* ipa-type-escape.c (type_escape_execute): Remove debugging comments.
12692169689Skan	* profile.c (profile_dump_file): Removed.
12693169689Skan	(branch_prob): Use dump_file instead of profile_dump_file.
12694169689Skan	* ipa.c (cgraph_remove_unreachable_nodes): Do not call argument
12695169689Skan	dump_file.
12696169689Skan	* tree-ssa-copy.c (dump_copy_of): Ditto.
12697169689Skan	* rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass
12698169689Skan	dump file to life_analysis.
12699169689Skan	* bt-load.c (branch_target_load_optimize): Ditto.
12700169689Skan	* cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to
12701169689Skan	renumber_insns.
12702169689Skan	* rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs,
12703169689Skan	regclass, dbr_schedule): Declaration changed.
12704169689Skan	* sched-int.h (sched_init): Declaration changed.
12705169689Skan	* tree-profile.c (tree_profile_dump_file): Removed.
12706169689Skan	(tree_profile_hooks): Removed profile_dump_file hook.
12707169689Skan	* rtl-profile (rtl_profile_dump_file): Removed.
12708169689Skan	(rtl_profile_hooks): emoved profile_dump_file hook.
12709169689Skan	* cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration
12710169689Skan	changed.
12711169689Skan	* c-gimplify.c (c_genericize): Do not call local variable dump_file.
12712169689Skan	* tree-cfg.c (build_tree_cfg): Ditto.
12713169689Skan	* Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency.
12714169689Skan	* basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm):
12715169689Skan	Declaration changed.
12716169689Skan	* config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to
12717169689Skan	life_analysis and schedule_insns.
12718169689Skan	* config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to
12719169689Skan	life_analysis.
12720169689Skan	* config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to
12721169689Skan	dbr_schedule.
12722169689Skan	* config/mips/mips.c (mips_reorg): Ditto.
12723169689Skan	* config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to
12724169689Skan	schedule_ebbs.
12725169689Skan
12726169689Skan2006-02-06  Aldy Hernandez  <aldyh@redhat.com>
12727169689Skan
12728169689Skan	* config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
12729169689Skan	(s390_mangle_fundamental_type): New.
12730169689Skan	* config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
12731169689Skan	Define.
12732169689Skan
12733169689Skan	* config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
12734169689Skan	(alpha_mangle_fundamental_type): New.
12735169689Skan	* config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
12736169689Skan	Define.
12737169689Skan
12738169689Skan	* config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
12739169689Skan	Define.
12740169689Skan	* config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
12741169689Skan	Define.
12742169689Skan	* config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
12743169689Skan	(sparc_mangle_fundamental_type): New.
12744169689Skan
12745169689Skan2006-02-06  Jakub Jelinek  <jakub@redhat.com>
12746169689Skan
12747169689Skan	* config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file.
12748169689Skan	(s390x-*-linux*): Likewise.
12749169689Skan	* config/s390/t-linux64 (SHLIB_MAPFILES): Removed.
12750169689Skan	* config/s390/t-linux: New file.
12751169689Skan
12752169689Skan2006-02-02  Bernd Schmidt  <bernd.schmidt@analog.com>
12753169689Skan
12754169689Skan	* config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>,
12755169689Skan	sync_and<mode>, sync_xor<mode>): Operand 0 is in-out.
12756169689Skan
12757169689Skan2006-02-06  Daniel Berlin  <dberlin@dberlin.org>
12758169689Skan
12759169689Skan	* tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads.
12760169689Skan	(ANTIC_SAFE_LOADS): New macro.
12761169689Skan	(find_or_generate_expression): Add prototype.
12762169689Skan	(set_contains_value): Allow null set for sake of not always having
12763169689Skan	to allocate ANTIC_SAFE_LOADS.
12764169689Skan	(phi_translate): Move placement of AGGREGATE_TYPE_P check.
12765169689Skan	Allow COMPONENT_REF too.
12766169689Skan	(valid_in_set): Allow COMPONENT_REF.
12767169689Skan	Check ANTIC_SAFE_LOADS too.
12768169689Skan	(compute_antic_aux): Print out ANTIC_SAFE_LOADS.
12769169689Skan	(compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and
12770169689Skan	rename.
12771169689Skan	(can_PRE_operation): Add COMPONENT_REF.
12772169689Skan	(create_component_ref_by_pieces): New function.
12773169689Skan	(create_expression_by_pieces): Use create_component_ref_by_pieces.
12774169689Skan	(insert_aux): Move AGGREGATE_TYPE_P check here.
12775169689Skan	(compute_avail): Set bb local stmt uids.
12776169689Skan	(pass_pre): Use TODO_update_ssa_only_virtuals.
12777169689Skan
12778169689Skan2006-02-06  Ben Elliston  <bje@au.ibm.com>
12779169689Skan
12780169689Skan	* configure.ac: Unconditionally disable decimal float by default.
12781169689Skan	* configure: Regenerate.
12782169689Skan
12783169689Skan2006-02-06  Ben Elliston  <bje@au.ibm.com>
12784169689Skan
12785169689Skan	* read-rtl.c (read_name): Terminate reading on EOF.
12786169689Skan
12787169689Skan2006-02-06  Ben Elliston  <bje@au.ibm.com>
12788169689Skan
12789169689Skan	* dfp.c (decimal_real_arithmetic): Change second argument type
12790169689Skan	from int to enum tree_code. Do not always return true, but now
12791169689Skan	return result of any call to decimal_do helper functions.
12792169689Skan	* dfp.h (decimal_real_arithmetic): Update prototype.
12793169689Skan
12794169689Skan2006-02-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
12795169689Skan
12796169689Skan	* config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID.
12797169689Skan
12798169689Skan2006-02-05  Andrew Pinski  <pinskia@physics.uc.edu>
12799169689Skan
12800169689Skan	PR tree-opt/25251
12801169689Skan	* tree-cfg.c (cleanup_dead_labels): Also don't remove
12802169689Skan	forced labels.
12803169689Skan
12804169689Skan2006-02-04  Zdenek Dvorak <dvorakz@suse.cz>
12805169689Skan
12806169689Skan	* tree-vrp.c (cfg_loops): Removed.
12807169689Skan	(adjust_range_with_scev, vrp_visit_assignment, execute_vrp):
12808169689Skan	Use current_loops instead of cfg_loops.  Pass flags to
12809169689Skan	loop_optimizer_init.
12810169689Skan	* cfgloopmanip.c (fix_loop_structure): Update only available
12811169689Skan	information.
12812169689Skan	* tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to
12813169689Skan	loop_optimizer_init.
12814169689Skan	* modulo-sched.c (build_loops_structure): Removed.
12815169689Skan	(sms_schedule): Use loop_optimizer_init.
12816169689Skan	* loop-init.c (loop_optimizer_init): Use flags to determine
12817169689Skan	which properties of loops to prepare.
12818169689Skan	(rtl_loop_init): Pass flags to loop_optimizer_init.
12819169689Skan	* tree-ssa-sink.c (execute_sink_code): Ditto.
12820169689Skan	* tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
12821169689Skan	* tree-ssa-pre.c (init_pre): Ditto.
12822169689Skan	* cfgloop.h (LOOPS_NORMAL): New.
12823169689Skan	(loop_optimizer_init): Declaration changed.
12824169689Skan
12825169689Skan2006-02-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12826169689Skan
12827169689Skan	* pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files.
12828169689Skan	* config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of
12829169689Skan	pa/t-pa.
12830169689Skan	* config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of
12831169689Skan	pa/t-pa.
12832169689Skan	* config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of
12833169689Skan	pa/x-ada.
12834169689Skan	* pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules.
12835169689Skan	* pa/t-pa64: Delete quadlib.c rule.
12836169689Skan	* pa/x-ada: Revert last change.
12837169689Skan	* pa/t-pa: Revert last change.  Delete quadlib.c rule.
12838169689Skan
12839169689Skan2006-02-04  Zdenek Dvorak <dvorakz@suse.cz>
12840169689Skan
12841169689Skan	PR rtl-optimization/26087
12842169689Skan	* rtlanal.c (canonicalize_condition): Do not cross basic block
12843169689Skan	boundaries.
12844169689Skan
12845169689Skan2006-02-04  Alexandre Oliva  <aoliva@redhat.com>
12846169689Skan
12847169689Skan	PR debug/24444
12848169689Skan	* config/ia64/ia64.c: Include debug.h.
12849169689Skan	(MAX_ARTIFICIAL_LABEL_BYTES): New.
12850169689Skan	(ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New.
12851169689Skan	(IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0.
12852169689Skan	(process_epilogue, process_set, process_for_unwind_directive):
12853169689Skan	Output unwind info only if requested.  Add CFA info if requested.
12854169689Skan	Add new arguments as needed.  Adjust callers.
12855169689Skan	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override
12856169689Skan	incorrect default.
12857169689Skan	(DWARF2_FRAME_INFO): Define to zero.
12858169689Skan	* config/ia64/unwind-ia64.c: Remove code that compensated for
12859169689Skan	the CFA offset error fixed above.
12860169689Skan	* config/ia64/t-ia64 (ia64.o): Depend on debug.h.
12861169689Skan	* dwarf2out.c (DWARF2_FRAME_INFO): Define default.
12862169689Skan	(dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for
12863169689Skan	-funwind-tables and -fexceptions to enable frame info.
12864169689Skan	(dwarf2out_frame_init): Define initial CFA even if
12865169689Skan	DWARF2_UNWIND_INFO is disabled.  Call initial_return_save if
12866169689Skan	DWARF2_UNWIND_INFO is nonzero, not just defined.
12867169689Skan	(dwarf2out_frame_finish): Output non-EH call frame info only
12868169689Skan	if DWARF2_FRAME_INFO is nonzero.
12869169689Skan	(convert_cfa_to_loc_list,
12870169689Skan	compute_frame_pointer_to_cfa_displacement): Define even if
12871169689Skan	unwind info is not supported.
12872169689Skan	(gen_subprogram_die): Use the above unconditionally.  Remove
12873169689Skan	legacy alternate code.
12874169689Skan	* toplev.c (compile_file): Compile in call to
12875169689Skan	dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined.
12876169689Skan	(lang_dependent_init): Ditto for dwarf2out_frame_init.
12877169689Skan
12878169689Skan2006-02-04  David Edelsohn  <edelsohn@gnu.org>
12879169689Skan	    Jakub Jelinek  <jakub@redhat.com>
12880169689Skan
12881169689Skan	* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
12882169689Skan	IBM extended float format long double as "g" on powerpc*-linux.
12883169689Skan
12884169689Skan2006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12885169689Skan
12886169689Skan	PR target/25926
12887169689Skan	* pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10.
12888169689Skan	* pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10.
12889169689Skan
12890169689Skan2006-02-03  Jason Merrill  <jason@redhat.com>
12891169689Skan
12892169689Skan	PR c++/25979
12893169689Skan	* gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now.
12894169689Skan
12895169689Skan	PR middle-end/25977
12896169689Skan	* gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO
12897169689Skan	on the return slot if it's an NRV.
12898169689Skan
12899169689Skan2006-02-03  Zdenek Dvorak <dvorakz@suse.cz>
12900169689Skan
12901169689Skan	* tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER.
12902169689Skan	(dump_use, add_derived_ivs_candidates, determine_use_iv_cost,
12903169689Skan	rewrite_use): Do not handle USE_OUTER.
12904169689Skan	(find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer,
12905169689Skan	add_iv_outer_candidates, may_replace_final_value,
12906169689Skan	determine_use_iv_cost_outer, rewrite_use_outer): Removed.
12907169689Skan	(find_interesting_uses_op): Functionality of
12908169689Skan	find_interesting_uses_outer_or_nonlin moved here.
12909169689Skan	(find_interesting_uses_outside): Use find_interesting_uses_op.
12910169689Skan
12911169689Skan2006-02-03  Alan Modra  <amodra@bigpond.net.au>
12912169689Skan
12913169689Skan	PR target/25960
12914169689Skan	* config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
12915169689Skan
12916169689Skan2006-02-03  Andreas Krebbel  <krebbel1@de.ibm.com>
12917169689Skan	    Ulrich Weigand  <uweigand@de.ibm.com>
12918169689Skan
12919169689Skan	PR target/25864
12920169689Skan	* config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
12921169689Skan	"x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
12922169689Skan	* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
12923169689Skan	* config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
12924169689Skan	and dxr fields.
12925169689Skan	(z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
12926169689Skan	(s390_rtx_costs): Use the new fields to calculate rtx costs.
12927169689Skan	(s390_secondary_input_reload_class, s390_secondary_output_reload_class):
12928169689Skan	Define secondary reloads for TFmode moves.
12929169689Skan	(constant_modes): Add TFmode.
12930169689Skan	(NR_C_MODES): Set to 8.
12931169689Skan	* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
12932169689Skan	builtin define.
12933169689Skan	(LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
12934169689Skan	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
12935169689Skan	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
12936169689Skan	CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
12937169689Skan	* config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
12938169689Skan	fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
12939169689Skan	(FPR mode macro): Add TFmode.
12940169689Skan	(DSF mode macro): New.
12941169689Skan	(<de>, <dee> mode attributes): Removed.
12942169689Skan	(<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
12943169689Skan	("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
12944169689Skan	"*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
12945169689Skan	"floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
12946169689Skan	"*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
12947169689Skan	"*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
12948169689Skan	"*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
12949169689Skan	"*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
12950169689Skan	"*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
12951169689Skan	"*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
12952169689Skan	"*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
12953169689Skan	"*negabs<mode>2", "sqrt<mode>2"):
12954169689Skan	Changed <de> to <xde>. R constraint replaced by <Rf>.
12955169689Skan	("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
12956169689Skan	<Rf>.
12957169689Skan	("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
12958169689Skan	("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
12959169689Skan	("*movtf_64", "*movtf_31"): New insn definitions followed by 5
12960169689Skan	splitters.
12961169689Skan	("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
12962169689Skan	"extenddftf2", "extendsftf2"): New expanders.
12963169689Skan	("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
12964169689Skan	"*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
12965169689Skan	"*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
12966169689Skan	* config/s390/s390.opt (mlong-double-128, mlong-double-64):
12967169689Skan	New options.
12968169689Skan	* config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
12969169689Skan	* config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
12970169689Skan	__fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
12971169689Skan	__floatditf): Add a GCC_4.1.0 symbol version tag.
12972169689Skan	* doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
12973169689Skan	the new options.
12974169689Skan
12975169689Skan2006-02-02  Andrew Pinski  <pinskia@physics.uc.edu>
12976169689Skan
12977169689Skan	PR target/25377
12978169689Skan	* config/i386/i386.c (ix86_function_ok_for_sibcall):
12979169689Skan	Use targetm.binds_local_p instead of TREE_PUBLIC.
12980169689Skan
12981169689Skan2006-02-02  Roger Sayle  <roger@eyesopen.com>
12982169689Skan
12983169689Skan	* tree.h (TYPE_STRING_FLAG): Document that this field may be used
12984169689Skan	on INTEGER_TYPEs to indicate that it denotes a character type.
12985169689Skan	* tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on
12986169689Skan	signed_char_type_node, unsigned_char_type_node and char_type_node.
12987169689Skan	* dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to
12988169689Skan	INTEGER_TYPE.  Use TYPE_STRING_FLAG to decide whether to emit
12989169689Skan	a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed.
12990169689Skan
12991169689Skan2006-02-02  Zdenek Dvorak <dvorakz@suse.cz>
12992169689Skan	    Daniel Berlin  <dberlin@dberlin.org>
12993169689Skan
12994169689Skan	* tree-tailcall.c (arg_needs_copy_p): New function.
12995169689Skan	(eliminate_tail_call): Use arg_needs_copy_p.
12996169689Skan	(tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis.
12997169689Skan	(add_virtual_phis): New function.
12998169689Skan
12999169689Skan2006-02-02  Jakub Jelinek  <jakub@redhat.com>
13000169689Skan
13001169689Skan	* config/sparc/sparc.c (sparc_output_scratch_registers): Use
13002169689Skan	#ignore instead of #scratch for %g7 .register directive.
13003169689Skan
13004169689Skan2006-02-02  Andreas Tobler  <a.tobler@schweiz.ch>
13005169689Skan
13006169689Skan	* config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate
13007169689Skan	object files.
13008169689Skan
13009169689Skan2006-02-02  Bernd Schmidt  <bernd.schmidt@analog.com>
13010169689Skan
13011169689Skan	* flow.c (calculate_global_regs_live): Assert that there aren't any
13012169689Skan	EDGE_FAKE edges.
13013169689Skan
13014169689Skan2006-02-02  Paolo Bonzini  <bonzini@gnu.org>
13015169689Skan
13016169689Skan	* tree-flow-inline.h (bsi_after_labels): Rewrite, return
13017169689Skan	what its name says.
13018169689Skan	* lambda-code.c (perfect_nestify): Use bsi_insert_before on
13019169689Skan	bsi_after_labels iterator.
13020169689Skan	* tree-if-conv.c (find_phi_replacement_condition,
13021169689Skan	replace_phi_with_cond_modify_expr): Likewise.
13022169689Skan	* tree-scalar-evolution.c (scev_const_prop): Likewise.
13023169689Skan	* tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Likewise.
13024169689Skan
13025169689Skan2006-02-02  Diego Novillo  <dnovillo@redhat.com>
13026169689Skan
13027169689Skan	* tree-inline.c (copy_tree_r): Also copy OMP_CLAUSE nodes.
13028169689Skan
13029169689Skan2006-02-02  Diego Novillo  <dnovillo@redhat.com>
13030169689Skan
13031169689Skan	PR 25990
13032169689Skan	* tree-cfg.c (move_block_to_fn): Clear out the basic block
13033169689Skan	array after growing it.
13034169689Skan
13035169689Skan2006-02-01  Steve Ellcey  <sje@cup.hp.com>
13036169689Skan
13037169689Skan	PR middle-end/24901
13038169689Skan	* fold-const.c (fold_checksum_tree): Change type of buf.
13039169689Skan
13040169689Skan2006-02-01  Bernd Schmidt  <bernd.schmidt@analog.com>
13041169689Skan
13042169689Skan	* reload.c (push_secondary_reload): Initialize t_icode.
13043169689Skan
13044169689Skan2006-02-01  Jakub Jelinek  <jakub@redhat.com>
13045169689Skan
13046169689Skan	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For
13047169689Skan	-msoft-float -mlong-double-128 only issue a warning, but don't
13048169689Skan	swich to DFmode long double.
13049169689Skan
13050169689Skan2006-02-01  Hans-Peter Nilsson  <hp@axis.com>
13051169689Skan
13052169689Skan	* cse.c (fold_rtx) <case RTX_COMM_COMPARE, RTX_COMPARE>: When arg1
13053169689Skan	has a constant equivalent, iterate over equivalents for arg0,
13054169689Skan	calling simplify_relational_operation and if there's a result
13055169689Skan	cheaper than X, apply fold_rtx and return the result.
13056169689Skan
13057169689Skan2006-02-01  Jan Hubicka  <jh@suse.cz>
13058169689Skan
13059169689Skan	* opts.c (no_unit_at_a_time_default): New global variable.
13060169689Skan	(decode_options): Use it.
13061169689Skan	* opts.h (no_unit_at_a_time_default): Declare.
13062169689Skan
13063169689Skan2006-02-01  Paul Brook  <paul@codesourcery.com>
13064169689Skan
13065169689Skan	* function.c (assign_parm_setup_reg): Use function argument promotion
13066169689Skan	rules.
13067169689Skan	* expr.c (expand_expr_real_1): Use function argument promotion rules
13068169689Skan	for PARM_DECLs.
13069169689Skan
13070169689Skan2006-02-01  Steve Ellcey  <sje@cup.hp.com>
13071169689Skan
13072169689Skan	* gcc.c (process_command): Change j to 'unsigned int'.
13073169689Skan
13074169689Skan2006-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
13075169689Skan
13076169689Skan	PR middle-end/26001
13077169689Skan	* expr.c (expand_expr_real_1) <case ARRAY_REF>:
13078169689Skan	Use the corrected index for the character
13079169689Skan	out of the string constant.
13080169689Skan
13081169689Skan2006-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
13082169689Skan
13083169689Skan	* mode-switching.c (optimize_mode_switching): Fix size
13084169689Skan	allocated for bb_info[n_entities].
13085169689Skan
13086169689Skan2006-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
13087169689Skan
13088169689Skan	* gcc.c (main): Correct type that is allocated for
13089169689Skan	explicit_link_files.
13090169689Skan
13091169689Skan2006-01-31  Jakub Jelinek  <jakub@redhat.com>
13092169689Skan
13093169689Skan	* config/s390/s390.c (init_alignment_context): Set
13094169689Skan	ALIAS_SET_MEMORY_BARRIER on the MEM.
13095169689Skan	* config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Likewise.
13096169689Skan
13097169689Skan2006-01-31  Uttam Pawar  <uttamp@us.ibm.com>
13098169689Skan
13099169689Skan	PR middle-end/25933
13100169689Skan	* loop-unroll.c (unroll_loop_runtime_iterations): Free
13101169689Skan	dom_bbs pointer.
13102169689Skan	* tree-ssa-live.c (type_var_init): Allocate bitmap after
13103169689Skan	call to tpa_init.
13104169689Skan
13105169689Skan2006-01-31  Marcin Dalecki  <martin@dalecki.de>
13106169689Skan
13107169689Skan	* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
13108169689Skan	* regrename.c: Ditto.
13109169689Skan	* tree-ssa-loop-im.c: Ditto.
13110169689Skan	* tree-dump.c: Ditto.
13111169689Skan	* tree-complex.c: Ditto.
13112169689Skan	* genrecog.c: Ditto.
13113169689Skan	* tree-ssa-threadupdate.c: Ditto.
13114169689Skan	* tracer.c: Ditto.
13115169689Skan	* java/class.c: Ditto.
13116169689Skan	* java/jcf-parse.c: Ditto.
13117169689Skan	* java/resource.c: Ditto.
13118169689Skan	* java/except.c: Ditto.
13119169689Skan	* java/jvspec.c: Ditto.
13120169689Skan	* java/jcf-write.c: Ditto.
13121169689Skan	* java/jcf-path.c: Ditto.
13122169689Skan	* java/gjavah.c: Ditto.
13123169689Skan	* java/zextract.c: Ditto.
13124169689Skan	* java/jcf-io.c: Ditto.
13125169689Skan	* java/jcf.h: Ditto.
13126169689Skan	* java/buffer.c: Ditto.
13127169689Skan	* java/lang.c: Ditto.
13128169689Skan	* java/parse-scan.y: Ditto.
13129169689Skan	* java/lex.c: Ditto.
13130169689Skan	* java/lex.h: Ditto.
13131169689Skan	* cfgloopmanip.c: Ditto.
13132169689Skan	* postreload-gcse.c: Ditto.
13133169689Skan	* tree-ssa-loop-manip.c: Ditto.
13134169689Skan	* postreload.c: Ditto.
13135169689Skan	* tree-ssa-loop-ch.c: Ditto.
13136169689Skan	* loop.c: Ditto.
13137169689Skan	* ipa-cp.c: Ditto.
13138169689Skan	* cppspec.c: Ditto.
13139169689Skan	* diagnostic.c: Ditto.
13140169689Skan	* final.c: Ditto.
13141169689Skan	* genoutput.c: Ditto.
13142169689Skan	* gcc.c: Ditto.
13143169689Skan	* cfghooks.c: Ditto.
13144169689Skan	* cfgloopanal.c: Ditto.
13145169689Skan	* objc/objc-act.c: Ditto.
13146169689Skan	* gcov.c: Ditto.
13147169689Skan	* genextract.c: Ditto.
13148169689Skan	* genautomata.c: Ditto.
13149169689Skan	* pretty-print.c: Ditto.
13150169689Skan	* genemit.c: Ditto.
13151169689Skan	* cgraphunit.c: Ditto.
13152169689Skan	* flow.c: Ditto.
13153169689Skan	* df-scan.c: Ditto.
13154169689Skan	* haifa-sched.c: Ditto.
13155169689Skan	* dominance.c: Ditto.
13156169689Skan	* dbxout.c: Ditto.
13157169689Skan	* tree-ssa-loop-ivopts.c: Ditto.
13158169689Skan	* df-core.c: Ditto.
13159169689Skan	* mode-switching.c: Ditto.
13160169689Skan	* modulo-sched.c: Ditto.
13161169689Skan	* graph.c: Ditto.
13162169689Skan	* ipa-pure-const.c: Ditto.
13163169689Skan	* cse.c: Ditto.
13164169689Skan	* fix-header.c: Ditto.
13165169689Skan	* web.c: Ditto.
13166169689Skan	* tree-stdarg.c: Ditto.
13167169689Skan	* ipa-utils.c: Ditto.
13168169689Skan	* loop-init.c: Ditto.
13169169689Skan	* ipa-inline.c: Ditto.
13170169689Skan	* cfganal.c: Ditto.
13171169689Skan	* global.c: Ditto.
13172169689Skan	* alloc-pool.c: Ditto.
13173169689Skan	* dwarf2out.c: Ditto.
13174169689Skan	* opts.c: Ditto.
13175169689Skan	* genattrtab.c: Ditto.
13176169689Skan	* tree-ssa-loop-ivcanon.c: Ditto.
13177169689Skan	* predict.c: Ditto.
13178169689Skan	* timevar.c: Ditto.
13179169689Skan	* lcm.c: Ditto.
13180169689Skan	* fortran/gfortranspec.c: Ditto.
13181169689Skan	* regmove.c: Ditto.
13182169689Skan	* local-alloc.c: Ditto.
13183169689Skan	* langhooks.c: Ditto.
13184169689Skan	* function.c: Ditto.
13185169689Skan	* tree-vectorizer.c: Ditto.
13186169689Skan	* gcse.c: Ditto.
13187169689Skan	* ipa-type-escape.c: Ditto.
13188169689Skan	* alias.c: Ditto.
13189169689Skan	* tree-if-conv.c: Ditto.
13190169689Skan	* profile.c: Ditto.
13191169689Skan	* ipa.c: Ditto.
13192169689Skan	* tree-data-ref.c: Ditto.
13193169689Skan	* loop-unroll.c: Ditto.
13194169689Skan	* treelang/treetree.c: Ditto.
13195169689Skan	* calls.c: Ditto.
13196169689Skan	* bt-load.c: Ditto.
13197169689Skan	* ggc-common.c: Ditto.
13198169689Skan	* except.c: Ditto.
13199169689Skan	* coverage.c: Ditto.
13200169689Skan	* cselib.c: Ditto.
13201169689Skan	* tree-cfgcleanup.c: Ditto.
13202169689Skan	* tree-ssa-pre.c: Ditto.
13203169689Skan	* cfgcleanup.c: Ditto.
13204169689Skan	* loop-invariant.c: Ditto.
13205169689Skan	* loop-iv.c: Ditto.
13206169689Skan	* ipa-prop.c: Ditto.
13207169689Skan	* print-tree.c: Ditto.
13208169689Skan	* conflict.c: Ditto.
13209169689Skan	* ggc-page.c: Ditto.
13210169689Skan	* sched-deps.c: Ditto.
13211169689Skan	* regclass.c: Ditto.
13212169689Skan	* tree-object-size.c: Ditto.
13213169689Skan	* combine.c: Ditto.
13214169689Skan	* bb-reorder.c: Ditto.
13215169689Skan	* resource.c: Ditto.
13216169689Skan	* var-tracking.c: Ditto.
13217169689Skan	* cfgloop.c: Ditto.
13218169689Skan	* df-problems.c: Ditto.
13219169689Skan	* reg-stack.c: Ditto.
13220169689Skan	* tlink.c: Ditto.
13221169689Skan	* gccspec.c: Ditto.
13222169689Skan	* sched-rgn.c: Ditto.
13223169689Skan	* tree-ssa-structalias.c: Ditto.
13224169689Skan	* tree-ssa-reassoc.c: Ditto.
13225169689Skan	* config/darwin-c.c: Ditto.
13226169689Skan	* config/darwin.c: Ditto.
13227169689Skan	* config/arm/arm.c: Ditto.
13228169689Skan	* cfgrtl.c: Ditto.
13229169689Skan	* collect2.c: Ditto.
13230169689Skan	* reload1.c: Ditto.
13231169689Skan
13232169689Skan2006-01-31  Nicolas Pitre  <nico@cam.org>
13233169689Skan
13234169689Skan	* arm.md (smaxsi3): Make aware of smax_m1.
13235169689Skan	(smax_m1): New.
13236169689Skan
13237169689Skan2006-01-31  Nathan Sidwell  <nathan@codesourcery.com>
13238169689Skan
13239169689Skan	* config/m68k/lb1sf68.asm: Use moveq to load small constants.
13240169689Skan
13241169689Skan2006-01-31  Richard Guenther  <rguenther@suse.de>
13242169689Skan
13243169689Skan	* doc/invoke.texi (-msselibm): Document.
13244169689Skan	* target.h (expand_library_builtin): New target hook.
13245169689Skan	* builtins.c (expand_builtin): Use expand_library_builtin.
13246169689Skan	(default_expand_library_builtin): New function.
13247169689Skan	* gcc.c (LINK_GCC_MATH_SPEC): Define.
13248169689Skan	(LINK_COMMAND_SPEC): Handle %(link_gcc_math).
13249169689Skan	(link_gcc_math_spec): Declare.
13250169689Skan	(static_specs): Add link_gcc_math_spec.
13251169689Skan	* expr.h (default_expand_library_builtin): Declare.
13252169689Skan	* target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
13253169689Skan	(TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
13254169689Skan	* config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
13255169689Skan	* config/i386/i386.opt (msselibm): New target option.
13256169689Skan	* config/i386/i386.c (ix86_builtin_function_variants): New array.
13257169689Skan	(ix86_init_sse_abi_builtins): New function.
13258169689Skan	(ix86_expand_library_builtin): Likewise.
13259169689Skan	(TARGET_EXPAND_LIBRARY_BUILTIN): Define.
13260169689Skan	(override_options): Handle error conditions wrt -msselibm.
13261169689Skan	(ix86_builtins): Add function codes for SSE2 ABI builtins.
13262169689Skan	(ix86_init_builtins): Call ix86_init_sse_abi_builtins.
13263169689Skan	* doc/extend.texi (__builtin_sse2_*): Document new target specific
13264169689Skan	builtins.
13265169689Skan
13266169689Skan2006-01-31  Richard Guenther  <rguenther@suse.de>
13267169689Skan	Paolo Bonzini  <bonzini@gnu.org>
13268169689Skan
13269169689Skan	* doc/install.texi (--disable-libgcc-math): Document.
13270169689Skan
13271169689Skan2006-01-30  Marcin Dalecki  <martin@dalecki.de>
13272169689Skan
13273169689Skan	* expr.h (expand_normal): new inline function.
13274169689Skan	* builtins.c: use it, use EXPAND_NORMAL explicitely.
13275169689Skan	* dojump.c: use it.
13276169689Skan	* dwarf2out.c: use it.
13277169689Skan	* expr.c: use it.
13278169689Skan	* calls.c: use it.
13279169689Skan	* expmed.c: use it.
13280169689Skan	* except.c: use it.
13281169689Skan	* config/sparc/sparc.c: use it.
13282169689Skan	* config/i386/i386.c: use it.
13283169689Skan	* config/rs6000/rs6000.c: use it.
13284169689Skan	* config/arm/arm.c: use it.
13285169689Skan	* config/mips/mips.c: use it.
13286169689Skan	* stmt.c: use it, use EXPAND_NORMAL explicitely.
13287169689Skan
13288169689Skan2006-01-30  Roger Sayle  <roger@eyesopen.com>
13289169689Skan
13290169689Skan	* config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast
13291169689Skan	argv to the appropriate type.
13292169689Skan
13293169689Skan2006-01-30  Zdenek Dvorak <dvorakz@suse.cz>
13294169689Skan
13295169689Skan	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove
13296169689Skan	unreachable code.
13297169689Skan
13298169689Skan2006-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
13299169689Skan
13300169689Skan	PR target/26018
13301169689Skan	* config/s390/s390.c (struct machine_function): New flag
13302169689Skan	decomposed_literal_pool_addresses_ok_p.
13303169689Skan	(s390_reorg): Set it before final stage of literal pool transforms.
13304169689Skan	(s390_decompose_address): Only accept displacements of the form
13305169689Skan	(minus (label_ref ...) (label_ref ...)) if that flag is set.
13306169689Skan
13307169689Skan2006-01-30  Carlos O'Donell  <carlos@codesourcery.com>
13308169689Skan
13309169689Skan	* optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
13310169689Skan	the comparison routine return.
13311169689Skan
13312169689Skan2006-01-30  Michael Matz  <matz@suse.de>
13313169689Skan
13314169689Skan	* global.c (find_reg): Only evict for global regs.
13315169689Skan	Take n_refs into account and dump more info.
13316169689Skan
13317169689Skan2006-01-30  J"orn Rennecke <joern.rennecke@st.com>
13318169689Skan
13319169689Skan	PR target/14798:
13320169689Skan	* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
13321169689Skan	(pragma_trap, pragma_nosave_low_regs): Likewise.
13322169689Skan	(current_function_anonymous_args): Likewise.
13323169689Skan	(sh_deferred_function_attributes): New variable.
13324169689Skan	(sh_deferred_function_attributes_tail): Likewise.
13325169689Skan	(print_operand): For '@', look up trap_exit attribute.
13326169689Skan	(calc_live_regs): Look up trapa_handler attribute.  For trapa
13327169689Skan	handlers, save/restore fpscr, but don't do any other
13328169689Skan	interrupt-specific saves.
13329169689Skan	Don't save r0..r7 if the nosave_low_regs attribute is in effect.
13330169689Skan	Fix check for partially saved registers to check for SHmedia.
13331169689Skan	(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
13332169689Skan	(sh_output_function_epilogue): Don't clear any of the removed
13333169689Skan	variables.
13334169689Skan	(sh_insert_attributes): Don't check pragma_interrupt.
13335169689Skan	Insert deferred attributes.  Check that interrupt attribute is
13336169689Skan	present for other attributes that require its presence.
13337169689Skan	(sh_attribute_table): Add new attributes trapa_handler and
13338169689Skan	nosave_low_regs.
13339169689Skan	(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
13340169689Skan	Don't check for pragma_interrupt.  Don't store argument.
13341169689Skan	* sh.h (pragma_interrupt, sp_switch): Don't declare.
13342169689Skan	(sh_deferred_function_attributes): Declare.
13343169689Skan	(sh_deferred_function_attributes_tail): Likewise.
13344169689Skan	* sh.md (sp_switch_1): Add operand.  Change generator caller.
13345169689Skan	(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
13346169689Skan	(*return_i): Don't use when trap_exit attribute is in effect.
13347169689Skan	(*return_trapa): New insn pattern.
13348169689Skan	* sh-c.c: New file.
13349169689Skan	* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
13350169689Skan	setting c_target_objs and cxx_target_objs.
13351169689Skan	* t-sh: Add rule for sh-c.o.
13352169689Skan
13353169689Skan2006-01-30  Richard Guenther  <rguenther@suse.de>
13354169689Skan
13355169689Skan	PR c++/23372
13356169689Skan	* gimplify.c (gimplify_target_expr): Handle easy cases
13357169689Skan	without creating a temporary.
13358169689Skan
13359169689Skan2006-01-30  Nathan Sidwell  <nathan@codesourcery.com>
13360169689Skan
13361169689Skan	* vec.h (safe_grow): Remove duplicated line.
13362169689Skan
13363169689Skan2006-01-29  Diego Novillo  <dnovillo@redhat.com>
13364169689Skan
13365169689Skan	PR 25874
13366169689Skan	* omp-low.c (execute_expand_omp): Move CFG cleanup code ...
13367169689Skan	(expand_omp): ... here.
13368169689Skan	(expand_omp_parallel): Only remove barriers for combined
13369169689Skan	parallel+workshare constructs.
13370169689Skan
13371169689Skan2006-01-29  Eric Botcazou  <ebotcazou@adacore.com>
13372169689Skan
13373169689Skan	Revert
13374169689Skan
13375169689Skan	2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
13376169689Skan	* tree.c (build_qualified_type): Chain the new type to the original
13377169689Skan	type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
13378169689Skan	a POINTER_TYPE or a REFERENCE_TYPE respectively.
13379169689Skan	(build_pointer_type_for_mode): Only return unqualified types.
13380169689Skan	(build_reference_type_for_mode): Likewise.
13381169689Skan
13382169689Skan2006-01-29  Gabriel Dos Reis  <gdr@integgrable-solutions.net>
13383169689Skan
13384169689Skan	* configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported.
13385169689Skan	* Makefile.in (CXX_COMPAT_WARN): Define.
13386169689Skan	* configure: Regenerate.
13387169689Skan
13388169689Skan2006-01-29  Dorit Nuzman  <dorit@il.ibm.com>
13389169689Skan
13390169689Skan	PR tree-opt/25911
13391169689Skan	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert
13392169689Skan	to an if check.
13393169689Skan
13394169689Skan2006-01-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13395169689Skan
13396169689Skan	* toplev.c: Fix thinko.
13397169689Skan
13398169689Skan2006-01-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13399169689Skan	    Marcin Dalecki  <martin@dalecki.de>
13400169689Skan
13401169689Skan	* toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.
13402169689Skan	(push_srcloc): Use XNEW.
13403169689Skan	(init_asm_output, default_get_pch_validity): Use XNEWVEC.
13404169689Skan
13405169689Skan2006-01-29  Kenneth Zadeck <zadeck@naturalbridge.com>
13406169689Skan
13407169689Skan	* df-core.c (df_set_blocks): Deleted all variable.
13408169689Skan
13409169689Skan2006-01-28  Ian Lance Taylor  <ian@airs.com>
13410169689Skan
13411169689Skan	* cgraphunit.c (cgraph_assemble_pending_functions): Call
13412169689Skan	cgraph_output_pending_asms.
13413169689Skan
13414169689Skan2006-01-28  Zack Weinberg  <zackw@panix.com>
13415169689Skan
13416169689Skan	* c.opt: Add -W(no-)overlength-strings.
13417169689Skan	* doc/invoke.texi: Document it.
13418169689Skan	* c-opts.c (c_common_handle_option): -pedantic implies
13419169689Skan	-Woverlength-strings, if not explicitly disabled already.
13420169689Skan	(c_common_post_options): -Woverlength-strings defaults to off, and
13421169689Skan	is always off for C++.
13422169689Skan	* c-common.c (fix_string_type): Issue warning about strings longer
13423169689Skan	than is portable only if warn_overlength_strings.  Rearrange code
13424169689Skan	a little for clarity.
13425169689Skan	* configure.in: Check for -Wno-overlength-strings as well before
13426169689Skan	enabling -pedantic in stage 1.
13427169689Skan	* Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings.
13428169689Skan	(gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete.
13429169689Skan
13430169689Skan	* genconditions.c (write_header, write_one_condition)
13431169689Skan	(write_conditions, write_writer): Consolidate very long strings
13432169689Skan	that were broken up to fit in C89 portable limit.  Don't use
13433169689Skan	printf when fputs will do.
13434169689Skan
13435169689Skan2006-01-28  Adam Nemet  <anemet@caviumnetworks.com>
13436169689Skan
13437169689Skan	* combine.c (simplify_comparison <AND>): Check
13438169689Skan	TRULY_NOOP_TRUNCATION before start using a subreg.
13439169689Skan
13440169689Skan	* config/mips/mips.md (*branch_zero<mode>,
13441169689Skan	*branch_zero<mode>_inverted, *branch_equality<mode>,
13442169689Skan	*branch_equality<mode>_inverted, *branch_equality<mode>_mips16):
13443169689Skan	Remove mode check from comparisons.
13444169689Skan
13445169689Skan2006-01-28  Kenneth Zadeck <zadeck@naturalbridge.com>
13446169689Skan
13447169689Skan	* config/mips/mips-protos.h (mips_set_live_on_entry): Deleted.
13448169689Skan
13449169689Skan2006-01-28  Kazu Hirata  <kazu@codesourcery.com>
13450169689Skan
13451169689Skan	* expmed.c (const_mult_add_overflow_p): Remove.
13452169689Skan	* expr.h: Remove the prototype for const_mult_add_overflow_p.
13453169689Skan
13454169689Skan	* recog.c (validate_replace_rtx_subexp): Remove.
13455169689Skan	* recog.h: Remove the prototype for
13456169689Skan	validate_replace_rtx_subexp.
13457169689Skan
13458169689Skan	* integrate.h: Remove the prototype for
13459169689Skan	copy_decl_for_inlining.
13460169689Skan	* rtl.h: Remove the prototype for mark_constant_function.
13461169689Skan	* tree-vectorizer.h: Remove the prototype for
13462169689Skan	vect_strip_conversion.
13463169689Skan
13464169689Skan	* modulo-sched.c (create_partial_schedule,
13465169689Skan	free_partial_schedule, reset_partial_schedule): Make them
13466169689Skan	static.
13467169689Skan
13468169689Skan	* hooks.c (hook_bool_rtx_int_false): Remove.
13469169689Skan	* hooks.h: Remove the prototype for hook_bool_rtx_int_false.
13470169689Skan
13471169689Skan2006-01-28  David Edelsohn  <edelsohn@gnu.org>
13472169689Skan
13473169689Skan	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
13474169689Skan	and -mlong-double-128 are incompatible.
13475169689Skan	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
13476169689Skan	* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
13477169689Skan	(TARGET_LIBGCC2_CFLAGS): Define.
13478169689Skan	* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
13479169689Skan	(TARGET_LIBGCC2_CFLAGS): Same.
13480169689Skan	* config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
13481169689Skan
13482169689Skan2006-01-28  Kazu Hirata  <kazu@codesourcery.com>
13483169689Skan
13484169689Skan	PR c/19606.
13485169689Skan	* c-typeck.c (build_binary_op): Perform implicit casts of
13486169689Skan	operands before shortening them.
13487169689Skan
13488169689Skan	* cfgloopmanip.c (split_loop_bb): Remove.
13489169689Skan	* cfgloop.h: Remove the prototype for split_loop_bb.
13490169689Skan
13491169689Skan	* cfgloop.c (flow_loop_outside_edge_p): Remove.
13492169689Skan	* cfgloop.h: Remove the prototype for
13493169689Skan	flow_loop_outside_edge_p.
13494169689Skan
13495169689Skan	* emit-rtl.c (init_virtual_regs): Make it static.
13496169689Skan	* function.h: Remove the prototype for init_virtual_regs.
13497169689Skan
13498169689Skan	* recog.c (peephole2_optimize): Make it static.
13499169689Skan	* recog.h: Remove the prototype for peephole2_optimize.
13500169689Skan
13501169689Skan2006-01-27  H.J. Lu  <hongjiu.lu@intel.com>
13502169689Skan
13503169689Skan	* df-scan.c (df_record_entry_block_defs): Check if
13504169689Skan	INCOMING_RETURN_ADDR_RTX is defined.
13505169689Skan
13506169689Skan2006-01-27  Daniel Berlin  <dberlin@dberlin.org>
13507169689Skan	    Kenneth Zadeck <zadeck@naturalbridge.com>
13508169689Skan
13509169689Skan	PR rtl-optimization/24762
13510169689Skan	* doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY.
13511169689Skan	* targhooks.c (hook_void_bitmap): New hook prototype.
13512169689Skan	* targhoohs.h (hook_void_bitmap): Ditto.
13513169689Skan	* bitmap.h (bitmap_head_def): Moved to coretypes.h.
13514169689Skan	* coretypes.h (bitmap_head_def): Moved from bitmap.h.
13515169689Skan	* target.h (live_on_entry): New function pointer.
13516169689Skan	* df-scan.c (df_all_hard_regs): Removed.
13517169689Skan	(df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs.
13518169689Skan	(df_scan_free_internal): Added df->entry_block_defs.
13519169689Skan	(df_scan_alloc): Ditto.
13520169689Skan	(df_scan_dump): Ditto.
13521169689Skan	(df_uses_record): Plumbed flag field properly thru calls.
13522169689Skan	Record EH_RETURN_DATA_REGNO in eh blocks unconditionally.
13523169689Skan	This part fixes PR24762.
13524169689Skan	(df_bb_refs_record): Added code to make the frame and arg
13525169689Skan	pointers live in EH blocks.
13526169689Skan	(df_refs_record): Added call to df_record_entry_block_defs.
13527169689Skan	(df_record_entry_block_defs): New function.
13528169689Skan	* df-core.c: Added comments to describe new artifical defs.
13529169689Skan	* df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags.
13530169689Skan	(entry_block_defs): New field in struct df.
13531169689Skan	(df_all_hard_regs): Deleted.
13532169689Skan	* target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY.
13533169689Skan	* df-problems.c (df_ru_bb_local_compute_process_def):
13534169689Skan	Added code to handle artifical defs in the entry to a function.
13535169689Skan	(df_ru_bb_local_compute): Ditto.
13536169689Skan	(df_rd_bb_local_compute_process_def): Ditto.
13537169689Skan	(df_rd_bb_local_compute): Ditto.
13538169689Skan	(df_lr_bb_local_compute): Ditto.
13539169689Skan	(df_ur_bb_local_compute): Ditto.
13540169689Skan	(df_urec_bb_local_compute): Ditto.
13541169689Skan	(df_chain_create_bb): Ditto.
13542169689Skan	(df_ur_local_finalize):	Removed entry.
13543169689Skan	(df_urec_init): Ditto.
13544169689Skan	(df_urec_local_finalize): Ditto.
13545169689Skan	(df_ri_bb_compute): Added detection of last use of pseudos.
13546169689Skan	* Makefile.in (df-scan.o): Updated dependencies.
13547169689Skan	* config/mips/mips-protos.h (mips_set_live_on_entry): Added.
13548169689Skan	* config/mips/mips.c (mips_set_live_on_entry): Added.
13549169689Skan	* config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value
13550169689Skan	for target hook.
13551169689Skan	* dce.c (marked_insn_p): Added code to handle artifical defs.
13552169689Skan
13553169689Skan2006-01-27  H.J. Lu  <hongjiu.lu@intel.com>
13554169689Skan
13555169689Skan	* config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel
13556169689Skan	intrinsic.
13557169689Skan	(_mm_cvtsi128_si64): Likewise.
13558169689Skan	(_mm_cvtsd_si64): Likewise.
13559169689Skan	(_mm_cvttsd_si64): Likewise.
13560169689Skan	(_mm_cvtsi64_sd): Likewise.
13561169689Skan	(_mm_cvtsi64_si128): Likewise.
13562169689Skan	* config/i386/mmintrin.h (_m_from_int64): Likewise.
13563169689Skan	(_mm_cvtsi64_m64): Likewise.
13564169689Skan	(_m_to_int64): Likewise.
13565169689Skan	(_mm_cvtm64_si64): Likewise.
13566169689Skan	* config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise.
13567169689Skan	(_mm_cvttss_si64): Likewise.
13568169689Skan	(_mm_cvtsi64_ss): Likewise.
13569169689Skan	(_mm_cvtss_f32): Likewise.
13570169689Skan
13571169689Skan2006-01-27  Carlos O'Donell  <carlos@codesourcery.com>
13572169689Skan
13573169689Skan	* c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion
13574169689Skan	for pragma redefine_extname.
13575169689Skan
13576169689Skan2006-01-27  Jakub Jelinek  <jakub@redhat.com>
13577169689Skan
13578169689Skan	PR target/25864
13579169689Skan	* libgcc-std.ver: Add GCC_4.1.0 symbol version.
13580169689Skan	* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
13581169689Skan	-mno-minimal-toc to previous content.
13582169689Skan	(bispecs): Remove goal.
13583169689Skan	* config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
13584169689Skan	* config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
13585169689Skan	compatibility aliases on powerpc-*-*gnu*.
13586169689Skan	* config/rs6000/libgcc-ppc-glibc.ver: New file.
13587169689Skan	* config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
13588169689Skan	libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
13589169689Skan	(TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
13590169689Skan	(ldblspecs): New goal.
13591169689Skan	* config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
13592169689Skan	* mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
13593169689Skan	_df_to_tf.
13594169689Skan	* config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
13595169689Skan	L_sf_to_tf or L_df_to_tf is defined.
13596169689Skan
13597169689Skan2006-01-27  David Edelsohn  <edelsohn@gnu.org>
13598169689Skan	    Alan Modra  <amodra@bigpond.net.au>
13599169689Skan
13600169689Skan	PR target/25864
13601169689Skan	* config/rs6000/linux.h (POWERPC_LINUX): Define.
13602169689Skan	* config/rs6000/linux64.h (POWERPC_LINUX): Define.
13603169689Skan	* config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
13604169689Skan	* config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
13605169689Skan	* config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
13606169689Skan	* config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
13607169689Skan	(rs6000_override_options): Initialize rs6000_ieeequad.
13608169689Skan	Initialize TFmode format to ibm_extended_format if not
13609169689Skan	TARGET_IEEEQUAD.
13610169689Skan	(rs6000_handle_option): Accept -mabi= ibmlongdouble and
13611169689Skan	ieeelongdouble.
13612169689Skan	(rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
13613169689Skan	(rs6000_return_in_memory): Only return IEEEQUAD in memory.
13614169689Skan	(function_arg_advance): IBM long double passed in two FPRs, not
13615169689Skan	split.
13616169689Skan	(function_arg): IBM long double passed in FPRs.
13617169689Skan	(rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
13618169689Skan	(rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
13619169689Skan	Only multireg GPR aligned.
13620169689Skan	(rs6000_init_libfuncs): Enable IBM long double functions if not
13621169689Skan	IEEEQUAD.
13622169689Skan	(rs6000_generate_compare): Use IBM long double compare if not
13623169689Skan	TARGET_IEEEQUAD.
13624169689Skan	* config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
13625169689Skan	(TARGET_IEEEQUAD): Define.
13626169689Skan	(CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
13627169689Skan	not TARGET_IEEEQUAD.
13628169689Skan	* config/rs6000/rs6000.md: Enable TFmode patterns if
13629169689Skan	!TARGET_IEEEQUAD.
13630169689Skan	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
13631169689Skan	* config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
13632169689Skan	and -mlong-double-128 are incompatible.
13633169689Skan	* doc/invoke.texi (-mabi): Collect options together.  Add
13634169689Skan	ibmlongdouble and ieeelongdouble.
13635169689Skan
13636169689Skan2006-01-27  Richard Sandiford  <richard@codesourcery.com>
13637169689Skan
13638169689Skan	* doc/rtl.texi (SYMBOL_REF_DATA): Adjust documentation for new
13639169689Skan	opaque type.
13640169689Skan	* optabs.c (init_one_libfunc): Use SET_SYMBOL_REF_DECL.
13641169689Skan	* varasm.c (make_decl_rtl, build_constant_desc): Likewise.
13642169689Skan	(force_const_mem): Use SET_SYMBOL_REF_CONSTANT.
13643169689Skan	* rtl.h (rtunion_def): Remove rt_ptr.
13644169689Skan	(X0PTR): Delete.
13645169689Skan	(SYMBOL_REF_DATA): Use X0ANY instead of X0PTR.
13646169689Skan	(SET_SYMBOL_REF_DECL, SET_SYMBOL_REF_CONSTANT): New macros.
13647169689Skan	* config/i386/winnt.c (i386_pe_mark_dllexport)
13648169689Skan	(i386_pe_mark_dllimport): Use SET_SYMBOL_REF_DECL.
13649169689Skan
13650169689Skan2006-01-27 Gabor Loki <loki@gcc.gnu.org>
13651169689Skan
13652169689Skan	* cfgcleanup.c (try_crossjump_to_edge): Fix comment typo.
13653169689Skan
13654169689Skan2006-01-26 Alexandre Oliva  <aoliva@redhat.com>
13655169689Skan
13656169689Skan	PR other/24829
13657169689Skan	PR target/24831
13658169689Skan	* gthr-dce.h: Do not gthrw-ify pthread_once_init,
13659169689Skan	pthread_key_delete.  From John David Anglin.  gthrw-ify
13660169689Skan	pthread_getunique_np only if it it's not a macro.  Delete
13661169689Skan	UNUSED macro.
13662169689Skan	(__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate,
13663169689Skan	__gthread_objc_condition_wait, __gthread_objc_condition_broadcast,
13664169689Skan	__gthread_objc_condition_signal, __gthread_key_delete): Add
13665169689Skan	"__attribute__ ((__unused__))" to unused arguments.
13666169689Skan	(__gthread_recursive_mutex_init_function): Add missing return.
13667169689Skan	* gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h,
13668169689Skan	gthr-posix95.h: Use macro-based approach for name redirection
13669169689Skan	on targets missing weakref.
13670169689Skan
13671169689Skan2006-01-26  Zack Weinberg  <zackw@panix.com>
13672169689Skan
13673169689Skan	* genconditions.c (write_header): In generated code, #ifdef out
13674169689Skan	all includes and fake declarations, except includes of bconfig.h
13675169689Skan	and system.h, unless GCC_VERSION >= 3001.  Do not include
13676169689Skan	gensupport.h in any case.
13677169689Skan	(write_conditions): Generate a definition of struct c_test.  Add
13678169689Skan	a comment to the generated #endif.
13679169689Skan	(write_one_condition): Escape backslashes in string too.
13680169689Skan	(write_writer): Generated code must escape backslashes and quote
13681169689Skan	marks (but not newlines) in the strings it writes.
13682169689Skan	* Makefile.in (build/gencondmd.o): Update dependencies.
13683169689Skan
13684169689Skan2006-01-26  Steve Ellcey  <sje@cup.hp.com>
13685169689Skan
13686169689Skan	PR target/25961
13687169689Skan	* Makefile.in (insn-automata.o): Add header file dependencies.
13688169689Skan	* genautomata.c: Add includes.
13689169689Skan
13690169689Skan2006-01-26  Steve Ellcey  <sje@cup.hp.com>
13691169689Skan
13692169689Skan	PR target/25961
13693169689Skan	* Makefile.in (insn-automata.o): Add -Wno-error flag.
13694169689Skan
13695169689Skan2006-01-26  Paolo Bonzini  <bonzini@gnu.org>
13696169689Skan
13697169689Skan	* configure.ac: Expect target tools paths to be passed from the toplevel
13698169689Skan	and wrap the detection into AS_SET_VAR_IF.  Extract side-effects out of
13699169689Skan	AS_SET_VAR_IF.
13700169689Skan	* acinclude.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL): Remove.
13701169689Skan
13702169689Skan2006-01-26  Alexandre Oliva  <aoliva@redhat.com>
13703169689Skan
13704169689Skan	PR c/25892
13705169689Skan	* c.opt (Wpointer-sign): Init to -1.
13706169689Skan	* c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and
13707169689Skan	OPT_pedantic, to 0 otherwise.
13708169689Skan	* doc/invoke.texi: Update.
13709169689Skan
13710169689Skan2006-01-26  Paolo Bonzini  <bonzini@gnu.org>
13711169689Skan
13712169689Skan	* config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Emit
13713169689Skan	constants provided by 80387 instructions in the destination mode.
13714169689Skan
13715169689Skan2006-01-26  Richard Guenther  <rguenther@suse.de>
13716169689Skan	    Andrew Pinski  <pinskia@physics.uc.edu>
13717169689Skan
13718169689Skan	PR tree-opt/21470
13719169689Skan	partial PR tree-opt/17064
13720169689Skan	* tree-ssa-structalias.c (intra_create_variable_infos):
13721169689Skan	Create heap variables for incoming parameters if
13722169689Skan	flag_argument_noalias > 1.
13723169689Skan	(find_what_p_points_to): Look through default defs of
13724169689Skan	parameter decls.
13725169689Skan
13726169689Skan2006-01-26  Jeff Law  <law@redhat.com>
13727169689Skan
13728169689Skan	PR ada/25900
13729169689Skan	* tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE
13730169689Skan	with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained
13731169689Skan	within the VR_RANGE, use the VR_RANGE as the result, not the
13732169689Skan	VR_ANTI_RANGE.
13733169689Skan	(adjust_range_with_scev): Reject ranges from SCEV which are out of
13734169689Skan	bounds for the type.
13735169689Skan
13736169689Skan2006-01-26  Daniel Berlin  <dberlin@dberlin.org>
13737169689Skan
13738169689Skan	* tree-ssa-alias.c (maybe_create_global_var): Change
13739169689Skan	subvar walking to an assertion that we don't have subvar'd variables.
13740169689Skan
13741169689Skan2006-01-26  Andrew Pinski  <pinskia@physics.uc.edu>
13742169689Skan
13743169689Skan	PR C/25861
13744169689Skan	* c-common.c (c_common_truthvalue_conversion) <case ADDR_EXPR>:
13745169689Skan	Use a new variable, inner.  PARM_DECLs are always non-weak.
13746169689Skan
13747169689Skan2006-01-26  Shantonu Sen  <ssen@opendarwin.org>
13748169689Skan
13749169689Skan	* tree.h (OMP_CLAUSE_SUBCODE_CHECK): Add definition for
13750169689Skan	--disable-checking.
13751169689Skan
13752169689Skan2006-01-26  Adam Nemet  <anemet@caviumnetworks.com>
13753169689Skan
13754169689Skan	* config/mips/mips.md (*clear_upper32): New combiner pattern.
13755169689Skan
13756169689Skan2006-01-26  Richard Earnshaw  <richard.earnshaw@arm.com>
13757169689Skan
13758169689Skan	* arm.md (smaxsi3, sminsi3): Convert to define_expand.
13759169689Skan	(smax_insn, smin_insn, smax_0, smin_0): New.
13760169689Skan
13761169689Skan2006-01-26  Hans-Peter Nilsson  <hp@axis.com>
13762169689Skan
13763169689Skan	PR target/25947
13764169689Skan	* config/cris/cris.c (cris_order_for_addsi3): New function.
13765169689Skan	* config/cris/cris-protos.h: Prototype it.
13766169689Skan	* config/cris/cris.md (split for "move.S1 [rx=rx+i],ry")
13767169689Skan	(split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]")
13768169689Skan	(split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry")
13769169689Skan	(split for "op.S1 [rx=rx+i],ry (swapped)")
13770169689Skan	(split for "op(s|u).S1 [rx=rx+i],ry")
13771169689Skan	(split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"):
13772169689Skan	Apply cris_order_for_addsi3 when generating addsi3 insns.
13773169689Skan
13774169689Skan2006-01-25  Diego Novillo  <dnovillo@redhat.com>
13775169689Skan
13776169689Skan	* tree.h (TREE_RANGE_CHECK): Fix range predicate.
13777169689Skan	(TREE_BLOCK): Add call to EXPR_CHECK.
13778169689Skan
13779169689Skan2006-01-25  Diego Novillo  <dnovillo@redhat.com>
13780169689Skan
13781169689Skan	PR 25886
13782169689Skan	* tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE.
13783169689Skan	* tree-pretty-print.c (dump_omp_clause): Extract from ...
13784169689Skan	(dump_omp_clauses): ... here.
13785169689Skan	(dump_generic_node): Handle OMP_CLAUSE.
13786169689Skan	* tree.c (omp_clause_num_ops): New.
13787169689Skan	(omp_clause_code_name): New.
13788169689Skan	(tree_code_size): Handle OMP_CLAUSE.
13789169689Skan	(tree_size): Likewise.
13790169689Skan	(make_node): Document handling of OMP_CLAUSE.
13791169689Skan	(tree_node_structure): Handle OMP_CLAUSE.
13792169689Skan	(omp_clause_check_failed): New.
13793169689Skan	(omp_clause_range_check_failed): New.
13794169689Skan	(omp_clause_operand_check_failed): New.
13795169689Skan	(build_omp_clause): New.
13796169689Skan	(walk_tree): Adjust handling of OMP_CLAUSE_* nodes.
13797169689Skan	* tree.h (enum omp_clause_code): Declare.
13798169689Skan	(OMP_CLAUSE_SUBCODE_CHECK): Define.
13799169689Skan	(OMP_CLAUSE_RANGE_CHECK): Define.
13800169689Skan	(OMP_CLAUSE_ELT_CHECK): Define.
13801169689Skan	(omp_clause_check_failed): Declare.
13802169689Skan	(omp_clause_operand_check_failed): Declare.
13803169689Skan	(omp_clause_range_check_failed): Declare.
13804169689Skan	(OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK.
13805169689Skan	(OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK.
13806169689Skan	(OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK.
13807169689Skan	(OMP_CLAUSE_LASTPRIVATE): Likewise.
13808169689Skan	(OMP_CLAUSE_IF_EXPR): Likewise.
13809169689Skan	(OMP_CLAUSE_NUM_THREADS_EXPR): Likewise.
13810169689Skan	(OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise.
13811169689Skan	(OMP_CLAUSE_REDUCTION_CODE): Likewise.
13812169689Skan	(OMP_CLAUSE_REDUCTION_INIT): Likewise.
13813169689Skan	(OMP_CLAUSE_REDUCTION_MERGE): Likewise.
13814169689Skan	(OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise.
13815169689Skan	Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY.
13816169689Skan	(OMP_CLAUSE_SCHEDULE_KIND): Likewise.
13817169689Skan	(OMP_CLAUSE_DEFAULT_KIND): Likewise.
13818169689Skan	(OMP_CLAUSE_CODE): Define.
13819169689Skan	(OMP_CLAUSE_SET_CODE): Define.
13820169689Skan	(OMP_CLAUSE_CODE): Define.
13821169689Skan	(OMP_CLAUSE_OPERAND): Define.
13822169689Skan	(struct tree_omp_clause): Declare.
13823169689Skan	(union tree_node): Add field 'omp_clause'.
13824169689Skan	* treestruct.def (TS_OMP_CLAUSE): Define.
13825169689Skan	* tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED
13826169689Skan	OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
13827169689Skan	OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN,
13828169689Skan	OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF,
13829169689Skan	OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE,
13830169689Skan	OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove.
13831169689Skan	(OMP_CLAUSE): Define.
13832169689Skan	* print-tree.c (print_node): Handle OMP_CLAUSE.
13833169689Skan	* omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes.
13834169689Skan	* c-typeck.c: Likewise.
13835169689Skan	* gimplify.c: Likewise.
13836169689Skan	* c-omp.c: Likewise.
13837169689Skan	* tree-nested.c: Likewise.
13838169689Skan	* tree-inline.c: Likewise.
13839169689Skan	* c-parser.c: Likewise.
13840169689Skan	* gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on
13841169689Skan	clauses.
13842169689Skan
13843169689Skan2006-01-25  Roger Sayle  <roger@eyesopen.com>
13844169689Skan
13845169689Skan	PR rtl-optimization/25703
13846169689Skan	* combine.c (try_combine): Handle zero_extract and strict_low_part
13847169689Skan	of non-lowpart SUBREGs for constant reg_subword_p set optimization.
13848169689Skan
13849169689Skan2006-01-25  Peter Bergner  <bergner@vnet.ibm.com>
13850169689Skan
13851169689Skan	* global.c: Fix comment typos.
13852169689Skan
13853169689Skan2006-01-25  Andrew Pinski  <pinskia@physics.uc.edu>
13854169689Skan
13855169689Skan	PR target/25758
13856169689Skan	* config/i386/i386.c (output_pic_addr_const) <case SYMBOL_REF>:
13857169689Skan	Use output_addr_const instead of assemble_name.
13858169689Skan
13859169689Skan2006-01-25  Paolo Bonzini  <bonzini@gnu.org>
13860169689Skan
13861169689Skan	* Makefile.in (sched-vis.o): Update dependencies.
13862169689Skan	* haifa-sched.c (sched_finish): Clear current_sched_info.
13863169689Skan	* cfg.c (dump_bb_info): New, split from dump_flow_info.
13864169689Skan	(dump_flow_info): Call it.
13865169689Skan	* passes.c (execute_todo): Call print_rtl_slim_with_bb to make
13866169689Skan	a slim RTL dump.
13867169689Skan	* basic-block.h (dump_bb_info): Declare.
13868169689Skan	* tree-dump.c (dump_enable_all): OR the flags of a -fdump-tree-all
13869169689Skan	option, and apply options only for dump files whose TDF_RTL,
13870169689Skan	TDF_TREE, or TDF_IPA bits match.
13871169689Skan	* rtl.h: Declare new functions exported from sched-vis.c.
13872169689Skan	* sched-vis.c: Enable also if scheduling is not used.
13873169689Skan	(print_value): Print the mode of registers if not inside scheduling.
13874169689Skan	(print_insn): Make it work outside the scheduler.  Beautify the output
13875169689Skan	a bit.
13876169689Skan	(dump_insn_slim, debug_insn_slim, print_rtl_slim_with_bb): New.
13877169689Skan
13878169689Skan2006-01-25  Richard Sandiford  <richard@codesourcery.com>
13879169689Skan
13880169689Skan	* doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
13881169689Skan	* gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
13882169689Skan	a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
13883169689Skan	depending on the value of CONSTANT_POOL_ADDRESS_P.
13884169689Skan	* optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
13885169689Skan	SYMBOL_REF_DECL.
13886169689Skan	* varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
13887169689Skan	rather than SYMBOL_REF_DECL.
13888169689Skan	(rtx_constant_pool): Remove const_rtx_sym_htab.
13889169689Skan	(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
13890169689Skan	(init_varasm_status): Don't initialize const_rtx_sym_htab.
13891169689Skan	(force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
13892169689Skan	Remove handling of const_rtx_sym_htab.
13893169689Skan	(find_pool_constant): Delete.
13894169689Skan	(get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
13895169689Skan	rather than find_pool_constant.
13896169689Skan	(get_pool_constant_for_function): Delete.
13897169689Skan	(get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
13898169689Skan	find_pool_constant.
13899169689Skan	* rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
13900169689Skan	(X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
13901169689Skan	(SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
13902169689Skan	(SYMBOL_REF_CONSTANT): New macro.
13903169689Skan	(get_pool_constant_for_function): Delete.
13904169689Skan	* config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
13905169689Skan	rather than SYMBOL_REF_DECL.
13906169689Skan	(i386_pe_mark_dllimport): Likewise.
13907169689Skan	* config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
13908169689Skan	rather than SYMBOL_REF_DECL.
13909169689Skan	* config/darwin.c (machopic_indirect_data_reference): Likewise.
13910169689Skan	(machopic_indirect_call_target): Likewise.
13911169689Skan
13912169689Skan2006-01-25  Eric Botcazou  <ebotcazou@adacore.com>
13913169689Skan
13914169689Skan	* flow.c (delete_noop_moves): Add missing EOL to dump message.
13915169689Skan
13916169689Skan2006-01-25  Richard Sandiford  <richard@codesourcery.com>
13917169689Skan
13918169689Skan	* genattrtab.c (gen_bypass): Allow bypasses to contain whitespace.
13919169689Skan
13920169689Skan2006-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
13921169689Skan
13922169689Skan	* config/sh/predicates.md (sh_register_operand): Accept CONST_DOUBLE.
13923169689Skan
13924169689Skan2006-01-24  David Daney  <ddaney@avtrex.com>
13925169689Skan
13926169689Skan	PR java/25816
13927169689Skan	* configure.ac (enable_tls): New enable option.
13928169689Skan	(HAVE_AS_TLS): Don't do assembler check if enable_tls set.
13929169689Skan	* configure: Regenerate.
13930169689Skan	* doc/install.texi (--enable-tls): Document new option.
13931169689Skan	(--disable-tls): Ditto.
13932169689Skan
13933169689Skan2006-01-24  Richard Henderson  <rth@redehat.com>
13934169689Skan
13935169689Skan	* alias.h (ALIAS_SET_MEMORY_BARRIER): New.
13936169689Skan	* alias.c (true_dependence): Respect it.
13937169689Skan	(canon_true_dependence, write_dependence_p): Likewise.
13938169689Skan	* builtins.c (get_builtin_sync_mem): Set it.
13939169689Skan
13940169689Skan2006-01-25  Zdenek Dvorak <dvorakz@suse.cz>
13941169689Skan
13942169689Skan	* loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
13943169689Skan	efficient way.
13944169689Skan
13945169689Skan2006-01-24  DJ Delorie  <dj@redhat.com>
13946169689Skan
13947169689Skan	* expmed.c (store_bit_field): Don't arbitrarily deny using insv
13948169689Skan	for storing constants in single-bit bitfields.
13949169689Skan
13950169689Skan2006-01-25  Ben Elliston  <bje@au.ibm.com>
13951169689Skan
13952169689Skan	* dfp.c (dfp_byte_swap): Use uint32_t and not unsigned long.
13953169689Skan
13954169689Skan2006-01-24  Andrew Pinski  <pinskia@physics.uc.edu>
13955169689Skan
13956169689Skan	PR tree-opt/25860
13957169689Skan	* tree-ssa-pre.c (phi_translate): Return NULL
13958169689Skan	for AGGREGATE_TYPE's.
13959169689Skan
13960169689Skan2006-01-24  Zack Weinberg  <zackw@panix.com>
13961169689Skan
13962169689Skan	* genautomata.c (process_state_for_insn_equiv_partition):
13963169689Skan	Use xcalloc for insn_arcs_array.
13964169689Skan	* vec.h (DEF_VEC_ALLOC_FUNC_I): New set of templates.
13965169689Skan	(DEF_VEC_ALLOC_I): Use it, not DEF_VEC_ALLOC_FUNC_P.
13966169689Skan
13967169689Skan2006-01-24  Richard Henderson  <rth@redhat.com>
13968169689Skan
13969169689Skan	* genextract.c (VEC_safe_set_locstr): Take VEC by reference;
13970169689Skan	update all callers.
13971169689Skan
13972169689Skan2006-01-23  Paolo Bonzini  <bonzini@gnu.org>
13973169689Skan
13974169689Skan	PR rtl-optimization/25890
13975169689Skan	PR rtl-optimization/25905
13976169689Skan	* combine.c (expand_compound_operation, expand_field_assignment):
13977169689Skan	Fail if the bitfield's final position is out of bounds.
13978169689Skan
13979169689Skan2006-01-24  Ian Lance Taylor  <ian@airs.com>
13980169689Skan
13981169689Skan	PR middle-end/25930
13982169689Skan	* cgraphunit.c (cgraph_output_in_order): Don't clear
13983169689Skan	cgraph_asm_nodes until after asm strings have been output.
13984169689Skan
13985169689Skan2006-01-23  Adam Nemet  <anemet@caviumnetworks.com>
13986169689Skan
13987169689Skan	* fix-header.c (read_scan_file): Add new parameter imultilib when
13988169689Skan	calling register_include_chains.
13989169689Skan
13990169689Skan2006-01-23  Diego Novillo  <dnovillo@redhat.com>
13991169689Skan
13992169689Skan	* omp-low.c: Update documentation.
13993169689Skan
13994169689Skan2006-01-23  Andrew Pinski  <pinskia@physics.uc.edu>
13995169689Skan	    Daniel Berlin  <dberlin@dberlin.org>
13996169689Skan
13997169689Skan	PR tree-opt/25315
13998169689Skan	PR tree-opt/25857
13999169689Skan	* tree-ssa-pre.c (insert_extra_phis): If an incomming edge is abnormal
14000169689Skan	return from the function.
14001169689Skan
14002169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14003169689Skan
14004169689Skan	* rtl.def (match_code): Add second argument.
14005169689Skan	* genpreds.c (write_extract_subexp): New function.
14006169689Skan	(write_match_code): Add path argument.  Use write_extract_subexp.
14007169689Skan	(write_predicate_expr): Pass path to write_match_code.
14008169689Skan	(mark_mode_tests): MATCH_CODE applied to a subexpression does
14009169689Skan	not perform a mode test.
14010169689Skan	* genrecog.c (compute_predicate_codes): MATCH_CODE applied to
14011169689Skan	a subexpression does not constrain the top-level code set.
14012169689Skan	* read-rtl.c (read_rtx_variadic): New function.
14013169689Skan	(read_rtx_1): Use it; allow AND and IOR to be variadic.
14014169689Skan	* doc/md.texi: Document new notation.
14015169689Skan	* config/i386/predicates.md (cmpsi_operand_1): Fold into ...
14016169689Skan	(cmpsi_operand): ... here, using new notation.
14017169689Skan
14018169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14019169689Skan
14020169689Skan	* varray.c: Remove GENERATOR_FILE #ifdefs.
14021169689Skan
14022169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14023169689Skan
14024169689Skan	* genautomata.c (output_reserved_units_table): Emit nothing if
14025169689Skan	description->query_units_num is zero.  Remove extra blank line.
14026169689Skan	(output_cpu_unit_reservation_p): Short circuit
14027169689Skan	if description->query_units_num is zero.
14028169689Skan
14029169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14030169689Skan
14031169689Skan	* genattrtab.c: Don't include genattrtab.h.  Define ATTR_NONE
14032169689Skan	and ATTR_SPECIAL (from genattrtab.h).  Don't define num_dfa_decls
14033169689Skan	nor any of the random handful of variables that used to be necessary
14034169689Skan	when this program was linked with rtlanal.o.  Prune set of forward
14035169689Skan	function declarations.
14036169689Skan	(struct attr_desc): Remove static_p field.
14037169689Skan	(hash_obstack, temp_obstack, attr_hash_table, attr_printf)
14038169689Skan	(check_attr_test, make_internal_attr, make_numeric_value): Make static.
14039169689Skan	(attr_string): Do not read the character one past the length of
14040169689Skan	the string.
14041169689Skan	(write_attr_get, find_attr, make_internal_attr): Don't touch static_p.
14042169689Skan	(struct insn_reserv, all_insn_reservs, last_insn_reserv_p)
14043169689Skan	(n_insn_reservs, gen_insn_reserv, struct bypass_list, all_bypasses)
14044169689Skan	(n_bypasses, gen_bypass_1, gen_bypass, process_bypasses)
14045169689Skan	(make_automaton_attrs): New.
14046169689Skan	(main): Do not call into genautomata.  Call local gen_bypass
14047169689Skan	and gen_insn_reserv as appropriate.  Call make_automaton_attrs.
14048169689Skan	Remove special case for insn_alts.
14049169689Skan	* genautomata.c: Include gensupport.h; not genattrtab.h nor
14050169689Skan	varray.h (leftover from previous change).  Prune set of forward
14051169689Skan	function declarations.  Remove state_alts fields from all
14052169689Skan	structures.  Remove state_alts_table from struct automaton.
14053169689Skan	Make everything except main static.  Do not maintain num_dfa_decls.
14054169689Skan	Do not maintain state_alts fields of various structures.
14055169689Skan	(process_decls): Don't validate condexp for dm_insn_reserv decls.
14056169689Skan	(add_arc): Remove state_alts argument.  All callers updated.
14057169689Skan	(output_reserved_units_table): Emit #ifdef here...
14058169689Skan	(output_tables): ...not here.  Don't generate state_alts tables.
14059169689Skan	(expand_automata): Don't generate attributes.
14060169689Skan	(write_automata): Don't generate state_alts functions.
14061169689Skan	(main): New function.
14062169689Skan	(it_is_empty_reserv_sets, output_state_alts_full_vect_name)
14063169689Skan	(output_state_alts_comb_vect_name, output_state_alts_check_vect_name)
14064169689Skan	(AUTOMATON_STATE_ALTS_MACRO_NAME, INTERNAL_STATE_ALTS_FUNC_NAME)
14065169689Skan	(STATE_ALTS_FUNC_NAME, INSN_DEFAULT_LATENCY_FUNC_NAME)
14066169689Skan	(BYPASS_P_FUNC_NAME, output_state_alts_table)
14067169689Skan	(output_automata_list_state_alts_code, output_internal_state_alts_func)
14068169689Skan	(output_state_alts_func, make_insn_alts_attr, make_bypass_attr)
14069169689Skan	(make_internal_dfa_insn_code_attr, make_default_insn_latency_attr):
14070169689Skan	Delete.
14071169689Skan	* genattr.c: Declare internal_dfa_insn_code in insn-attr.h.
14072169689Skan	* genattrtab.h: Delete file.
14073169689Skan	* Makefile.in (OBJS-common): Add insn-automata.o.
14074169689Skan	(insn-automata.o): New rule.
14075169689Skan	(simple_generated_c): Add insn-automata.c.
14076169689Skan	(build/genattrtab.o, build/genautomata.o): Update dependencies.
14077169689Skan	(genprogmd): Add automata.
14078169689Skan	(build/genattrtab): Needs no extra objects nor libraries.
14079169689Skan	(build/genautomata): Needs build/vec.o and -lm.
14080169689Skan
14081169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14082169689Skan
14083169689Skan	* genautomata.c (process_state_longest_path, max_dfa_issue_rate)
14084169689Skan	(output_dfa_max_issue_rate, locked_states_num): Delete.
14085169689Skan	(struct automaton): Add locked_states field.
14086169689Skan	(output_dead_lock_vect): Save number of locked states in
14087169689Skan	automaton->locked_states.  If it is zero, don't print anything.
14088169689Skan	(output_max_insn_queue_index_def): Define max_insn_queue_index const.
14089169689Skan	(output_internal_dead_lock_func): Only test the dead_lock_vect
14090169689Skan	for automata that have locked states.
14091169689Skan	(output_statistics): Always print the number of locked states for
14092169689Skan	each automaton.  Calculate total number of locked states here.
14093169689Skan	(write_automata): Don't call output_dfa_max_issue_rate.
14094169689Skan	* genattrtab.c: Define length_unit_log as a const variable.
14095169689Skan	* genattr.c: Don't emit MAX_DFA_ISSUE_RATE.  Declare
14096169689Skan	max_insn_queue_index const.
14097169689Skan	* final.c (length_unit_log): Declare const.
14098169689Skan	* doc/tm.texi: Remove all references to MAX_DFA_ISSUE_RATE.
14099169689Skan
14100169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14101169689Skan
14102169689Skan	* genautomata.c: Include vec.h, not varray.h.
14103169689Skan	Delete vla_ptr_t, all of the VLA_PTR_ macros, and all of the
14104169689Skan	VLA_HWINT_ macros.  Change vla_hwint_t to a typedef for
14105169689Skan	VEC(vect_el_t,heap) *.  Convert all uses of VLA_* macros to
14106169689Skan	VEC_* macros operating on appropriately typed vectors, or to
14107169689Skan	malloced arrays when the size is known in advance.  Const-ify
14108169689Skan	many char* variables and function arguments.  No functional changes.
14109169689Skan	* Makefile.in (build/varray.o): Delete rule.
14110169689Skan	(build/genattrtab): Depend on build/vec.o instead of build/varray.o.
14111169689Skan	(build/genautomata.o): Depend on vec.h instead of $(VARRAY_H).
14112169689Skan
14113169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14114169689Skan
14115169689Skan	* gensupport.c: Define get_insn_name and record_insn_name here.
14116169689Skan	(read_md_rtx): Call record_insn_name as appropriate.
14117169689Skan	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
14118169689Skan	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
14119169689Skan	* genpreds.c, genrecog.c: Don't define get_insn_name nor
14120169689Skan	record_insn_name.
14121169689Skan	* Makefile.in (BUILD_SUPPORT, BUILD_PRINT): Fold into BUILD_RTL.
14122169689Skan	(BUILD_VARRAY): Delete.
14123169689Skan	(genprognormal): Rename genprogmd.  Fold in all programs from
14124169689Skan	genprognoprint; also attrtab.
14125169689Skan	(build/genattrtab): Just mention genautomata.o and varray.o.
14126169689Skan	Reorganize a bit, add comments to make the categories clearer.
14127169689Skan
14128169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14129169689Skan
14130169689Skan	* genconditions.c (condition_table, add_condition): Delete.
14131169689Skan	(write_conditions): Don't emit n_insn_conditions nor
14132169689Skan	insn_elision_unavailable.  Issue the gcc version #ifdef here,
14133169689Skan	inside the table, with no #else clause ...
14134169689Skan	(write_header): ...not here.
14135169689Skan	(write_writer): New function.
14136169689Skan	(main): Don't initialize condition_table.  Use add_c_test.
14137169689Skan	Call write_writer.
14138169689Skan	* gensupport.c (init_md_reader_args_cb): Handle multiple input
14139169689Skan	files on the command line.
14140169689Skan	(maybe_eval_c_test): Don't check insn_elision_unavailable.
14141169689Skan	Return -1 if there is no entry in the table, don't abort.
14142169689Skan	(add_c_test, traverse_c_tests): New functions.
14143169689Skan	* gensupport.h (insn_elision_unavailable, insn_conditions)
14144169689Skan	(n_insn_conditions): Delete declarations.
14145169689Skan	(add_c_test, traverse_c_tests): Declare.
14146169689Skan	* read-rtl.c: Include gensupport.h.
14147169689Skan	(read_conditions): New function.
14148169689Skan	(read_rtx): If read_rtx_1 returns 0, treat as EOF.
14149169689Skan	(read_rtx_1): If we get EOF when we were looking for an initial
14150169689Skan	open paren, return 0.  Call read_conditions when appropriate.
14151169689Skan	* Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to
14152169689Skan	dummy-conditions.o.  Eliminate references to insn-conditions.o,
14153169689Skan	or change them to build/gencondmd.o, as appropriate.  Remove
14154169689Skan	insn-constants.h from $(simple_generated_h) and insn-conditions.c
14155169689Skan	from $(simple_generated_c).  For all files remaining in those
14156169689Skan	two lists, add insn-conditions.md to the generator command line.
14157169689Skan	Give insn-constants.h/s-constants their own rules.  Add rules
14158169689Skan	for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd.
14159169689Skan	(build/read-rtl.o): Depend on gensupport.h.
14160169689Skan	(genprognormal): Include preds.
14161169689Skan	(genprogearly): Rename genprognoprint; only difference is now that
14162169689Skan	they don't link with $(BUILD_PRINT).
14163169689Skan	* dummy-conditions.c: Delete.
14164169689Skan
14165169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14166169689Skan
14167169689Skan	* genextract.c: Don't include insn-config.h.  Do include vec.h.
14168169689Skan	Declare vectors of int, char, and locstr.
14169169689Skan	(locstr): New typedef.
14170169689Skan	(struct extraction): Make all array fields into bare pointers.
14171169689Skan	(insn_name_ptr, insn_name_ptr_size): Move down by get_insn_name.
14172169689Skan	(insn_code_number): Delete.
14173169689Skan	(accum_extract): New struct.
14174169689Skan	(VEC_safe_set_locstr, VEC_char_to_string): New functions.
14175169689Skan	(gen_insn): Take insn_code_number as an argument.  Use an
14176169689Skan	accum_extract structure instead of loading data directly into
14177169689Skan	a struct extraction, and having to know how big it might get.
14178169689Skan	(walk_rtx): Operate entirely on an accum_extract structure.
14179169689Skan	(print_path): Avoid unnecessary use of printf.
14180169689Skan	(print_header): New function, split out of main.  Distinguish
14181169689Skan	more carefully between an unrecognizable insn and an insn that
14182169689Skan	has the code number of a define_expand.
14183169689Skan	(main): Pass insn_code_number to gen_insn.  Call print_header
14184169689Skan	only after parsing.  Avoid unnecessary use of printf.
14185169689Skan	* Makefile.in (build/vec.o): New rule.
14186169689Skan	(build/genextract): Depend on build/vec.o.
14187169689Skan	(build/genextract.o): Don't depend on insn-config.h.
14188169689Skan
14189169689Skan2006-01-22  Zack Weinberg  <zackw@panix.com>
14190169689Skan
14191169689Skan	* Makefile.in: Consolidate most rules that use $(CC_FOR_BUILD) and/or
14192169689Skan	$(RUN_GEN).  Use pattern rules to factor out as much boilerplate as
14193169689Skan	practical.  Eliminate per-generator-program link rules.
14194169689Skan
14195169689Skan2006-01-23  Andrew Pinski  <pinskia@physics.uc.edu>
14196169689Skan
14197169689Skan	PR middle-end/24437
14198169689Skan	* tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF
14199169689Skan	with a call expr to ...
14200169689Skan	* fold-const.c (fold_ternary) <case CALL_EXPR>: Here.
14201169689Skan
14202169689Skan2006-01-23  Richard Guenther  <rguenther@suse.de>
14203169689Skan
14204169689Skan	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Add comment
14205169689Skan	before make_edge with conditional EDGE_TRUE_VALUE.
14206169689Skan
14207169689Skan2006-01-23  Steven Bosscher  <stevenb.gcc@gmail.com>
14208169689Skan	Jan Hubicka  <jh@suse.cz>
14209169689Skan	Richard Guenther  <rguenther@suse.de>
14210169689Skan
14211169689Skan	PR rtl-optimization/25654
14212169689Skan	* cfgexpand.c (aggregate_contains_union_type): New function.
14213169689Skan	(add_alias_set_conflicts): Call it.  Make sure to add conflicts
14214169689Skan	for structure variables that contain a union type.
14215169689Skan
14216169689Skan2006-01-23  Richard Sandiford  <richard@codesourcery.com>
14217169689Skan
14218169689Skan	* gengtype.c (new_structure): Return the structure.
14219169689Skan	(create_option): Add an extra "next" argument.
14220169689Skan	(create_field): New function.
14221169689Skan	(adjust_field_rtx_def): Use create_option and create_field.
14222169689Skan	Remove a now-unnecessary call to find_structure.
14223169689Skan	(adjust_field_tree_def): Likewise.
14224169689Skan	(note_yacc_type): Remove an unnecessary call to find_structure.
14225169689Skan	* gengtype.h (new_structure): Return the structure.
14226169689Skan	(create_option): Add an extra argument.
14227169689Skan	* gengtype-yacc.y (type): Remove unnecessary calls to find_structure.
14228169689Skan	(option): Adjust calls to create_option.
14229169689Skan
14230169689Skan2006-01-22  David Edelsohn  <edelsohn@gnu.org>
14231169689Skan
14232169689Skan	* config/rs6000/aix.h (STACK_BOUNDARY): Define.
14233169689Skan
14234169689Skan2006-01-22  Paul Brook  <paul@codesourcery.com>
14235169689Skan	Peter Barada  <peter@the-baradas.com>
14236169689Skan
14237169689Skan	* config/m68k/m68k.md: Add Coldfire FPU support.
14238169689Skan	Define FP mode macro and associated attributes.
14239169689Skan	Use it for float mode patterns.
14240169689Skan	* config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value.
14241169689Skan	(LIBCALL_VALUE): Use m68k_libcall_value.
14242169689Skan	* config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype.
14243169689Skan	(m68k_function_value): Ditto.
14244169689Skan	(emit_move_sequence): Ditto.
14245169689Skan	* config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value.
14246169689Skan	* config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e.
14247169689Skan	* config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e.
14248169689Skan	(MULTILIB_EXCEPTIONS): Ditto.
14249169689Skan	* config/m68k/m68k.opt: Add mcfv4e.
14250169689Skan	* config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e.
14251169689Skan	(m68k_compute_frame_layout): Include space for ColdFire FPU regs.
14252169689Skan	(m68k_output_function_prologue): Save ColdFire FPU registers.
14253169689Skan	(m68k_output_function_epilogue): Restore ColdFire FPU registers.
14254169689Skan	(force_mode, fp_reg_operand, emit_move_sequence): New functions.
14255169689Skan	(m68k_regno_mode_ok): Don't allow types larget than 8 bytes in
14256169689Skan	ColdFire FPU registers.
14257169689Skan	(m68k_libcall_value, m68k_function_value): New functions.
14258169689Skan	* config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value.
14259169689Skan	(LIBCALL_VALUE): Use m68k_libcall_value.
14260169689Skan	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__.
14261169689Skan	(MASK_COLDFIRE): Add MASK_CFV4E.
14262169689Skan	(TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New.
14263169689Skan	(MODES_TIEABLE_P): Use TARGET_HARD_FLOAT.
14264169689Skan	(REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto.
14265169689Skan	(GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define.
14266169689Skan	(GO_IF_LEGITIMATE_ADDRESS): Use it.
14267169689Skan	(LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses.
14268169689Skan	* doc/invoke.tex: Document -mcfv4e on m68k.
14269169689Skan
14270169689Skan2006-01-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
14271169689Skan
14272169689Skan	* doc/contribute.texi: Change CVS to SVN and update the corresponding
14273169689Skan	URL.
14274169689Skan
14275169689Skan2006-01-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14276169689Skan
14277169689Skan	PR c++/16190
14278169689Skan	* c-opts.c (c_common_handle_option): Don't include
14279169689Skan	-Wnon-virtual-dtor in -Wall; enable if -Weffc++.
14280169689Skan	* doc/invoke.texi (C++ Dialect Options): Document that
14281169689Skan	-Wnon-virtual-dtor is no longer included in -Wall.
14282169689Skan
14283169689Skan2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
14284169689Skan
14285169689Skan	* gcov.c (print_version), gcov-dump.c (print_version),
14286169689Skan	mips-tdump.c (main), mips-tfile.c (main): Update copyright notice
14287169689Skan	dates.
14288169689Skan
14289169689Skan2006-01-21  Kenneth Zadeck <zadeck@naturalbridge.com>
14290169689Skan
14291169689Skan	* df-scan.c (problem_SCAN): Added NULL reset function.
14292169689Skan	(df_scan_reset_blocks): Added code to call reset block function
14293169689Skan	(df_bb_refs_delete) Fixed comment.
14294169689Skan	(df_insn_refs_delete): Made tolerant of deleting non existent info
14295169689Skan	for dataflow problems that need to be reset.
14296169689Skan	* df-core.c (df_set_blocks): Ditto.
14297169689Skan	* df.h (struct df_problem): Added reset_fun.
14298169689Skan	* df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR,
14299169689Skan	problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field.
14300169689Skan	(df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New
14301169689Skan	functions to clear out all references to def-use or use-def chains.
14302169689Skan
14303169689Skan2006-01-21  Ben Elliston  <bje@au.ibm.com>
14304169689Skan
14305169689Skan	* varasm.c (assemble_real): Initialise data array.
14306169689Skan
14307169689Skan2006-01-20  Paul Brook  <paul@codesourcery.com>
14308169689Skan
14309169689Skan	Merge from csl-arm-branch.
14310169689Skan	2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
14311169689Skan	* config/arm/arm.md (movdi): Force operands[1] to a register
14312169689Skan	if we have a non-register source.
14313169689Skan	(*arm_movdi, *movdf_soft_insn): Require that one of the
14314169689Skan	operands be a register.
14315169689Skan	* config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise.
14316169689Skan	* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
14317169689Skan
14318169689Skan2006-01-20  DJ Delorie  <dj@redhat.com>
14319169689Skan
14320169689Skan	* varasm.c (initializer_constant_valid_p): Allow pointers
14321169689Skan	initialized from integer constants of lesser precision.
14322169689Skan	(output_constant): Allow non-int-sized pointer modes to be
14323169689Skan	initialized from integer constants.
14324169689Skan
14325169689Skan2006-01-20  Joseph S. Myers  <joseph@codesourcery.com>
14326169689Skan
14327169689Skan	PR libstdc++/25524
14328169689Skan	* cppdefault.h (struct default_include): Add multilib flag.
14329169689Skan	* cppdefault.c (cpp_include_defaults): Set it.
14330169689Skan	* c.opt (-imultilib): New option.
14331169689Skan	* c-opts.c (imultilib): New.
14332169689Skan	(c_common_handle_option): Handle -imultilib.
14333169689Skan	(c_common_post_options): Likewise.
14334169689Skan	* c-incpath.c (add_standard_paths, register_include_chains):
14335169689Skan	Likewise.
14336169689Skan	* c-incpath.h (register_include_chains): Add extra parameter.
14337169689Skan	* gcc.c (do_spec_1): Generate -imultilib option.
14338169689Skan	(The Specs Language): Update %I description.
14339169689Skan	(process_command): Update copyright notice.
14340169689Skan	* doc/cppopts.texi (-imultilib): Document.
14341169689Skan	* doc/invoke.texi (-imultilib): Include in option summary.
14342169689Skan	(%I): Update specs documentation.
14343169689Skan
14344169689Skan2006-01-20  Zdenek Dvorak <dvorakz@suse.cz>
14345169689Skan
14346169689Skan	* loop-iv.c (iv_analysis_loop_init): Use df in more conservative way.
14347169689Skan
14348169689Skan2006-01-20  Richard Sandiford  <richard@codesourcery.com>
14349169689Skan
14350169689Skan	* stmt.c (case_bit_test_cmp): Stabilize the sort using code
14351169689Skan	label numbers.
14352169689Skan
14353169689Skan2006-01-20  Richard Guenther  <rguenther@suse.de>
14354169689Skan	Steven Bosscher <stevenb.gcc@gmail.com>
14355169689Skan
14356169689Skan	PR rtl-optimization/24626
14357169689Skan	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set
14358169689Skan	EDGE_TRUE_VALUE if in RTL mode.
14359169689Skan
14360169689Skan	Revert
14361169689Skan	2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
14362169689Skan	* cfgrtl.c (rtl_verify_flow_info_1): Fix.
14363169689Skan
14364169689Skan2006-01-20  Dirk Mueller  <dmueller@suse.com>
14365169689Skan
14366169689Skan	PR c++/5520
14367169689Skan	* c-parser.c (c_parser_if_body): Use build_empty_stmt()
14368169689Skan	instead of a special NOP marker.
14369169689Skan	* c-typeck.c (c_finish_if_stmt): Remove obsoleted special
14370169689Skan	NOP marker handling.
14371169689Skan	* c-common.h (empty_body_warning): Add forward declaration.
14372169689Skan	* c-common.c (empty_body_warning): Add (from c_finish_if_stmt).
14373169689Skan	Now uses IS_EMPTY_STMT() instead of special NOP markers.
14374169689Skan
14375169689Skan2006-01-20  Paul Brook  <paul@codesourcery.com>
14376169689Skan
14377169689Skan	* Makefile.in (lang_checks): Keep going if mkdir fails.
14378169689Skan
14379169689Skan2006-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
14380169689Skan
14381169689Skan	* df-scan.c (df_scan_free_bb_info): Added basic block parameter to
14382169689Skan	be able to clean out basic block when not necessary.
14383169689Skan	(df_scan_free): Fixed to properly delete information if df is
14384169689Skan	unused before calling df_finish.
14385169689Skan	(df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink,
14386169689Skan	df_insn_create_insn_record, df_bb_refs_record): Fixed formatting
14387169689Skan	or comment typos.
14388169689Skan	(df_bb_refs_delete): New function.
14389169689Skan	(df_refs_delete): Moved per block code to df_bb_refs_delete.
14390169689Skan	* df-core.c (df_set_blocks): Added code to properly clean out
14391169689Skan	unused blocks if they are not part of the blocks to consider.
14392169689Skan	Added additional null check.
14393169689Skan	(df_compact_blocks): Added basic block parameter to free_bb_fun to
14394169689Skan	be able to clean out basic block when not necessary
14395169689Skan	* df.h (df_free_bb_function): Ditto.
14396169689Skan	(df_bb_refs_delete): New function.
14397169689Skan	* df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info,
14398169689Skan	df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added
14399169689Skan	basic block parameter to be able to clean out basic block when not
14400169689Skan	necessary.
14401169689Skan	(df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test.
14402169689Skan	(df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free):
14403169689Skan	Fixed to properly delete information if df is unused before
14404169689Skan	calling df_finish.
14405169689Skan
14406169689Skan2006-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
14407169689Skan
14408169689Skan	PR rtl-optimization/25799
14409169689Skan	* df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
14410169689Skan	Corrected confluence operator to remove bits from op2 before oring
14411169689Skan	with op1 rather than removing bits from op1.
14412169689Skan	(df_ru_transfer_function): Corrected test on wrong bitmap which
14413169689Skan	caused infinite loop.  Both of these problems were introduced in
14414169689Skan	the dataflow rewrite.
14415169689Skan
14416169689Skan2006-01-19  DJ Delorie  <dj@redhat.com>
14417169689Skan
14418169689Skan	* reload1.c (find_reload_regs): Note the details of reload
14419169689Skan	failures in the dump file.
14420169689Skan	(spill_failure): Likewise.
14421169689Skan
14422169689Skan2006-01-20  Zdenek Dvorak <dvorakz@suse.cz>
14423169689Skan
14424169689Skan	* loop-iv.c: Include df.h and hashtab.h.
14425169689Skan	(enum iv_grd_result): New enum.
14426169689Skan	(DF_REF_IV, DF_REF_IV_SET): New macros.
14427169689Skan	(struct biv_entry): New.
14428169689Skan	(df, bivs): New global variables.
14429169689Skan	(struct insn_info, insn_info, last_def, bivs, max_insn_no, max_reg_no,
14430169689Skan	assign_luids, mark_sets, kill_sets, mark_single_set, simple_set_p):
14431169689Skan	Removed.
14432169689Skan	(clear_iv_info, latch_dominating_def, record_iv, iv_analyze_expr,
14433169689Skan	iv_analyze_result, iv_analyze_def, biv_hash, biv_eq,
14434169689Skan	analyzed_for_bivness_p, record_biv): New functions.
14435169689Skan	(iv_analysis_loop_init, iv_get_reaching_def, simple_reg_p,
14436169689Skan	get_biv_step_1, get_biv_step, iv_analyze_biv, iv_analyze_op,
14437169689Skan	iv_analyze, biv_p, iv_analysis_done): Work with df representation of
14438169689Skan	UD chains.
14439169689Skan	(iv_constant, iv_subreg, iv_extend, iv_mult, iv_shift): Do not set
14440169689Skan	analysed.
14441169689Skan	(iv_number_of_iterations): Use new interface to iv analysis.
14442169689Skan	* loop-unroll.c: Do not include varray.h.
14443169689Skan	(analyze_iv_to_split_insn): Use new interface to iv
14444169689Skan	analysis.
14445169689Skan	* loop-unswitch.c (may_unswitch_on): Ditto.
14446169689Skan	* df.c (df_bitmaps_free): Only work for bbs for that structures are
14447169689Skan	allocated.
14448169689Skan	(df_bb_modify): Realloc tables to the new index.
14449169689Skan	(df_find_use): New function.
14450169689Skan	* df.h (df_find_use): Declare.
14451169689Skan	* optabs.c (expand_unop): Make the mode of the REG_EQUAL node be
14452169689Skan	outmode.
14453169689Skan	* cfgloop.h (struct rtx_iv): Remove analysed field.
14454169689Skan	(iv_get_reaching_def): Removed.
14455169689Skan	(iv_analyze_result, iv_analyze_expr, iv_current_loop_df): Declare.
14456169689Skan	* Makefile.in (loop-unroll.o): Remove VARRAY_H dependency.
14457169689Skan	(loop-iv.o): Add df.h and hashtab.h dependency.
14458169689Skan	* df-problems.c (df_ru_alloc, df_rd_alloc): Fix memory reallocation.
14459169689Skan
14460169689Skan2006-01-20  Alan Modra  <amodra@bigpond.net.au>
14461169689Skan
14462169689Skan	PR target/25668
14463169689Skan	* libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
14464169689Skan	Double TFmode.
14465169689Skan	(__floatundisf, __floatundidf): Likewise.
14466169689Skan	* libgcc2.h (IS_IBM_EXTENDED): Define.
14467169689Skan
14468169689Skan2006-01-19  DJ Delorie  <dj@redhat.com>
14469169689Skan
14470169689Skan	* config/m32c/m32c.h (REG_ALLOC_ORDER): Define.
14471169689Skan
14472169689Skan2006-01-19  Paul Brook  <paul@codesourcery.com>
14473169689Skan
14474169689Skan	* config/arm/arm.c (arm_compute_func_type): Treat all functions
14475169689Skan	as nothrow when unwinding tables are disabled.
14476169689Skan
14477169689Skan2006-01-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14478169689Skan
14479169689Skan	PR testsuite/25171
14480169689Skan	* c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type
14481169689Skan	of bit-field" when in system header.
14482169689Skan
14483169689Skan2006-01-19  DJ Delorie  <dj@redhat.com>
14484169689Skan
14485169689Skan	* config/m32c/m32c.c (m32c_prepare_shift): Add code to deal with
14486169689Skan	the 16 bit shift limit of the m16c.
14487169689Skan
14488169689Skan2006-01-19  Andrew Pinski  <pinskia@physics.uc.edu>
14489169689Skan
14490169689Skan	PR target/22099
14491169689Skan	* config/i386/i386.md (builtin_setjmp_receiver): Don't emit the label.
14492169689Skan	* config/i386/i386.c (output_set_got): Output the label if we have one
14493169689Skan	for the TARGET_DEEP_BRANCH_PREDICTION case.
14494169689Skan
14495169689Skan2006-01-19  Jan Hubicka  <jh@suse.cz>
14496169689Skan	    H.J. Lu  <hongjiu.lu@intel.com>
14497169689Skan	    Evandro Menezes <evandro.menezes@amd.com>
14498169689Skan
14499169689Skan	* invoke.texi (generic): Document
14500169689Skan	(i686) Update.
14501169689Skan	* config.gcc: Make x86_64-* and i686-* default to generic tunning.
14502169689Skan	* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
14503169689Skan	TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
14504169689Skan	(x86_use_incdec, x86_pad_returns): New variables
14505169689Skan	(TARGET_CPU_DEFAULT_generic): New constant
14506169689Skan	(TARGET_CPU_DEFAULT_NAMES): Add generic.
14507169689Skan	(enum processor_type): Add generic32 and generic64.
14508169689Skan	* i386.md (cpu attribute): Add generic32/generic64
14509169689Skan	(movhi splitter): Behave sanely when both partial_reg_dependency and
14510169689Skan	partial_reg_stall are set.
14511169689Skan	(K8 splitters): Enable for generic as well.
14512169689Skan	* predicates.md (incdec_operand): Use TARGET_INCDEC
14513169689Skan	(aligned_operand): Avoid memory mismatch stalls.
14514169689Skan	* athlon.md: Enable for generic64, new patterns for 128bit moves.
14515169689Skan	* ppro.md: Enable for generic32
14516169689Skan	* i386.c (generic64_cost, generic32_cost): New.
14517169689Skan	(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
14518169689Skan	(x86_use_leave): Enable for generic64.  (x86_use_sahf,
14519169689Skan	x86_ext_80387_constants): Enable for generic32.  (x86_push_memory,
14520169689Skan	x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
14521169689Skan	x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
14522169689Skan	x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
14523169689Skan	x86_partial_reg_dependency, x86_memory_mismatch_stall,
14524169689Skan	x86_accumulate_outgoing_args, x86_prologue_using_move,
14525169689Skan	x86_epilogue_using_move, x86_arch_always_fancy_math_387,
14526169689Skan	x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
14527169689Skan	Enable for generic.
14528169689Skan	(x86_use_incdec, x86_pad_returns): New.
14529169689Skan	(override_options): Add generic32 and generic64, translate "generic"
14530169689Skan	to generic32/generic64 and "i686" to "generic32", refuse
14531169689Skan	"generic32"/"generic64" as arch target.
14532169689Skan	(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
14533169689Skan	(ix86_reorg): Honor PAD_RETURNS.
14534169689Skan
14535169689Skan2006-01-19  Diego Novillo  <dnovillo@redhat.com>
14536169689Skan
14537169689Skan	* tree-pretty-print.c (dump_generic_node): Handle
14538169689Skan	OMP_PARALLEL_FN, OMP_PARALLEL_DATA_ARG and OMP_RETURN_EXPR.
14539169689Skan	* cgraph.c (cgraph_expand_queue): Rename from
14540169689Skan	cgraph_analyze_queue.  Update all users.
14541169689Skan	* cgraphunit.c (cgraph_assemble_pending_functions): Process
14542169689Skan	cgraph_expand_queue.
14543169689Skan	(cgraph_expand_all_functions): Likewise.
14544169689Skan	(cgraph_finalize_pending_functions): Remove.  Update callers.
14545169689Skan
14546169689Skan	* tree.h (OMP_DIRECTIVE_P): Define.
14547169689Skan	(OMP_PARALLEL_FN): Define.
14548169689Skan	(OMP_PARALLEL_DATA_ARG): Define.
14549169689Skan	(OMP_SECTIONS_SECTIONS): Define.
14550169689Skan	* tree-pass.h (pass_expand_omp): Declare.
14551169689Skan	* omp-low.c (struct omp_region): Declare.
14552169689Skan	(struct omp_context): Remove fields 'parallel_type',
14553169689Skan	'parallel_start_ix' and 'parallel_start_additional_args'.
14554169689Skan	Update all users.
14555169689Skan	(struct omp_for_data): Rename from struct expand_omp_for_data.
14556169689Skan	(omp_regions): New static variable.
14557169689Skan	(root_omp_region): New static variable.
14558169689Skan	(find_omp_clause): Make static.
14559169689Skan	(is_in_combined_parallel_ctx): Remove.
14560169689Skan	(is_combined_parallel): New.
14561169689Skan	(extract_omp_for_data): Move earlier in the file.
14562169689Skan	(workshare_safe_to_combine_p): New.
14563169689Skan	(get_ws_args_for): New.
14564169689Skan	(determine_parallel_type): Move earlier in the file.
14565169689Skan	(omp_copy_decl_2): Do not set DECL_CONTEXT of new local to the
14566169689Skan	child function.
14567169689Skan	(omp_copy_decl): Likewise.
14568169689Skan	(create_omp_child_function): Likewise.
14569169689Skan	(lookup_omp_region): New.
14570169689Skan	(dump_omp_region): New.
14571169689Skan	(debug_omp_region): New.
14572169689Skan	(debug_all_omp_regions): New.
14573169689Skan	(new_omp_region): New.
14574169689Skan	(scan_omp_parallel): If parallel_nesting_level > 1, the
14575169689Skan	directive is nested within another parallel directive.
14576169689Skan	Set OMP_PARALLEL_FN.
14577169689Skan	(scan_omp_for): Do not try to handle combined parallel+for
14578169689Skan	cases.
14579169689Skan	Remove FIXME comment.
14580169689Skan	(scan_omp_nested): Remove.
14581169689Skan	(scan_omp_1): Do not call scan_omp_nested when
14582169689Skan	parallel_nesting_level is > 1.
14583169689Skan	Do not change the DECL_CONTEXT of local variables found.
14584169689Skan	(lookup_decl_in_outer_ctx): New.
14585169689Skan	(lower_rec_input_clauses): Rename from expand_rec_input_clauses.
14586169689Skan	(lower_lastprivate_clauses): Rename from expand_lastprivate_clauses.
14587169689Skan	(lower_reduction_clauses): Rename from expand_reduction_clauses.
14588169689Skan	(lower_copyprivate_clauses): Rename from expand_copyprivate_clauses.
14589169689Skan	If CTX is nested, lookup VAR in the outer context when
14590169689Skan	building copy assignment.
14591169689Skan	(lower_send_clauses): Rename from expand_send_clauses.
14592169689Skan	If CTX is nested, lookup VAR in the outer context when
14593169689Skan	building copy assignments.
14594169689Skan	(lower_send_shared_vars): Rename from expand_send_shared_vars.
14595169689Skan	If CTX is nested, lookup VAR in the outer context when
14596169689Skan	building copy assignments.
14597169689Skan	(expand_parallel_call): Rename from build_parallel_call.
14598169689Skan	Handle combined parallel+workshare cases.
14599169689Skan	Re-implement to emit code into the CFG.
14600169689Skan	(list2chain): New.
14601169689Skan	(expand_omp_parallel): Re-implement to emit code into the CFG.
14602169689Skan	Call move_sese_region_to_fn to outline the sub-graph
14603169689Skan	containing the parallel region.
14604169689Skan	(expand_omp_for_1): Remove.
14605169689Skan	(expand_omp_for_generic): Re-implement to emit code into the
14606169689Skan	CFG.
14607169689Skan	(expand_omp_for_static_nochunk): Likewise.
14608169689Skan	(expand_omp_for_static_chunk): Likewise.
14609169689Skan	(expand_omp_for): Likewise.
14610169689Skan	(expand_omp_sections): Likewise.
14611169689Skan	(remove_exit_barriers): New.
14612169689Skan	(expand_omp_synch): New.
14613169689Skan	(expand_omp): New.
14614169689Skan	(build_omp_regions_1): New.
14615169689Skan	(build_omp_regions): New.
14616169689Skan	(execute_expand_omp): New.
14617169689Skan	(gate_expand_omp): New.
14618169689Skan	(pass_expand_omp): Define.
14619169689Skan	(lower_omp_sections): Rename from expand_omp_sections.
14620169689Skan	Set OMP_SECTIONS_SECTIONS.
14621169689Skan	(lower_omp_single_simple): Rename from expand_omp_single_simple.
14622169689Skan	(lower_omp_single_copy): Rename from expand_omp_single_copy.
14623169689Skan	(lower_omp_single): Rename from expand_omp_simple.
14624169689Skan	(lower_omp_master): Rename from expand_omp_master.
14625169689Skan	(lower_omp_ordered): Rename from expand_omp_ordered.
14626169689Skan	(lower_omp_critical): Rename from expand_omp_critical.
14627169689Skan	(lower_omp_for_lastprivate): Rename from expand_omp_for_lastprivate.
14628169689Skan	(lower_omp_for): Re-implement.
14629169689Skan	(lower_omp_parallel): Re-implement.
14630169689Skan	(lower_regimplify): Rename from expand_regimplify.
14631169689Skan	(lower_omp_1): Rename from expand_omp_1.
14632169689Skan	If there are syntax errors in the program, replace every
14633169689Skan	OpenMP directive with NOP.
14634169689Skan	Call lower_omp_* instead of expand_omp_*.
14635169689Skan	(lower_omp): Rename from expand_omp.
14636169689Skan
14637169689Skan	* tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN_EXPR.
14638169689Skan	* tree-gimple.h (enum omp_parallel_type): Remove.
14639169689Skan	(gimple_boolify): Declare extern.
14640169689Skan	(find_omp_clause, determine_parallel_type): Remove.
14641169689Skan
14642169689Skan	* gimple-low.c (lower_omp_directive): New.
14643169689Skan	(lower_stmt): Call it.
14644169689Skan	(record_vars_into): Move from ...
14645169689Skan	(record_vars): ... here.
14646169689Skan	Call record_vars_into with current_function_decl.
14647169689Skan
14648169689Skan	* gimplify.c (struct gimplify_ctx): Remove fields
14649169689Skan	combined_pre_p and combined_ctxp.  Update users.
14650169689Skan	(get_formal_tmp_var): Add documentation.
14651169689Skan	(gimple_boolify): Make extern.
14652169689Skan	(gimplify_expr_in_ctx): Remove.  Update callers.
14653169689Skan	(gimplify_omp_parallel): Do not assume that OMP_PARALLEL_BODY
14654169689Skan	will always be a BIND_EXPR.
14655169689Skan	(gimplify_expr): Handle OMP_RETURN_EXPR.
14656169689Skan	* tree.def (BLOCK): Remove documentation about BLOCK_TYPE_TAGS.
14657169689Skan	(OMP_PARALLEL): Add 3 operands.
14658169689Skan	(OMP_SECTIONS): Add 1 operand.
14659169689Skan	(OMP_RETURN_EXPR): Define.
14660169689Skan
14661169689Skan	* tree-inline.c (estimate_num_insns_1): Handle OpenMP directives.
14662169689Skan	(copy_tree_r): Restore TREE_CHAIN in OMP_CLAUSE_*.
14663169689Skan	* tree-iterator.c (alloc_stmt_list): Assert that we are not
14664169689Skan	creating a circular free list.
14665169689Skan	(free_stmt_list): Assert that we are not freeing stmt_list_cache.
14666169689Skan
14667169689Skan	* tree-flow.h (move_sese_region_to_fn): Declare.
14668169689Skan	(record_vars_into): Declare.
14669169689Skan	* tree-cfg.c (make_omp_sections_edges): New.
14670169689Skan	(make_exit_edges): Handle OMP_PARALLEL, OMP_FOR, OMP_SINGLE,
14671169689Skan	OMP_MASTER, OMP_ORDERED, OMP_CRITICAL, OMP_RETURN_EXPR,
14672169689Skan	OMP_SECTIONS and OMP_SECTION.
14673169689Skan	(is_ctrl_altering_stmt): Return true for OMP_DIRECTIVE_P.
14674169689Skan	(set_bb_for_stmt): Undo change to check currently_expanding_to_rtl.
14675169689Skan	(verify_stmt): Do not handle OMP_DIRECTIVE_P.
14676169689Skan	(gather_blocks_in_sese_region): New.
14677169689Skan	(struct move_stmt_d): Declare.
14678169689Skan	(move_stmt_r): New.
14679169689Skan	(move_block_to_fn): New.
14680169689Skan	(move_sese_region_to_fn): New.
14681169689Skan
14682169689Skan	* passes.c (init_optimization_passes): Schedule
14683169689Skan	pass_expand_omp after pass_init_datastructures.
14684169689Skan
14685169689Skan	* tree-ssa-operands.c (get_expr_operands): Handle
14686169689Skan	OMP_PARALLEL, OMP_SECTIONS, OMP_FOR, OMP_RETURN_EXPR,
14687169689Skan	OMP_SINGLE, OMP_MASTER, OMP_ORDERED, OMP_CRITICAL.
14688169689Skan
14689169689Skan2006-01-19  Jeff Law  <law@redhat.com>
14690169689Skan
14691169689Skan	* tree-vrp.c (extract_range_from_assert): Refine the result range
14692169689Skan	if the variable referenced by the ASSERT_EXPR has a range and
14693169689Skan	either the tentative result range or the previous range is a
14694169689Skan	VR_ANTI_RANGE.
14695169689Skan
14696169689Skan2006-01-19  Richard Sandiford  <richard@codesourcery.com>
14697169689Skan
14698169689Skan	* c-decl.c (add_flexible_array_elts_to_size): Simplify vector accesses.
14699169689Skan
14700169689Skan2006-01-19  Jan Hubicka  <jh@suse.cz>
14701169689Skan
14702169689Skan	* tree-vect-patterns.c (vect_pattern_recog_1): Prevent parse error.
14703169689Skan
14704169689Skan2006-01-19  Paolo Bonzini  <bonzini@gnu.org>
14705169689Skan
14706169689Skan	* combine.c (try_combine): Do not worry about MEMs wrapped by USEs.
14707169689Skan	(expand_compound_operation, expand_field_assignment): Fail if the
14708169689Skan	bit lengths of an extract operation are out of range.
14709169689Skan	(make_extraction): Compute wanted_inner_mode based on the position
14710169689Skan	and length of the extraction.  Make it extraction_mode for non-constant
14711169689Skan	positions, and do not modify offset in that case.  When generating a
14712169689Skan	new MEM, use a mode that can hold the extraction while keeping correct
14713169689Skan	alignment.  Remove code that supported MEMs wrapped by USEs.
14714169689Skan	(simplify_shift_const_1, force_to_mode) <case USE>: Remove.
14715169689Skan
14716169689Skan2006-01-19  Andreas Krebbel  <krebbel1@de.ibm.com>
14717169689Skan
14718169689Skan	* config/s390/s390.md ("Y", "y"): New mode attribute.
14719169689Skan	("*cmpdi_ccs", "*cmpsi_ccs", "*adddi3_imm_cc", "*adddi3_carry1_cc",
14720169689Skan	"*adddi3_carry1_cconly", "*adddi3_carry2_cc", "*adddi3_carry2_cconly",
14721169689Skan	"*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2", "*adddi3_64",
14722169689Skan	"*addsi3_imm_cc", "*addsi3_carry1_cc",
14723169689Skan	"*addsi3_carry1_cconly", "*addsi3_carry2_cc", "*addsi3_carr2_cconly",
14724169689Skan	"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
14725169689Skan	"*subdi3_borrow_cc", "*subdi3_borrow_cconly", "*subdi3_cc",
14726169689Skan	"*subdi3_cc2", "*subdi3_cconly", "*subdi3_cconly2", "*subdi3_64",
14727169689Skan	"*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
14728169689Skan	"*subsi3_cc2", "*subsi3_cconly", "*subsi3_cconly", "*subsi3_cconly2",
14729169689Skan	"addsi3", "subsi3"): Insn patterns removed.
14730169689Skan	("*add<mode>3_carry1_cc", "*add<mode>3_carry1_cconly",
14731169689Skan	"*add<mode>3_carry2_cc", "*add<mode>3_carry2_cconly", "*add<mode>3_cc",
14732169689Skan	"*add<mode>3_cconly", "*add<mode>3_cconly2", "*add<mode>3_imm_cc",
14733169689Skan	"*sub<mode>3_borrow_cc", "*sub<mode>3_borrow_cconly",
14734169689Skan	"*sub<mode>3_cc", "*sub<mode>3_cc2", "*sub<mode>3_cconly",
14735169689Skan	"*sub<mode>3_cconly2"): New insn patterns.
14736169689Skan	("addsi3", "subsi3"): New expanders.
14737169689Skan
14738169689Skan2006-01-19  Dorit Nuzman  <dorit@il.ibm.com>
14739169689Skan
14740169689Skan	* Makefile.in (tree-vect-patterns.o): Add rule for new file.
14741169689Skan	* tree-vect-analyze.c (vect_determine_vectorization_factor): Use
14742169689Skan	existing STMT_VINFO_VECTYPE if available.
14743169689Skan	(vect_mark_relevant): Add special handling for stmts that are
14744169689Skan	marked as STMT_VINFO_IN_PATTERN_P.
14745169689Skan	(vect_analyze_loop): Call vect_pattern_recog.
14746169689Skan	* tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
14747169689Skan	* tree-vectorizer.h (in_pattern_p, related_stmt): New fields in
14748169689Skan	stmt_info.
14749169689Skan	(STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT): New macros.
14750169689Skan	(vect_recog_func_ptr): New function-pointer type.
14751169689Skan	* tree-vect-patterns.c: New file.
14752169689Skan	(vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern):
14753169689Skan	(vect_recog_dot_prod_pattern, vect_pattern_recog):
14754169689Skan	(vect_pattern_recog_1): New functions.
14755169689Skan	(vect_pattern_recog_funcs): New array of function pointers.
14756169689Skan
14757169689Skan	* tree-vectorizer.h (ternary_op): New enum value.
14758169689Skan	* tree-vect-transform.c (vect_create_epilog_for_reduction): Added
14759169689Skan	declaration. Revised documentation. Removed redundant dump prints.
14760169689Skan	Removed redundant argument. Added support for reduction patterns.
14761169689Skan	(vectorizable_reduction): Added support for reduction patterns.
14762169689Skan	(vect_transform_stmt): Added support for patterns.
14763169689Skan
14764169689Skan	* expr.c (expand_expr_real_1): Added case for DOT_PROD_EXPR.
14765169689Skan	* genopinit.c (udot_prod_optab, sdot_prod_optab): Initialize.
14766169689Skan	* optabs.c (optab_for_tree_code): Added case for DOT_PROD_EXPR.
14767169689Skan	(expand_widen_pattern_expr): New function.
14768169689Skan	(init_optabs): Initialize new optabs udot_prod_optab,
14769169689Skan	sdot_prod_optab.
14770169689Skan	* optabs.h (OTI_sdot_prod, OTI_udot_prod): New.
14771169689Skan	(sdot_prod_optab, udot_prod_optab): Define new optabs.
14772169689Skan	(expand_widen_pattern_expr): New function declaration.
14773169689Skan	* tree.def (DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR): New
14774169689Skan	tree-codes.
14775169689Skan	* tree-inline.c (estimate_num_insns_1): Added cases for new
14776169689Skan	tree-codes DOT_PROD_EXPR, WIDEN_SUM_EXPR, WIDEN_MULT_EXPR.
14777169689Skan	* tree-pretty-print.c (dump_generic_node): Likewise.
14778169689Skan	(op_prio): Likewise.
14779169689Skan	(op_symbol): Added cases for WIDEN_SUM_EXPR, WIDEN_MULT_EXPR.
14780169689Skan	* tree-ssa-operands.c (get_expr_operands): Added case for
14781169689Skan	DOT_PROD_EXPR.
14782169689Skan	* tree-vect-patterns.c (widened_name_p): New function.
14783169689Skan	(vect_recog_dot_prod_pattern): Added function implementation.
14784169689Skan	* tree-vect-transform.c (get_initial_def_for_reduction): Added
14785169689Skan	cases for DOT_PROD_EXPR, WIDEN_SUM_EXPR.
14786169689Skan	* config/rs6000/altivec.md (udot_prod<mode>, sdot_prodv8hi): New.
14787169689Skan	* config/i386/sse.md (sdot_prodv8hi, udot_prodv4si): New.
14788169689Skan
14789169689Skan	* expr.c (expand_expr_real_1): Added case for WIDEN_SUM_EXPR.
14790169689Skan	* genopinit.c (widen_ssum_optab, widen_usum_optab): Initialize.
14791169689Skan	* optabs.c (optab_for_tree_code): Added case for WIDEN_SUM_EXPR.
14792169689Skan	(init_optabs): Initialize new optabs widen_ssum_optab,
14793169689Skan	widen_usum_optab.
14794169689Skan	* optabs.h (OTI_widen_ssum, OTI_widen_usum): New.
14795169689Skan	(widen_ssum_optab, widen_usum_optab): Define new optabs.
14796169689Skan	* tree-vect-generic.c: (expand_vector_operations_1): Check type of
14797169689Skan	use instead of type of def.
14798169689Skan	* tree-vect-patterns.c (vect_recog_widen_sum_pattern): Added
14799169689Skan	function implementation.
14800169689Skan	* config/rs6000/altivec.md (widen_usum<mode>, widen_ssumv16qi,
14801169689Skan	widen_ssumv8hi): New.
14802169689Skan
14803169689Skan	* doc/tm.texi (ssum_widen, usum_widen, sdot_prod, udot_prod): New
14804169689Skan	patterns.
14805169689Skan
14806169689Skan2006-01-19  Richard Sandiford  <richard@codesourcery.com>
14807169689Skan
14808169689Skan	PR c/25805
14809169689Skan	* c-decl.c (add_flexible_array_elts_to_size): New function.
14810169689Skan	(finish_decl): Use it.
14811169689Skan
14812169689Skan2006-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
14813169689Skan
14814169689Skan	* diagnostic.h: Include options.h.
14815169689Skan	* config/rs6000/x-darwin (host-ppc-darwin.o): Correct the
14816169689Skan	dependancies for diagnostic.h.
14817169689Skan	* Makefile.in (DIAGNOSTIC_H): Add options.h.
14818169689Skan
14819169689Skan2006-01-16  Daniel Berlin  <dberlin@dberlin.org>
14820169689Skan
14821169689Skan	* tree-ssa-operands.h (ssa_call_clobbered_cache_valid): Remove.
14822169689Skan	(ssa_ro_call_cache_valid): Ditto.
14823169689Skan	* tree-ssa-alias.c (sort_tags_by_id): New function.
14824169689Skan	(init_transitive_clobber_worklist): Ditto.
14825169689Skan	(add_to_worklist): Ditto.
14826169689Skan	(mark_aliases_call_clobbered): Ditto.
14827169689Skan	(compute_tag_properties): Ditto.
14828169689Skan	(set_initial_properties): Ditto.
14829169689Skan	(compute_call_clobbered): Ditto.
14830169689Skan	(compute_may_aliases):	Call compute_call_clobbered and grouping.
14831169689Skan	(compute_flow_sensitive_aliasing): Remove clobbering related code.
14832169689Skan	(compute_flow_insensitive_aliasing): Grouping now happens in our
14833169689Skan	caller.
14834169689Skan	(setup_pointers_and_addressables): Remove clobbering related code.
14835169689Skan	(add_may_alias): Ditto.
14836169689Skan	(replace_may_alias): Ditto.
14837169689Skan	(get_nmt_for): Ditto.
14838169689Skan	(create_global_var):
14839169689Skan	(is_escape_site): Return an escape_type enumeration.
14840169689Skan	* tree-flow-inline.h (is_call_clobbered): Global var does not
14841169689Skan	imply call clobbered.
14842169689Skan	(mark_call_clobbered): Take a reason for marking this. Remove
14843169689Skan	marking of globalness, and cache invalidation.
14844169689Skan	(clear_call_clobbered): Remove cache invalidation code.
14845169689Skan	* tree-dfa.c (dump_variable): If details is on, dump the reason
14846169689Skan	for escaping.
14847169689Skan	* tree-outof-ssa.c (create_temp): Copy escape mask from original
14848169689Skan	variable.
14849169689Skan	* tree-flow.h (struct ptr_info_def): Add escape mask member.
14850169689Skan	(struct var_ann_d): Ditto.
14851169689Skan	(enum escape_type): New.
14852169689Skan	(mark_call_clobbered): Adjust prototype.
14853169689Skan	* tree-ssa-structalias.c (update_alias_info): Unmodifiable vars
14854169689Skan	are never call clobbered.
14855169689Skan	Record reasons for escaping.
14856169689Skan	* tree-ssa-structalias.h (is_escape_site): Update prototype.
14857169689Skan	* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): Remove.
14858169689Skan	(ssa_ro_call_cache_valid): Ditto.
14859169689Skan	(clobbered_v_may_defs): Ditto.
14860169689Skan	(clobbered_vuses): Ditto.
14861169689Skan	(ro_call_vuses): Ditto.
14862169689Skan	(clobber_stats): New.
14863169689Skan	(init_ssa_operands): Zero out clobber stats.
14864169689Skan	(fini_ssa_operands): Print out clobber stats.
14865169689Skan	(get_call_expr_operands): Pass callee fndecl to
14866169689Skan	add_call_read_ops).
14867169689Skan	(add_call_clobber_ops): Remove use of cache.
14868169689Skan	Add use of PURE_CONST information.
14869169689Skan	(add_call_read_ops): Remove use of cache.
14870169689Skan	Add use of static not_read information.
14871169689Skan
14872169689Skan2006-01-18  Alexandre Oliva  <aoliva@redhat.com>
14873169689Skan
14874169689Skan	Introduce TLS descriptors for i386 and x86_64.
14875169689Skan	* config/i386/i386.h (TARGET_GNU2_TLS): New macro.
14876169689Skan	(TARGET_ANY_GNU_TLS): New macro.
14877169689Skan	(enum tls_dialect): Added TLS_DIALECT_GNU2.
14878169689Skan	(struct machine_function): Add tls_descriptor_call_expanded_p.
14879169689Skan	(ix86_tls_descriptor_calls_expande_in_cfun): New macro.
14880169689Skan	(ix86_current_function_calls_tls_descriptor): Likewise.
14881169689Skan	* config/i386/i386.c (ix86_tls_dialect): Fix typo in comment.
14882169689Skan	(override_options): Introduce gnu2 tls dialect.
14883169689Skan	(ix86_frame_pointer_required): Functions containing TLSCALLs are
14884169689Skan	not leaves.
14885169689Skan	(ix86_select_alt_pic_regnum, ix86_compute_frame_layout):
14886169689Skan	Likewise.
14887169689Skan	(legitimize_tls_address): Adjust logic for GNU2 TLS.
14888169689Skan	(ix86_init_machine_status): Initialize new field.
14889169689Skan	(ix86_tls_get_addr): Use TARGET_ANY_GNU_TLS.
14890169689Skan	(ix86_tls_module_base): New.
14891169689Skan	* config/i386/i386-protos.h (ix86_tls_module_base): Declare it.
14892169689Skan	* config/i386/i386.md (UNSPEC_TLSDESC): New constant.
14893169689Skan	(tls_global_dynamic_32, tls_global_dynamic_64): Handle GNU2 TLS.
14894169689Skan	(tls_local_dynamic_base_32, tls_local_dynamic_base_64): Likewise.
14895169689Skan	(tls_dynamic_gnu2_32, *tls_dynamic_lea_32): New patterns.
14896169689Skan	(*tls_dynamic_call_32, *tls_dynamic_gnu2_combine_32): Likewise.
14897169689Skan	(tls_dynamic_gnu2_64, *tls_dynamic_lea_64): Likewise.
14898169689Skan	(*tls_dynamic_call_64, *tls_dynamic_gnu2_combine_64): Likewise.
14899169689Skan	* config/i386/predicates.md (tls_modbase_operand): New.
14900169689Skan	(tp_or_register_operand): New.
14901169689Skan
14902169689Skan2006-01-18  Daniel Berlin  <dberlin@dberlin.org>
14903169689Skan
14904169689Skan	* ipa-reference.c (check_operand): Allow FUNCTION_DECL.
14905169689Skan	(look_for_address_of): Ditto.
14906169689Skan	(ipa_init): Walk the function decls.
14907169689Skan	(static_execute): Don't set readonly on FUNCTION_DECL's.
14908169689Skan
14909169689Skan2006-01-18  Roger Sayle  <roger@eyesopen.com>
14910169689Skan
14911169689Skan	* config/i386/i386.md (shift spliter): Fix a a typo in the splitter
14912169689Skan	for shifts where the source and destination registers are different.
14913169689Skan
14914169689Skan2006-01-18  Paul Brook  <paul@codesourcery.com>
14915169689Skan
14916169689Skan	Merge from csl-arm-branch.
14917169689Skan	2005-03-14  Julian Brown  <julian@codesourcery.com>
14918169689Skan	* config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS.
14919169689Skan	(aeabi_llsl): Likewise.
14920169689Skan	(ashrdi3): Likewise.
14921169689Skan	(aeabi_lasr): Likewise.
14922169689Skan	(lshrdi3): Likewise.
14923169689Skan	(aeabi_llsr): Likewise.
14924169689Skan	2005-03-10  Julian Brown  <julian@codesourcery.com>
14925169689Skan	* config.gcc: Disable shared libgcc for SymbianOS.
14926169689Skan	* config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c.
14927169689Skan
14928169689Skan2006-01-18  DJ Delorie  <dj@redhat.com>
14929169689Skan
14930169689Skan	* c-pragma.c (handle_pragma_diagnostic): New.
14931169689Skan	(init_pragma): Register it.
14932169689Skan	* doc/extend.texi: Document it.
14933169689Skan
14934169689Skan	* diagnostic.def: Add DK_UNSPECIFIED and DK_IGNORED.
14935169689Skan	* diagnostic.h (diagnostic_classify_diagnostic): Declare.
14936169689Skan	(diagnostic_context): Add classify_diagnostic[].
14937169689Skan	* diagnostic.c (diagnostic_count_diagnostic): Don't count warnings
14938169689Skan	as errors if they're overridden to DK_WARNING.
14939169689Skan	(diagnostic_initialize): Initialize classify_diagnostic[].
14940169689Skan	(diagnostic_set_kind_override): New.
14941169689Skan	(diagnostic_report_diagnostic): Check for kind changes.
14942169689Skan	* opts.c (common_handle_option): Take lang_mask.  Update callers.
14943169689Skan	Handle OPT_Werror_.
14944169689Skan	* common.opt (Werror=): New.
14945169689Skan	* doc/invoke.texi: Document -Werror=*
14946169689Skan
14947169689Skan2006-01-18  Jeff Law  <law@redhat.com>
14948169689Skan
14949169689Skan	* tree-vrp.c (test_for_singularity): Correct test for new
14950169689Skan	min limit.  Use operand_equal_p rather than pointer equality
14951169689Skan	for testing if new min/max values are equal.
14952169689Skan
14953169689Skan	* tree-ssa-propagate.c (substitute_and_fold): Delay simplifications
14954169689Skan	using range information until after propagation and folding.
14955169689Skan
14956169689Skan2006-01-18  Richard Henderson  <rth@redhat.com>
14957169689Skan	    Aldy Hernandez  <aldyh@redhat.com>
14958169689Skan	    Jakub Jelinek  <jakub@redhat.com>
14959169689Skan	    Diego Novillo  <dnovillo@redhat.com>
14960169689Skan
14961169689Skan	* omp-low.c: New file.
14962169689Skan	* c-omp.c: New file.
14963169689Skan
14964169689Skan2006-01-18  Richard Henderson  <rth@redhat.com>
14965169689Skan	    Jakub Jelinek  <jakub@redhat.com>
14966169689Skan	    Diego Novillo  <dnovillo@redhat.com>
14967169689Skan
14968169689Skan	* doc/invoke.texi: Document -fopenmp.
14969169689Skan	* tree-dump.h (debug_function): Declare.
14970169689Skan	* hooks.c (hook_bool_tree_bool_false): New function.
14971169689Skan	(hook_tree_tree_null): Remove.
14972169689Skan	(hook_tree_tree_tree_null): New.
14973169689Skan	* hooks.h: Update to match.
14974169689Skan	* tree-pretty-print.c (debug_tree_chain): New.
14975169689Skan	(print_generic_expr): Handle TDF_CHAIN.
14976169689Skan	(dump_generic_node): Handle BLOCK.
14977169689Skan	Do not abort with incomplete SWITCH_EXPRs.
14978169689Skan	Do not dump body of an OpenMP directive if TDF_SLIM is given.
14979169689Skan	<case OMP_PARALLEL, OMP_FOR, OMP_SECTIONS>: Don't
14980169689Skan	print space after directive name.
14981169689Skan	<OMP_FOR>: Handle printing OMP_FOR_PRE_BODY.
14982169689Skan	Handle OMP_MASTER and OMP_ORDERED.
14983169689Skan	Handle printing of OMP_BODY just in one place, goto
14984169689Skan	dump_omp_body in the rest of OMP_* nodes that have
14985169689Skan	OMP_BODY.
14986169689Skan	Don't handle clause nodes here.  Update omp statements to
14987169689Skan	use dump_omp_clauses.
14988169689Skan	Handle OMP_SINGLE, OMP_SECTIONS, OMP_SECTION,
14989169689Skan	OMP_CLAUSE_ORDERED, OMP_CLAUSE_SCHEDULE, OMP_ATOMIC,
14990169689Skan	OMP_CRITICAL, OMP_CLAUSE_NOWAIT, GOMP_CLAUSE_IF,
14991169689Skan	GOMP_CLAUSE_NUM_THREADS, GOMP_FOR, GOMP_CLAUSE_SHARED,
14992169689Skan	GOMP_CLAUSE_FIRSTPRIVATE, GOMP_CLAUSE_LASTPRIVATE,
14993169689Skan	GOMP_CLAUSE_COPYIN and GOMP_CLAUSE_COPYPRIVATE.
14994169689Skan	Adjust output for GOMP_PARALLEL.
14995169689Skan	(dump_omp_clauses): New.
14996169689Skan	(print_declaration): Dump DECL_VALUE_EXPR.
14997169689Skan	(op_symbol_1): Split out of op_symbol.
14998169689Skan	(dumping_stmts): Remove.  Update all users.
14999169689Skan	* cgraph.c (cgraph_analyze_queue): New.
15000169689Skan	(cgraph_add_new_function): New.
15001169689Skan	* cgraph.h (cgraph_analyze_queue): Declare.
15002169689Skan	(cgraph_add_new_function): Declare.
15003169689Skan	(cgraph_lower_function): Remove.
15004169689Skan	* tree.c (walk_tree): Walk OMP_CLAUSE_CHAIN of OMP_CLAUSE_*
15005169689Skan	nodes.  Use switch for all nodes, handle most of IS_EXPR_CODE_CLASS
15006169689Skan	and TYPE_P nodes in its default clause.
15007169689Skan	(empty_body_p): New.
15008169689Skan	(tree_range_check_failed): New.
15009169689Skan	(build5_stat): New.
15010169689Skan	* tree.h (OMP_CLAUSE_REDUCTION_INIT,
15011169689Skan	OMP_CLAUSE_REDUCTION_MERGE,
15012169689Skan	OMP_CLAUSE_REDUCTION_PLACEHOLDER,
15013169689Skan	OMP_CLAUSE_PRIVATE_DEBUG,
15014169689Skan	OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE, OMP_FOR_PRE_BODY,
15015169689Skan	OMP_MASTER_BODY, OMP_ORDERED_BODY OMP_BODY,
15016169689Skan	OMP_CLAUSES, OMP_CLAUSE_DECL, OMP_CLAUSE_DEFAULT_KIND,
15017169689Skan	OMP_CLAUSE_CHAIN, OMP_CLAUSE_OUTER_DECL,
15018169689Skan	OMP_CLAUSE_INNER_DECL, OMP_CLAUSE_NUM_THREADS_EXPR,
15019169689Skan	OMP_CLAUSE_IF_EXPR, OMP_CLAUSE_SCHEDULE_CHUNK_EXPR,
15020169689Skan	OMP_CLAUSE_SCHEDULE_CHUNK_SIZE. OMP_PARALLEL_VAR_INIT,
15021169689Skan	OMP_PARALLEL_VAR_REDUC, OMP_FOR_VAR_INIT,
15022169689Skan	OMP_FOR_VAR_LAST, OMP_FOR_VAR_REDUC,
15023169689Skan	OMP_SECTIONS_VAR_INIT, OMP_SECTIONS_VAR_LAST,
15024169689Skan	OMP_SECTIONS_VAR_REDUC, OMP_CLAUSE_REDUCTION_CODE
15025169689Skan	OMP_SINGLE_CLAUSES, OMP_SINGLE_BODY,
15026169689Skan	OMP_CLAUSE_SCHEDULE_CHUNK_SIZE, OMP_SECTION_BODY,
15027169689Skan	OMP_CRITICAL_NAME, OMP_CRITICAL_BODY): New.
15028169689Skan	(TREE_RANGE_CHECK): New.
15029169689Skan	(empty_body_p): Declare.
15030169689Skan	(enum omp_clause_default_kind): New.
15031169689Skan	(build_string_literal): Declare.
15032169689Skan	(enum omp_clause_schedule_kind, OMP_CLAUSE_SCHEDULE_KIND): New.
15033169689Skan	(build5_stat, build5): Declare.
15034169689Skan	* tree-pass.h (TDF_CHAIN): Define.
15035169689Skan	* tree-pass.h (PROP_gimple_lomp): Define.
15036169689Skan	(pass_lower_omp): Declare.
15037169689Skan	* diagnostic.h (debug_tree_chain): Declare.
15038169689Skan	* builtins.c (get_builtin_sync_mode): Use 0 as last argument to
15039169689Skan	mode_for_size.
15040169689Skan	(expand_builtin): Handle sync BUILT_IN_*_16 builtins.
15041169689Skan	* builtins.c (build_string_literal): Make extern.
15042169689Skan	* gcc.c (include_spec_function): New.
15043169689Skan	(static_spec_functions): Add it.
15044169689Skan	(main): Move load of libgomp.spec ...
15045169689Skan	(LINK_COMMAND_SPEC): ... here.
15046169689Skan	(link_gomp_spec): New.
15047169689Skan	(static_specs): Include it.
15048169689Skan	(LINK_COMMAND_SPEC): Add link_gomp.
15049169689Skan	(GOMP_SELF_SPECS): New.
15050169689Skan	(driver_self_specs): Include it.
15051169689Skan	(switch_matches): Don't mark inline.
15052169689Skan	(main): Load libgomp.spec.
15053169689Skan	* tree-gimple.c (is_gimple_stmt): True for OMP_MASTER,
15054169689Skan	OMP_ORDERED, OMP_CRITICAL, OMP_SECTIONS, OMP_SECTION,
15055169689Skan	and OMP_SINGLE, OMP_FOR and OMP_PARALLEL.
15056169689Skan	* tree-gimple.h (enum omp_parallel): Declare.
15057169689Skan	(determine_parallel_type): Declare.
15058169689Skan	(omp_firstprivatize_variable): Declare.
15059169689Skan	(omp_reduction_init): Declare.
15060169689Skan	(diagnose_omp_structured_block_errors): Declare.
15061169689Skan	(struct walk_stmt_info): Add want_return_expr.
15062169689Skan	(struct walk_stmt_info): Add want_bind_expr, want_locations.
15063169689Skan	(find_omp_clause): Declare.
15064169689Skan	(insert_field_into_struct): Declare.
15065169689Skan	(struct walk_stmt_info): Move from tree-nested.c
15066169689Skan	(walk_stmts): Declare.
15067169689Skan	* c-cppbuiltin.c (c_cpp_builtins): If -fopenmp, #define _OPENMP
15068169689Skan	to 200505.
15069169689Skan	* cgraphunit.c (cgraph_lower_function): Make static.
15070169689Skan	(cgraph_finalize_pending_functions): New.
15071169689Skan	(cgraph_finalize_function): Call it.
15072169689Skan	(cgraph_finalize_compilation_unit): Likewise.
15073169689Skan	* builtin-types.def (BT_I16, BT_FN_I16_VPTR_I16,
15074169689Skan	BT_FN_BOOL_VPTR_I16_I16, BT_FN_I16_VPTR_I16_I16): Add.
15075169689Skan	(BT_FN_UINT_UINT): New.
15076169689Skan	(DEF_FUNCTION_TYPE_6, DEF_FUNCTION_TYPE_7,
15077169689Skan	DEF_FUNCTION_TYPE_VAR_4): Document.
15078169689Skan	(BT_PTR_LONG, BT_PTR_PTR, BT_FN_BOOL, BT_FN_INT,
15079169689Skan	BT_FN_VOID_PTRPTR, BT_PTR_FN_VOID_PTR,
15080169689Skan	BT_FN_BOOL_LONGPTR_LONGPTR, BT_FN_VOID_OMPFN_PTR_UINT,
15081169689Skan	BT_FN_VOID_OMPFN_PTR_UINT_UINT,
15082169689Skan	BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
15083169689Skan	BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
15084169689Skan	BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
15085169689Skan	BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG): New.
15086169689Skan	* builtins.def: Update DEF_BUILTIN comment to include COND argument.
15087169689Skan	Move all DEF_SYNC_BUILTIN () and DEF_GOMP_BUILTIN () builtins
15088169689Skan	into separate files.
15089169689Skan	(DEF_GOMP_BUILTIN): New.
15090169689Skan	(BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_GOMP_BARRIER,
15091169689Skan	BUILT_IN_GOMP_CRITICAL_START, BUILT_IN_GOMP_CRITICAL_END,
15092169689Skan	BUILT_IN_GOMP_CRITICAL_NAME_START, BUILT_IN_GOMP_CRITICAL_NAME_END,
15093169689Skan	BUILT_IN_GOMP_LOOP_STATIC_START, BUILT_IN_GOMP_LOOP_DYNAMIC_START,
15094169689Skan	BUILT_IN_GOMP_LOOP_GUIDED_START, BUILT_IN_GOMP_LOOP_RUNTIME_START,
15095169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
15096169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
15097169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
15098169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
15099169689Skan	BUILT_IN_GOMP_LOOP_STATIC_NEXT, BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT,
15100169689Skan	BUILT_IN_GOMP_LOOP_GUIDED_NEXT, BUILT_IN_GOMP_LOOP_RUNTIME_NEXT,
15101169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
15102169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
15103169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
15104169689Skan	BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
15105169689Skan	BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
15106169689Skan	BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
15107169689Skan	BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
15108169689Skan	BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
15109169689Skan	BUILT_IN_GOMP_LOOP_END, BUILT_IN_GOMP_LOOP_END_NOWAIT,
15110169689Skan	BUILT_IN_GOMP_ORDERED_START, BUILT_IN_GOMP_ORDERED_END,
15111169689Skan	BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_PARALLEL_END,
15112169689Skan	BUILT_IN_GOMP_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_NEXT,
15113169689Skan	BUILT_IN_GOMP_PARALLEL_SECTIONS_START, BUILT_IN_GOMP_SECTIONS_END,
15114169689Skan	BUILT_IN_GOMP_SECTIONS_END_NOWAIT, BUILT_IN_GOMP_SINGLE_START,
15115169689Skan	BUILT_IN_GOMP_SINGLE_COPY_START, BUILT_IN_GOMP_SINGLE_COPY_END): New.
15116169689Skan	* sync-builtins.def: New file, moved from builtins.def.
15117169689Skan	* omp-builtins.def: New file, moved from builtins.def.
15118169689Skan	* c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
15119169689Skan	* gimple-low.c (lower_function_body): Clear data.
15120169689Skan	(lower_stmt): Do not handle COMPOUND_EXPR.
15121169689Skan	Remove call to print_node_brief.
15122169689Skan	* c-tree.h (c_finish_omp_clauses): New prototype.
15123169689Skan	(C_DECL_THREADPRIVATE_P): Define.
15124169689Skan	(lookup_name_no_remap, c_omp_remap_private): Remove
15125169689Skan	(c_begin_omp_parallel, c_finish_omp_parallel): Update.
15126169689Skan	(check_for_loop_decls): Update decl.
15127169689Skan	(lookup_name_no_remap, c_omp_remap_private): Declare.
15128169689Skan	(build_indirect_ref, build_modify_expr, pushdecl,
15129169689Skan	pushdecl_top_level): Move to c-common.h.
15130169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Don't set unsignedp
15131169689Skan	before the switch, but just in the 2 places that need it.
15132169689Skan	* c-decl.c (diagnose_mismatched_decls): Do not check for
15133169689Skan	mismatched thread-local attributes when OLDDECL is marked
15134169689Skan	threadprivate and NEWDECL has no thread-local attributes.
15135169689Skan	(merge_decls): Merge C_DECL_THREADPRIVATE_P.
15136169689Skan	(c_gimple_diagnostics_recursively): Rename from
15137169689Skan	c_warn_unused_result_recursively.  Invoke
15138169689Skan	diagnose_omp_structured_block_errors.
15139169689Skan	(check_for_loop_decls): Return a singular decl found.
15140169689Skan	* langhooks.c (lhd_omp_predetermined_sharing): Return
15141169689Skan	OMP_CLAUSE_DEFAULT_SHARED for DECL_ARTIFICIAL decls.
15142169689Skan	(lhd_omp_firstprivatize_type_sizes): New.
15143169689Skan	(lhd_omp_assignment): New.
15144169689Skan	(lhd_omp_predetermined_sharing): New.
15145169689Skan	* langhooks.h (struct gimplify_omp_ctx): Forward declare.
15146169689Skan	(struct lang_hooks_for_types): Add
15147169689Skan	omp_firstprivatize_type_sizes, omp_privatize_by_reference,
15148169689Skan	omp_predetermined_sharing, omp_disregard_value_expr,
15149169689Skan	omp_private_debug_clause, omp_clause_default_ctor,
15150169689Skan	omp_clause_copy_ctor, omp_clause_assign_op, omp_clause_dtor.
15151169689Skan	(c_finish_omp_clauses): New.
15152169689Skan	(c_finish_bc_stmt): Diagnose break within omp for.
15153169689Skan	(c_begin_omp_parallel, c_finish_omp_parallel): New.
15154169689Skan	(build_unary_op): Return error_mark after reporting
15155169689Skan	a readonly_error.
15156169689Skan	(build_modify_expr): Likewise.
15157169689Skan	* gimplify.c: Include optabs.h and pointer-set.h.
15158169689Skan	(enum gimplify_omp_var_data): Declare.
15159169689Skan	(struct gimplify_omp_ctx): Declare.
15160169689Skan	(struct gimplify_ctx): Add fields prev_context, combined_pre_p
15161169689Skan	and combined_ctxp.
15162169689Skan	(gimplify_ctxp, gimplify_omp_ctxp): New local variables.
15163169689Skan	(push_gimplify_context, pop_gimplify_context): Allow nesting.
15164169689Skan	(splay_tree_compare_decl_uid): New.
15165169689Skan	(new_omp_context): New.
15166169689Skan	(delete_omp_context): New.
15167169689Skan	(gimple_add_tmp_var): Call omp_add_variable.
15168169689Skan	(gimplify_bind_expr): Likewise.
15169169689Skan	(gimplify_var_or_parm_decl): If omp_notice_variable returned
15170169689Skan	true, disregard DECL_VALUE_EXPR on the decl if any.
15171169689Skan	(gimplify_expr_in_ctx): New.
15172169689Skan	(omp_firstprivatize_variable, omp_firstprivatize_type_sizes
15173169689Skan	omp_add_variable, omp_notice_variable, omp_is_private
15174169689Skan	gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses_1
15175169689Skan	gimplify_adjust_omp_clauses, gimplify_omp_parallel
15176169689Skan	gimplify_omp_for, gimplify_omp_workshare, goa_lhs_expr_p
15177169689Skan	gimplify_omp_atomic_fetch_op, goa_stabilize_expr
15178169689Skan	gimplify_omp_atomic_pipeline, gimplify_omp_atomic_mutex
15179169689Skan	gimplify_omp_atomic): New.
15180169689Skan	(gimplify_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
15181169689Skan	OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
15182169689Skan	OMP_CRITICAL and OMP_ATOMIC.
15183169689Skan	(gimplify_body): Verify gimplify_ctxp is empty after gimplification.
15184169689Skan	* c-pragma.h (enum pragma_kind): Add
15185169689Skan	PRAGMA_OMP_ATOMIC, PRAGMA_OMP_BARRIER,
15186169689Skan	PRAGMA_OMP_CRITICAL, PRAGMA_OMP_FLUSH, PRAGMA_OMP_FOR,
15187169689Skan	PRAGMA_OMP_MASTER, PRAGMA_OMP_ORDERED,
15188169689Skan	PRAGMA_OMP_PARALLEL, PRAGMA_OMP_PARALLEL_FOR,
15189169689Skan	PRAGMA_OMP_PARALLEL_SECTIONS, PRAGMA_OMP_SECTION,
15190169689Skan	PRAGMA_OMP_SECTIONS, PRAGMA_OMP_SINGLE,
15191169689Skan	PRAGMA_OMP_THREADPRIVATE.
15192169689Skan	* tree.def (OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
15193169689Skan	OMP_SINGLE, OMP_SECTION, OMP_MASTER, OMP_ORDERED,
15194169689Skan	OMP_CRITICAL, OMP_ATOMIC, OMP_CLAUSE_PRIVATE,
15195169689Skan	OMP_CLAUSE_SHARED, OMP_CLAUSE_FIRSTPRIVATE,
15196169689Skan	OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION,
15197169689Skan	OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE,
15198169689Skan	OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
15199169689Skan	OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT,
15200169689Skan	OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Define.
15201169689Skan	* print-tree.c (print_node): Dump DECL_VALUE_EXPR.
15202169689Skan	* tree-ssa-dce.c (find_control_dependence): Do not assume that
15203169689Skan	ENTRY_BLOCK_PTR->next_bb == single_succ (ENTRY_BLOCK_PTR).
15204169689Skan	* tree-nested.c (convert_call_expr): Call walk_body on OMP_BODY for
15205169689Skan	OpenMP directives.
15206169689Skan	(struct nesting_info): Add field_map,
15207169689Skan	suppress_expansion, debug_var_chain.
15208169689Skan	(create_nesting_tree): Initialize them.
15209169689Skan	(lookup_field_for_decl): Use field_map.
15210169689Skan	(get_nonlocal_debug_decl, get_local_debug_decl): New.
15211169689Skan	(convert_local_omp_clauses): New.
15212169689Skan	(finalize_nesting_tree_1): Add debug_var_chain to toplevel block.
15213169689Skan	(walk_body): Split out of walk_function.
15214169689Skan	(convert_nonlocal_omp_clauses, convert_local_omp_clauses): New.
15215169689Skan	(convert_nonlocal_reference): Handle omp statements.
15216169689Skan	(convert_local_reference): Likewise.
15217169689Skan	(unnest_nesting_tree_1): Split out of finalize_nesting_tree_1.
15218169689Skan	(unnest_nesting_tree): New.
15219169689Skan	(lower_nested_functions): Call it.
15220169689Skan	(insert_field_into_struct): Make extern.
15221169689Skan	(struct walk_stmt_info): Move to tree-gimple.h.
15222169689Skan	(walk_stmts): Make extern.
15223169689Skan	* omp-builtins.def: New file.
15224169689Skan	* tree-iterator.c (expr_only): Clarify comment.
15225169689Skan	* c-common.h (pushdecl_top_level, pushdecl,
15226169689Skan	build_modify_expr, build_indirect_ref,
15227169689Skan	c_finish_omp_master, c_finish_omp_critical,
15228169689Skan	c_finish_omp_ordered, c_finish_omp_barrier,
15229169689Skan	c_finish_omp_atomic, c_finish_omp_flush,
15230169689Skan	c_finish_omp_for, c_split_parallel_clauses,
15231169689Skan	omp_clause_default_kind, c_omp_sharing_predetermined,
15232169689Skan	c_omp_remap_decl): Declare.
15233169689Skan	* Makefile.in (BUILTINS_DEF): Add omp-builtins.def.
15234169689Skan	(OBJS-common): Add omp-low.o.
15235169689Skan	(c-omp.o, omp-low.o): Add.
15236169689Skan	(gimplify.o): Add dependency on $(OPTABS_H).
15237169689Skan	(GTFILES): Add omp-low.c.
15238169689Skan	(gt-stringpool.h): Add.
15239169689Skan	* tree-cfg.c (set_bb_for_stmt): Do not update the
15240169689Skan	block-to-labels map if we are currently expanding to RTL.
15241169689Skan	(tree_node_can_be_shared): Remove unnecessary CONSTANT_CLASS_P
15242169689Skan	checks.
15243169689Skan	Handle IDENTIFIER_NODE.
15244169689Skan	(tree_verify_flow_info): Do not ICE when emitting error
15245169689Skan	messages about invalid labels.
15246169689Skan	(dump_function_to_file): Reset CFUN before emitting the body
15247169689Skan	of the function.
15248169689Skan	(debug_function): New.
15249169689Skan	* passes.c (init_optimization_passes): Schedule
15250169689Skan	pass_lower_omp.
15251169689Skan	* langhooks-def.h (lhd_omp_predetermined_sharing,
15252169689Skan	lhd_omp_assignment, lhd_omp_firstprivatize_type_sizes):
15253169689Skan	Declare.
15254169689Skan	(LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES): Define.
15255169689Skan	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
15256169689Skan	(LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE,
15257169689Skan	LANG_HOOKS_OMP_PREDETERMINED_SHARING,
15258169689Skan	LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR,
15259169689Skan	LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE,
15260169689Skan	LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR,
15261169689Skan	LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
15262169689Skan	LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP,
15263169689Skan	LANG_HOOKS_OMP_CLAUSE_DTOR): Define.
15264169689Skan	(LANG_HOOK_DECLS): Use them.
15265169689Skan
15266169689Skan2006-01-18  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
15267169689Skan	    Richard Henderson  <rth@redhat.com>
15268169689Skan	    Jakub Jelinek  <jakub@redhat.com>
15269169689Skan	    Diego Novillo  <dnovillo@redhat.com>
15270169689Skan
15271169689Skan	* c-parser.c (pragma_omp_clause): Define.
15272169689Skan	(c_parser_declaration_or_fndef): Document OpenMP syntax.
15273169689Skan	(c_parser_compound_statement): Likewise.
15274169689Skan	(c_parser_statement): Likewise.
15275169689Skan	(c_parser_pragma): Handle omp pragmas.
15276169689Skan	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
15277169689Skan	OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK): Define.
15278169689Skan	(c_parser_omp_clause_name, check_no_duplicate_clause,
15279169689Skan	c_parser_omp_variable_list,
15280169689Skan	c_parser_omp_var_list_parens, c_parser_omp_clause_copyin,
15281169689Skan	c_parser_omp_clause_copyprivate,
15282169689Skan	c_parser_omp_clause_default,
15283169689Skan	c_parser_omp_clause_firstprivate, c_parser_omp_clause_if,
15284169689Skan	c_parser_omp_clause_lastprivate,
15285169689Skan	c_parser_omp_clause_nowait,
15286169689Skan	c_parser_omp_clause_num_threads,
15287169689Skan	c_parser_omp_clause_ordered, c_parser_omp_clause_private,
15288169689Skan	c_parser_omp_clause_reduction,
15289169689Skan	c_parser_omp_clause_schedule, c_parser_omp_clause_shared,
15290169689Skan	c_parser_omp_all_clauses, c_parser_omp_structured_block,
15291169689Skan	c_parser_omp_atomic, c_parser_omp_barrier,
15292169689Skan	c_parser_omp_critical, c_parser_omp_flush,
15293169689Skan	c_parser_omp_for_loop, c_parser_omp_for,
15294169689Skan	c_parser_omp_master, c_parser_omp_ordered,
15295169689Skan	c_parser_omp_sections_scope, c_parser_omp_sections,
15296169689Skan	c_parser_omp_parallel, c_parser_omp_single,
15297169689Skan	c_parser_omp_construct, c_parser_omp_threadprivate): New.
15298169689Skan	* c-pragma.c (init_pragma): Do omp pragma registration here.
15299169689Skan	* c.opt (fopenmp): New flag.
15300169689Skan
15301169689Skan2006-01-18  Eric Christopher  <echristo@apple.com>
15302169689Skan
15303169689Skan	* gcc.c (GOMP_SELF_SPECS): Bracket in #ifndef/#endif.
15304169689Skan	* config/darwin.h (GOMP_SELF_SPECS): Define.
15305169689Skan
15306169689Skan2006-01-18  Kazu Hirata  <kazu@codesourcery.com>
15307169689Skan
15308169689Skan	* rtl.h: Remove the prototype for reg_alloc.
15309169689Skan
15310169689Skan2006-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15311169689Skan
15312169689Skan	PR target/25731
15313169689Skan	* config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
15314169689Skan	hppa[12]*-*-hpux11*): Override default shared libgcc version for both
15315169689Skan	sjlj and dwarf2 exception handling.
15316169689Skan	* pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
15317169689Skan	Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
15318169689Skan	* pa/pa.c (function_value): Treat complex and vector types as
15319169689Skan	aggregates.
15320169689Skan	(function_arg): Likewise.  Only pass scalar floats in the floating
15321169689Skan	point argument registers.
15322169689Skan	* pa/t-slibgcc-dwarf-ver: New file.
15323169689Skan	* pa/t-slibgcc-sjlj-ver: New file.
15324169689Skan	* pa/t-slibgcc-elf-ver: Delete file.
15325169689Skan
15326169689Skan2006-01-19  Alan Modra  <amodra@bigpond.net.au>
15327169689Skan
15328169689Skan	* config/rs6000/rs6000.c (rs6000_assemble_integer): Correct
15329169689Skan	unlikely_test_section_p test.
15330169689Skan
15331169689Skan2006-01-18  Kazu Hirata  <kazu@codesourcery.com>
15332169689Skan
15333169689Skan	* mode-switching.c (optimize_mode_switching): Make it static.
15334169689Skan	* basic-block.h: Remove the prototype for
15335169689Skan	optimize_mode_switching.
15336169689Skan
15337169689Skan	* modulo-sched.c (sms_schedule): Make it static.
15338169689Skan	* rtl.h: Remove the prototype for sms_schedule.
15339169689Skan
15340169689Skan	* postreload-gcse.c (gcse_after_reload_main): Make it static.
15341169689Skan	* rtl.h: Remove the prototype for gcse_after_reload_main.
15342169689Skan
15343169689Skan	* reg-stack.c (reg_to_stack): Make it static.
15344169689Skan	* rtl.h: Remove the prototype for reg_to_stack.
15345169689Skan
15346169689Skan	* regrename.c (regrename_optimize, copyprop_hardreg_forward):
15347169689Skan	Make them static.
15348169689Skan	* rtl.h: Remove the prototypes for regrename_optimize and
15349169689Skan	copyprop_hardreg_forward.
15350169689Skan
15351169689Skan2006-01-18  Eric Botcazou  <ebotcazou@adacore.com>
15352169689Skan
15353169689Skan	* config/alpha/alpha.c (alpha_split_tfmode_pair): Rename into
15354169689Skan	alpha_split_tmode_pair.  Add 'mode' and 'fixup_overlap' arguments.
15355169689Skan	Test against the appropriate null constant for the mode.
15356169689Skan	If 'fixup_overlap' is true, swap the operands if they overlap.
15357169689Skan	(alpha_split_tfmode_frobsign): Adjust call to alpha_split_tfmode_pair.
15358169689Skan	* config/alpha/alpha-protos.h (alpha_split_tfmode_pair): Rename into
15359169689Skan	alpha_split_tmode_pair and adjust for above change.
15360169689Skan	* config/alpha/alpha.md (movtf_internal): Adjust call to
15361169689Skan	alpha_split_tfmode_pair and rely on it to swap the operands.
15362169689Skan	(movti_internal): New insn and post-reload splitter.
15363169689Skan	(movti): New expander.
15364169689Skan
15365169689Skan2006-01-18  Philippe De Muyter  <phdm@macqel.be>
15366169689Skan
15367169689Skan	* config/m68k/m68k.md (*addsi3_5200): Allow addq/subq to memory
15368169689Skan	operands.
15369169689Skan
15370169689Skan2006-01-18  Kazu Hirata  <kazu@codesourcery.com>
15371169689Skan
15372169689Skan	* rtlanal.c (global_reg_mentioned_p_1,
15373169689Skan	global_reg_mentioned_p): Remove.
15374169689Skan	* rtl.h: Remove the prototype for global_reg_mentioned_p.
15375169689Skan
15376169689Skan	* flow.c (initialize_uninitialized_subregs): Make it static.
15377169689Skan	* rtl.h: Remove the prototype for
15378169689Skan	initialize_uninitialized_subregs.
15379169689Skan
15380169689Skan	* function.c (instantiate_virtual_regs): Make it static.
15381169689Skan	* function.h: Remove the prototype for
15382169689Skan	instantiate_virtual_regs.
15383169689Skan
15384169689Skan	* regmove.c (regmove_optimize, combine_stack_adjustments):
15385169689Skan	Make them static.
15386169689Skan	* rtl.h: Remove the prototypes for regmove_optimize and
15387169689Skan	combine_stack_adjustments.
15388169689Skan
15389169689Skan2006-01-17  Roger Sayle  <roger@eyesopen.com>
15390169689Skan
15391169689Skan	* config/i386/i386.c (COSTS_N_BYTES): New macro.
15392169689Skan	(size_cost): Encode costs in bytes so that a reg-reg addition is
15393169689Skan	equivalent to COSTS_N_INSNS(1).
15394169689Skan	(override_options): Use the size_cost.branch_cost as the default
15395169689Skan	ix86_branch_cost when optimizing for size.
15396169689Skan
15397169689Skan2006-01-18  Ben Elliston  <bje@au.ibm.com>
15398169689Skan
15399169689Skan	* Makefile.in (D32PBIT_FUNCS): New.
15400169689Skan	(D64PBIT_FUNCS, D128PBIT_FUNCS): Likewise.
15401169689Skan	(libgcc.mk): Set D32PBIT, D64PBIT, D128PBIT, D32PBIT_FUNCS,
15402169689Skan	D64PBIT_FUNCS and D128PBIT_FUNCS.
15403169689Skan	(LIBGCC_DEPS): Include $(D32PBIT), $(D64PBIT), $(D128PBIT).
15404169689Skan	* mklibgcc.in Bring in the DFP support code if D32PBIT, D64PBIT or
15405169689Skan	D128PBIT are set.
15406169689Skan	(decnumber_dep): Define.
15407169689Skan	* doc/libgcc.texi (Decimal float library routines): New node.
15408169689Skan	* config/dfp-bit.h, config/dfp-bit.c: New files.
15409169689Skan
15410169689Skan2006-01-18  Ben Elliston  <bje@au.ibm.com>
15411169689Skan
15412169689Skan	* expr.c (emit_move_change_mode): Always adjust addresses, not
15413169689Skan	just during reload.  Copy replacements only during reload.
15414169689Skan	(emit_move_insn_1): Move MODE_DECIMAL_FLOAT modes by invoking
15415169689Skan	emit_move_via_integer.
15416169689Skan
15417169689Skan2006-01-17  Shantonu Sen  <ssen@opendarwin.org>
15418169689Skan
15419169689Skan	* Makefile.in (check-%, check-consistency): Use $${srcdir}
15420169689Skan	instead of $(srcdir) and ${srcdir}.
15421169689Skan
15422169689Skan2006-01-17  Richard Earnshaw  <rearnsha@arm.com>
15423169689Skan
15424169689Skan	PR target/592
15425169689Skan	PR middle-end/11135
15426169689Skan	* arm.h (struct machine_function): Add pic_reg.
15427169689Skan	* arm.c (arm_pic_register): Make unsigned.
15428169689Skan	(arm_override_options): Only set arm_pic_register if
15429169689Skan	TARGET_SINGLE_PIC_BASE.
15430169689Skan	(use_return_insn): Only test for a pic register if it is fixed.
15431169689Skan	(arm_compute_save_reg0_reg12_mask): Likewise.
15432169689Skan	(thumb_compute_save_reg_mask): Likewise.
15433169689Skan	(legitimate_pic_operand): Factor out some known invariants.
15434169689Skan	(legitimize_pic_address): If we don't have a fixed pic register,
15435169689Skan	then set up a pseudo in the function entry sequence.  Handle the
15436169689Skan	pic base being in a pseudo.
15437169689Skan	(arm_load_pic_register): Handle the pic register being in a pseudo.
15438169689Skan	(arm_expand_prologue): Only set up the pic register if it is fixed.
15439169689Skan	(thumb_expand_prologue): Likewise.
15440169689Skan	* arm.md (pic_load_addr_based): Handle the pic base being a pseudo.
15441169689Skan	(pic_load_addr_based_insn): Likewise.
15442169689Skan	(builtin_setjmp_receiver): Don't restore the pic base if it isn't
15443169689Skan	fixed.
15444169689Skan
15445169689Skan2006-01-18  Ben Elliston  <bje@au.ibm.com>
15446169689Skan
15447169689Skan	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Reject
15448169689Skan	decimal float modes for all floating point registers.
15449169689Skan
15450169689Skan	* config/rs6000/predicates.md (reg_or_mem_operand): Pair up
15451169689Skan	match_code "mem" with match_test "macho_lo_sum_memory_operand".
15452169689Skan
15453169689Skan2006-01-17  Jakub Jelinek  <jakub@redhat.com>
15454169689Skan
15455169689Skan	PR c/25682
15456169689Skan	* c-typeck.c (build_unary_op): Fold offsetof-like expressions
15457169689Skan	even when the pointer is not NULL.
15458169689Skan
15459169689Skan2006-01-16  Ian Lance Taylor  <ian@airs.com>
15460169689Skan
15461169689Skan	* common.opt (ftoplevel-reorder): New option.
15462169689Skan	* cgraph.c (cgraph_asm_nodes): New global variable.
15463169689Skan	(cgraph_asm_last_node): New static variable.
15464169689Skan	(cgraph_order): New global variable.
15465169689Skan	(cgraph_create_node): Set new order field.
15466169689Skan	(cgraph_varpool_node): Likewise.
15467169689Skan	(decide_is_variable_needed): Return true if not
15468169689Skan	flag_toplevel_reorder.
15469169689Skan	(cgraph_add_asm_node): New function.
15470169689Skan	* cgraph.h (struct cgraph_node): Add order field.
15471169689Skan	(struct cgraph_varpool_node): Add order field.
15472169689Skan	(struct cgraph_asm_node): Define.
15473169689Skan	(cgraph_asm_nodes, cgraph_order): Declare.
15474169689Skan	(cgraph_add_asm_node): Declare.
15475169689Skan	* cgraphunit.c (cgraph_varpool_assemble_decl): New static
15476169689Skan	function.
15477169689Skan	(cgraph_varpool_assemble_pending_decls): Call it.
15478169689Skan	(cgraph_output_pending_asms): New static function.
15479169689Skan	(cgraph_finalize_compilation_unit): Call it.
15480169689Skan	(struct cgraph_order_sort): Define.
15481169689Skan	(cgraph_output_in_order): New static function.
15482169689Skan	(cgraph_optimize): Call cgraph_output_pending_asms.  Add code for
15483169689Skan	!flag_toplevel_reorder case.
15484169689Skan	* c-parser.c: Include "cgraph.h".
15485169689Skan	(c_parser_asm_definition): Call cgraph_add_asm_node rather than
15486169689Skan	assemble_asm.
15487169689Skan	* Makefile.in (CRTSTUFF_CFLAGS): Use -fno-toplevel-reorder rather
15488169689Skan	than -fno-unit-at-a-time.
15489169689Skan	* doc/invoke.texi (Option Summary): Mention
15490169689Skan	-fno-toplevel-reorder.
15491169689Skan	(Optimize Options): Document -fno-toplevel-reorder.  Mention it in
15492169689Skan	-funit-at-a-time documentation.
15493169689Skan
15494169689Skan2006-01-17  Hans-Peter Nilsson  <hp@axis.com>
15495169689Skan	    Kazu Hirata  <kazu@codesourcery.com>
15496169689Skan
15497169689Skan	* Makefile.in (FUNCTION_H, LAMBDA_H): Use $(TREE_H), not tree.h.
15498169689Skan
15499169689Skan2006-01-17  Kazu Hirata  <kazu@codesourcery.com>
15500169689Skan
15501169689Skan	* Makefile.in (FUNCTION_H): New.  Use it instead of
15502169689Skan	function.h throughout the file.
15503169689Skan	* function.h: Include tree.h.
15504169689Skan
15505169689Skan2006-01-17  Ben Elliston  <bje@au.ibm.com>
15506169689Skan
15507169689Skan	* recog.c: Separate some functions with whitespace.
15508169689Skan
15509169689Skan2006-01-16  Richard Henderson  <rth@redhat.com>
15510169689Skan
15511169689Skan	Merge from gomp branch:
15512169689Skan	* Makefile.in (TREE_INLINE_H): New.  Use it as needed.
15513169689Skan	* tree-inline.h (struct copy_body_data): Move from tree-inline.c
15514169689Skan	and rename from struct inline_data.  Rename callee* to dst*;
15515169689Skan	caller* to src*; add copy_decl hook, transform_call_graph_edges,
15516169689Skan	transform_new_cfg, transform_return_to_modify, and
15517169689Skan	transform_lang_insert_block flags; remove cloning_p, versioning_p,
15518169689Skan	update_clones_p.
15519169689Skan	(copy_body_r, insert_decl_map, remap_decl, remap_type): Declare.
15520169689Skan	(copy_decl_for_dup): Remove.
15521169689Skan	* tree-inline.c (struct inline_data): Move to header.
15522169689Skan	(insert_decl_map): Export.
15523169689Skan	(remap_decl): Update for member name changes.  Use copy_decl hook.
15524169689Skan	Allow for replacement to be a non-decl.  Remove dead code.
15525169689Skan	(remap_type_1): Check for existing mapping.
15526169689Skan	(remap_type): Export.
15527169689Skan	(remap_decls): Update for member name changes.
15528169689Skan	(remap_block, copy_bb, copy_cfg_body, copy_generic_body): Likewise.
15529169689Skan	(copy_body, setup_one_parameter, declare_return_variable): Likewise.
15530169689Skan	(expand_call_inline, optimize_inline_calls, clone_body): Likewise.
15531169689Skan	(copy_tree_r, mark_local_for_remap_r, unsave_expr_now): Likewise.
15532169689Skan	(tree_function_versioning, build_duplicate_type): Likewise.
15533169689Skan	(copy_body_r): Likewise.  Export.
15534169689Skan	(copy_decl_for_dup): Split into ...
15535169689Skan	(copy_decl_for_dup_finish, copy_decl_to_var,
15536169689Skan	copy_decl_no_change, copy_decl_maybe_to_var): ... these.
15537169689Skan	(replace_ref_tree, inlining_p): Remove.
15538169689Skan
15539169689Skan2006-01-16  Kazu Hirata  <kazu@codesourcery.com>
15540169689Skan
15541169689Skan	* ifcvt.c (if_convert): Make it static.
15542169689Skan	* rtl.h: Remove the prototype for if_convert.
15543169689Skan
15544169689Skan	* local-alloc.c (local_alloc): Make it static.
15545169689Skan	* rtl.h: Remove the prototype for local_alloc.
15546169689Skan
15547169689Skan	* loop.c (loop_optimize): Make it static.
15548169689Skan	* cfgloop.h: Remove the prototype for loop_optimize.
15549169689Skan	* rtl.h: Likewise.
15550169689Skan
15551169689Skan2006-01-16  DJ Delorie  <dj@redhat.com>
15552169689Skan
15553169689Skan	* reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of
15554169689Skan	mems.
15555169689Skan
15556169689Skan2006-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15557169689Skan
15558169689Skan	* pa.md: Disparage copies between general and floating-point registers
15559169689Skan	in 32-bit move patterns.
15560169689Skan
15561169689Skan2006-01-16  H.J. Lu  <hongjiu.lu@intel.com>
15562169689Skan
15563169689Skan	PR testsuite/25741
15564169689Skan	* Makefile.in (check-%): Depend on site.exp instead of
15565169689Skan	$(TESTSUITEDIR)/site.exp. Run "runtest" in separate language
15566169689Skan	directories.
15567169689Skan
15568169689Skan2006-01-16  Kazu Hirata  <kazu@codesourcery.com>
15569169689Skan
15570169689Skan	* global.c (global_alloc): Make it static.
15571169689Skan	* rtl.h: Remove the prototype for global_alloc.
15572169689Skan
15573169689Skan2006-01-16  Richard Guenther  <rguenther@suse.de>
15574169689Skan
15575169689Skan	* tree-ssa-alias.c (struct used_part): Add write_only field.
15576169689Skan	(get_or_create_used_part_for): Initialize it to true.
15577169689Skan	(create_overlap_variables_for): Don't create structure variables
15578169689Skan	for structures that only are written to.
15579169689Skan	(find_used_portions): Handle MODIFY_EXPR to track whether a
15580169689Skan	structure is only written to.
15581169689Skan
15582169689Skan2006-01-16  Kazu Hirata  <kazu@codesourcery.com>
15583169689Skan
15584169689Skan	* bb-reorder.c (partition_hot_cold_basic_blocks): Make it
15585169689Skan	static.
15586169689Skan	* basic-block.h: Remove the prototype for
15587169689Skan	partition_hot_cold_basic_blocks.
15588169689Skan
15589169689Skan2006-01-16  Rafael �vila de Esp�����ndola <rafael.espindola@gmail.com>
15590169689Skan
15591169689Skan	* cppspec.c (lang_specific_spec_functions): Remove.
15592169689Skan	* gcc.c (lookup_spec_function): Use static_spec_functions directly.
15593169689Skan	* gcc.h (lang_specific_spec_functions): Remove.
15594169689Skan	* gccspec.c (lang_specific_spec_functions): Remove.
15595169689Skan
15596169689Skan2006-01-16  Paolo Bonzini  <bonzini@gnu.org>
15597169689Skan
15598169689Skan	* combine.c (record_value_for_reg): Invalidate registers
15599169689Skan	if INSN is null.
15600169689Skan	(record_dead_and_set_regs_1): Likewise, by passing them to
15601169689Skan	record_value_for_reg.
15602169689Skan	(record_dead_and_set_regs): Invalidate stores made by a
15603169689Skan	call.  We do not combine across a call, but we still
15604169689Skan	relied on equivalences.
15605169689Skan
15606169689Skan2006-01-16  Eric Botcazou  <ebotcazou@adacore.com>
15607169689Skan
15608169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Cope with
15609169689Skan	vrp_int_const_binop returning non-constant nodes.
15610169689Skan
15611169689Skan2006-01-16  Paul Brook  <paul@codesourcery.com>
15612169689Skan
15613169689Skan	* config/m68k/m68k.c (output_move_const_into_data_reg):
15614169689Skan	Output correct mnemonic for mvz and mvs.
15615169689Skan
15616169689Skan2006-01-16  Gabor Loki  <loki@gcc.gnu.org>
15617169689Skan
15618169689Skan	* rtl-factoring.c: Add sequence abstraction algorithm.
15619169689Skan	* cfgcleanup.c (outgoing_edges_match): Extra checks.
15620169689Skan	(try_crossjump_to_edge): Avoid deleting preserve label when redirecting
15621169689Skan	ABNORMAL edges.
15622169689Skan	(block_has_preserve_label): New function.
15623169689Skan	* common.opt: Register new pass.
15624169689Skan	* Makefile.in: Ditto.
15625169689Skan	* passes.c: Ditto.
15626169689Skan	* timevar.def: Ditto.
15627169689Skan	* tree-pass.h: Ditto.
15628169689Skan	* emit-rtl.c (make_jump_insn_raw): Remove forward decl.
15629169689Skan	* rtl.h (make_jump_insn_raw): Add forward decl.
15630169689Skan	* doc/invoke.texi: Add documentation for -frtl-abstract-sequences.
15631169689Skan
15632169689Skan2006-01-16  Eric Botcazou  <ebotcazou@adacore.com>
15633169689Skan	    Roger Sayle  <roger@eyesopen.com>
15634169689Skan
15635169689Skan	* fold-const.c (fold_minmax): New static function.
15636169689Skan	(fold_binary) <MIN_EXPR>: Call it.
15637169689Skan	<MAX_EXPR>: Likewise.
15638169689Skan	* stor-layout.c (place_field): Use DECL_SIZE consistently
15639169689Skan	in the computation of the new record size.
15640169689Skan
15641169689Skan2006-01-16  Kazu Hirata  <kazu@codesourcery.com>
15642169689Skan
15643169689Skan	* cse.c (cse_condition_code_reg): Make it static.
15644169689Skan	* rtl.h: Remove the prototype for cse_condition_code_reg.
15645169689Skan
15646169689Skan	* combine.c (combine_instructions): Make it static.
15647169689Skan	* rtl.h: Remove the prototype for combine_instructions.
15648169689Skan
15649169689Skan2006-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15650169689Skan
15651169689Skan	PR target/25168
15652169689Skan	* tree.c (get_file_function_name_long): Concatenate the first global
15653169689Skan	object name with a string derived from the input filename of the object
15654169689Skan	for type "F".
15655169689Skan
15656169689Skan2006-01-16  Ben Elliston  <bje@au.ibm.com>
15657169689Skan
15658169689Skan	* config/i386/winnt-stubs.c: Update FSF address.
15659169689Skan	* config/xtensa/ieee754-df.S: Ditto.
15660169689Skan	* config/xtensa/ieee754-sf.S: Ditto.
15661169689Skan
15662169689Skan2006-01-14  Ian Lance Taylor  <ian@airs.com>
15663169689Skan
15664169689Skan	* ifcvt.c (noce_init_if_info): New static function, broken out of
15665169689Skan	noce_process_if_block.
15666169689Skan	(noce_process_if_block): Call noce_init_if_info.
15667169689Skan	(check_cond_move_block): New static function.
15668169689Skan	(cond_move_process_if_block): New static function.
15669169689Skan	(process_if_block): Call cond_move_process_if_block.
15670169689Skan
15671169689Skan2006-01-15  Kazu Hirata  <kazu@codesourcery.com>
15672169689Skan
15673169689Skan	* cselib.c (hash_table): Rename to cselib_hash_table.
15674169689Skan	(cselib_clear_table, discard_useless_values,
15675169689Skan	remove_useless_values, cselib_lookup_mem, cselib_lookup,
15676169689Skan	cselib_init, cselib_finish): Adjust uses of hash_table.
15677169689Skan
15678169689Skan2006-01-14  Kazu Hirata  <kazu@codesourcery.com>
15679169689Skan
15680169689Skan	PR tree-optimization/25485
15681169689Skan	* tree-vrp.c (extract_range_from_binary_expr): Handle cases
15682169689Skan	where one of the operands of TRUTH_AND_EXPR and TRUTH_OR_EXPR
15683169689Skan	is known to be false and true, respectively.
15684169689Skan
15685169689Skan2006-01-14  Richard Guenther  <rguenther@suse.de>
15686169689Skan
15687169689Skan	PR tree-optimization/22548
15688169689Skan	PR tree-optimization/22555
15689169689Skan	PR tree-optimization/22501
15690169689Skan	* Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H).
15691169689Skan	* params.def (salias-max-array-elements): New parameter.
15692169689Skan	* params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define.
15693169689Skan	* doc/invoke.texi (salias-max-array-elements): Document.
15694169689Skan	* tree-flow-inline.h (var_can_have_subvars): We also handle
15695169689Skan	arrays now.
15696169689Skan	* tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like
15697169689Skan	COMPONENT_REF.
15698169689Skan	* tree-ssa-structalias.c (params.h): Include.
15699169689Skan	(push_fields_onto_fieldstack): Handle ARRAY_TYPE.
15700169689Skan	(find_func_aliases): Handle multiple constraints from ARRAY_REF.
15701169689Skan	(get_constraint_for): For ADDR_EXPR operating on something
15702169689Skan	containing an ARRAY_REF, add all subvars to the solution.
15703169689Skan	(handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types.
15704169689Skan	* tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF
15705169689Skan	for creating MUST_DEFs.
15706169689Skan	(get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars.
15707169689Skan
15708169689Skan2006-01-14  Zdenek Dvorak <dvorakz@suse.cz>
15709169689Skan
15710169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond): Split into several
15711169689Skan	functions.
15712169689Skan	(number_of_iterations_ne, number_of_iterations_lt_to_ne,
15713169689Skan	assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
15714169689Skan	number_of_iterations_le): New functions.
15715169689Skan	(number_of_iterations_special): Removed.
15716169689Skan	(number_of_iterations_exit): Do not use number_of_iterations_special.
15717169689Skan	* tree.c (unsigned_type_for): Always return integer type.
15718169689Skan
15719169689Skan2006-01-14  Steven Bosscher  <stevenb.gcc@gmail.com>
15720169689Skan	Richard Guenther  <rguenther@suse.de>
15721169689Skan
15722169689Skan	PR rtl-optimization/24257
15723169689Skan	* gcse.c (find_moveable_store): Only consider a store movable
15724169689Skan	when the SET_SRC of the insn can be assigned to a register.
15725169689Skan
15726169689Skan2006-01-14  Ian Lance Taylor  <ian@airs.com>
15727169689Skan
15728169689Skan	* tree.c (tree_not_class_check_failed): New function.
15729169689Skan	* tree.h (NON_TYPE_CHECK): Call tree_not_class_check_failed.
15730169689Skan	(tree_not_class_check_failed): Declare.
15731169689Skan
15732169689Skan2006-01-13  Ian Lance Taylor  <ian@airs.com>
15733169689Skan
15734169689Skan	* reload1.c (do_output_reload): Add assertion rejecting a
15735169689Skan	CALL_INSN.
15736169689Skan
15737169689Skan2006-01-13  Adam Nemet  <anemet@caviumnetworks.com>
15738169689Skan
15739169689Skan	* combine.c (struct reg_stat): Add new fields truncation_label and
15740169689Skan	truncated_to_mode.
15741169689Skan	(record_value_for_reg): Reset truncated_to_mode.
15742169689Skan	(record_truncated_value): New function.
15743169689Skan	(check_promoted_subreg): Call it.  Rename to check_conversions.
15744169689Skan	(combine_instructions): Rename check_promoted_subreg to
15745169689Skan	check_conversions.
15746169689Skan	(reg_truncated_to_mode): New function.
15747169689Skan	(make_extraction): Use it.  Check TRULY_NOOP_TRUNCATION.
15748169689Skan	(gen_lowpart_or_truncate): New function.
15749169689Skan	(force_to_mode): Use it instead of gen_lowpart.
15750169689Skan
15751169689Skan2006-01-13  Diego Novillo  <dnovillo@redhat.com>
15752169689Skan
15753169689Skan	* tree-ssa-alias.c (add_type_alias): Fix typo.  Test whether
15754169689Skan	VAR is a tag, not its type tag.
15755169689Skan
15756169689Skan2006-01-13  Alexandre Oliva  <aoliva@redhat.com>
15757169689Skan
15758169689Skan	* config/i386/sse.md (*vec_extractv2di_1_sse2): Reorder
15759169689Skan	alternatives to match style of other entries.
15760169689Skan	(*vec_extractv2di_1_sse): Likewise.  Fix mode attr.
15761169689Skan
15762169689Skan2006-01-13  Daniel Berlin  <dberlin@dberlin.org>
15763169689Skan
15764169689Skan	PR tree-optimization/25771
15765169689Skan	* tree-ssa-pre.c (insert_extra_phis): Don't insert merges of abnormal
15766169689Skan	SSA_NAMES.
15767169689Skan
15768169689Skan2006-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
15769169689Skan
15770169689Skan	PR tree-opt/24365
15771169689Skan	* tree-inline.c (declare_return_variable): If the return variable
15772169689Skan	was marked as a non gimple complex, set the return slot variable
15773169689Skan	to be a non gimple comple variable.
15774169689Skan
15775169689Skan2006-01-13  Richard Guenther  <rguenther@suse.de>
15776169689Skan
15777169689Skan	* builtins.c (expand_builtin_sincos): New function.
15778169689Skan	(expand_builtin_mathfn_3): Remove dead code, sin and cos
15779169689Skan	do not set errno.
15780169689Skan	(expand_builtin): Expand sincos using expand_builtin_sincos.
15781169689Skan
15782169689Skan2006-01-12  DJ Delorie  <dj@redhat.com>
15783169689Skan
15784169689Skan	* config/m32c/shift.md: Rewrite: Allow arbitrary operands for
15785169689Skan	shift counts, separate SI shifts for m32c vs m16c, pass shift type
15786169689Skan	so that constant shifts can be split.
15787169689Skan	* config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add In6.
15788169689Skan	(m32c_valid_pointer_mode): Make static.
15789169689Skan	(shift_gen_func_for): New.
15790169689Skan	(m32c_prepare_shift): Use it.  Split large const shifts into
15791169689Skan	multiple shifts.
15792169689Skan	* config/m32c/predicates.md (shiftcount_operand): Allow more
15793169689Skan	general operands.
15794169689Skan	(longshiftcount_operand): New.
15795169689Skan	* doc/md.texi (Machine Constraints): Document In6.
15796169689Skan
15797169689Skan2006-01-13  Ben Elliston  <bje@au.ibm.com>
15798169689Skan
15799169689Skan	* doc/tm.texi (Data Output): Add REAL_VALUE_TO_TARGET_DECIMAL32,
15800169689Skan	REAL_VALUE_TO_TARGET_DECIMAL64 and REAL_VALUE_TO_TARGET_DECIMAL128
15801169689Skan	documentation.
15802169689Skan
15803169689Skan2006-01-12  Daniel Berlin  <dberlin@dberlin.org>
15804169689Skan
15805169689Skan	* tree-ssa-operands.c (add_call_clobber_ops): Use SFT_PARENT_VAR
15806169689Skan	to try to avoid clobbering pieces of structures when we know
15807169689Skan	something about the whole structure.
15808169689Skan	* tree-ssa-alias.c (create_sft): Set SFT_PARENT_VAR
15809169689Skan
15810169689Skan2006-01-13  Ben Elliston  <bje@au.ibm.com>
15811169689Skan
15812169689Skan	* doc/rtl.texi (Insns): Remove statement that libcalls cannot
15813169689Skan	return in memory, as this is no limitation is no longer present.
15814169689Skan
15815169689Skan2006-01-12  DJ Delorie  <dj@redhat.com>
15816169689Skan
15817169689Skan	* config/m32c/addsub.md (addhi3): Add two more alternatives, for
15818169689Skan	mova with fb, and for fb+0 -> An.
15819169689Skan
15820169689Skan	* config/m32c/mov.md (peephole2): Fix enabling logic.
15821169689Skan
15822169689Skan	* config/m32c/m32c.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
15823169689Skan	DTOR_LIST_BEGIN, DTOR_LIST_END, CTORS_SECTION_ASM_OP,
15824169689Skan	DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP,
15825169689Skan	FINI_ARRAY_SECTION_ASM_OP): Define.
15826169689Skan
15827169689Skan	* config/m32c/m32c.c (m32c_legitimize_address): Remove temporary
15828169689Skan	variable.
15829169689Skan	(m32c_legitimize_reload_address): New logic to reload FB to An.
15830169689Skan	(m32c_output_reg_push): Add newline.
15831169689Skan	(m32c_output_reg_pop): Likewise.
15832169689Skan
15833169689Skan2006-01-12  Ulrich Weigand  <uweigand@de.ibm.com>
15834169689Skan
15835169689Skan	* struct-equiv.c (find_dying_inputs): Fix off-by-one bug.
15836169689Skan
15837169689Skan2006-01-11  Andrew Pinski  <pinskia@physics.uc.edu>
15838169689Skan
15839169689Skan	* config/i386/darwin.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
15840169689Skan
15841169689Skan2006-01-11  Kazu Hirata  <kazu@codesourcery.com>
15842169689Skan
15843169689Skan	* config/sh/predicates.md (sh_rep_vec): Add parallel to
15844169689Skan	match_code.
15845169689Skan
15846169689Skan2006-01-11  Ben Elliston  <bje@au.ibm.com>
15847169689Skan
15848169689Skan	* rtlanal.c (find_reg_note): Assert insn is not null.
15849169689Skan
15850169689Skan2006-01-11  Kenneth Zadeck <zadeck@naturalbridge.com>
15851169689Skan
15852169689Skan	* df-scan.c (df_hard_reg_init): Move declaration of i outside
15853169689Skan	ifdef.
15854169689Skan
15855169689Skan2006-01-11  Jeff Law  <law@redhat.com>
15856169689Skan
15857169689Skan	* tree-ssa-threadupdate.c (threaded_edges): New VEC to
15858169689Skan	hold edge pairs.
15859169689Skan	(mark_threaded_blocks, register_jump_thread): New functions.
15860169689Skan	(thread_through_all_blocks): Remove unwanted argument.  No
15861169689Skan	longer rely on e->aux to communicate thread target info.
15862169689Skan	Call mark_threaded_blocks.  Release the threaded_blocks
15863169689Skan	bitmap and threaded_edges vector when complete.
15864169689Skan	* tree-ssa-dom.c (struct edge_info): Remove redirection_target field.
15865169689Skan	(threaded_blocks): Remove.
15866169689Skan	(tree_ssa_dominator_optimize): Remove initialization and
15867169689Skan	finalization of threaded_blocks.  Simplify call to
15868169689Skan	thread_through_all_blocks.
15869169689Skan	(thread_across_edge): Call register_jump_thread rather than
15870169689Skan	storing thread information into e->aux.
15871169689Skan	(free_all_edge_infos): Simplify now that e->aux is no longer
15872169689Skan	used to communicate with thread_through_all_blocks.
15873169689Skan	* tree-flow.h (thread_through_all_blocks): Update prototype.
15874169689Skan	(register_jump_thread): Prototype.
15875169689Skan
15876169689Skan2006-01-11  Kazu Hirata  <kazu@codesourcery.com>
15877169689Skan
15878169689Skan	* df-core.c (df_compact_blocks, df_bb_replace): Use
15879169689Skan	SET_BASIC_BLOCK instead of BASIC_BLOCK.
15880169689Skan
15881169689Skan2006-01-11  Richard Guenther  <rguenther@suse.de>
15882169689Skan
15883169689Skan	PR tree-optimization/25734
15884169689Skan	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not
15885169689Skan	stop propagation after successful propagation to the LHS.
15886169689Skan
15887169689Skan2006-01-11  Kazu Hirata  <kazu@codesourcery.com>
15888169689Skan
15889169689Skan	* basic-block.h (control_flow_graph): Change the type of
15890169689Skan	x_basic_block_info to VEC(basic_block,gc) *.
15891169689Skan	(BASIC_BLOCK_FOR_FUNCTION, BASIC_BLOCK): Adjust the uses of
15892169689Skan	basic_block_info.
15893169689Skan	(SET_BASIC_BLOCK): New.
15894169689Skan	* cfg.c (compact_blocks, expunge_block): Use SET_BASIC_BLOCK
15895169689Skan	instead of BASIC_BLOCK when assigning to BASIC_BLOCK.
15896169689Skan	* cfgbuild.c (find_basic_blocks): Likewise.
15897169689Skan	* cfglayout.c (fixup_reorder_chain): Likewise.
15898169689Skan	* cfgrtl.c (create_basic_block_structure,
15899169689Skan	rtl_create_basic_block): Likewise.
15900169689Skan	* ifcvt.c (find_if_case_1): Likewise.
15901169689Skan	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb):
15902169689Skan	Likewise.
15903169689Skan
15904169689Skan2006-01-11  Kenneth Zadeck <zadeck@naturalbridge.com>
15905169689Skan
15906169689Skan	* Makefile.in: Removed rotted odf.c entry.
15907169689Skan
15908169689Skan2006-01-11  Hans-Peter Nilsson  <hp@axis.com>
15909169689Skan
15910169689Skan	PR target/25706
15911169689Skan	* config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side")
15912169689Skan	("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side",
15913169689Skan	("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E
15914169689Skan	output pattern modifier, not %e.
15915169689Skan	* config/cris/cris.c (cris_op_str): Update comment about pattern
15916169689Skan	modifier.
15917169689Skan	(cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound
15918169689Skan	before falling through into...
15919169689Skan	<case 'E'>: Redefined from old 'e' case.
15920169689Skan
15921169689Skan2006-01-11  Jan Hubicka  <jh@suse.cz>
15922169689Skan
15923169689Skan	PR target/25042
15924169689Skan	* i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128
15925169689Skan
15926169689Skan2006-01-11  Jan Hubicka  <jh@suse.cz>
15927169689Skan
15928169689Skan	* i386.h (TARGET_DECOMPOSE_LEA): Kill.
15929169689Skan	* i386.c (x86_decompose_lea): Kill.
15930169689Skan	(ix86_rtx_costs): Kill.
15931169689Skan
15932169689Skan2006-01-11  Jan Hubicka  <jh@suse.cz>
15933169689Skan
15934169689Skan	* cgraph.c (cgraph_insert_node_to_hashtable): New function.
15935169689Skan	* cgraph.h (cgraph_node): Add inline_decl.
15936169689Skan	(cgraph_insert_node_to_hashtable): Declare.
15937169689Skan	(save_inline_function_body): Declare.
15938169689Skan	* cgraphunit.c (verify_cgraph_node): Inline edges might point to inline
15939169689Skan	clones.
15940169689Skan	(cgraph_preserve_function_body_p): Do not presrve when dump is enabled.
15941169689Skan	(cgraph_function_versioning): Update call of tree_function_versioning.
15942169689Skan	(save_inline_function_body): New function.
15943169689Skan	* function.h (struct function): Kill saved_eh, saved_cfg, saved_args,
15944169689Skan	saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list.
15945169689Skan	* ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones.
15946169689Skan	(cgraph_default_inline_p): Likewise.
15947169689Skan	(cgraph_decide_inlining_incrementally): Likewise.
15948169689Skan	* tree-inline.c (inline_data): Kill saving_p add update_clones_p.
15949169689Skan	(copy_bb): Kill saving; do updating of clones.
15950169689Skan	(copy_cfg_body): Kill saving.
15951169689Skan	(initialize_inlined-parameters): Likewise.
15952169689Skan	(expand_call_inline): Likewise.
15953169689Skan	(save_body): Kill.
15954169689Skan	(tree_function_versioning): New parameter "update_clones".
15955169689Skan	(inlining_p): Kill saving.
15956169689Skan	* tree-inline.h (tree_function_versioning): Update prototype.
15957169689Skan	* tree-optimize.c (tree_rest_of_compilation): Use clonning instead of
15958169689Skan	saving.
15959169689Skan
15960169689Skan2006-01-11  Ian Lance Taylor <ian@airs.com>
15961169689Skan
15962169689Skan	* combine.c (struct undo): Remove is_int.  Enumify types of undos.
15963169689Skan	Allow undoing set of machine mode.
15964169689Skan	(do_SUBST): Use enums instead of is_int.
15965169689Skan	(do_SUBST_MODE): New function.
15966169689Skan	(SUBST_MODE): New macro.
15967169689Skan	(try_combine): Use SUBST_MODE/PUT_MODE instead of generating a new
15968169689Skan	reg and trying to replace reg_regno_rtx with a new register.
15969169689Skan	(undo_all): Use new enums, handle undoing a PUT_MODE change.
15970169689Skan	(simplify_set): Use SUBST_MODE.
15971169689Skan	(distribute_notes): Remove code that tried to update reg notes
15972169689Skan	for regno_reg_rtx changes.
15973169689Skan
15974169689Skan2006-01-11  Paolo Bonzini  <bonzini@gnu.org>
15975169689Skan
15976169689Skan	PR tree-optimization/23109
15977169689Skan	PR tree-optimization/23948
15978169689Skan	PR tree-optimization/24123
15979169689Skan
15980169689Skan	* Makefile.in (tree-ssa-math-opts.o): Adjust dependencies.
15981169689Skan	* tree-cfg.c (single_noncomplex_succ): New.
15982169689Skan	* tree-flow.h (single_noncomplex_succ): Declare it.
15983169689Skan	* tree-ssa-math-opts.c (enum place_reciprocal): Remove.
15984169689Skan	* tree-ssa-math-opts.c (enum place_reciprocal): Remove.
15985169689Skan	(struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit,
15986169689Skan	insert_bb, register_division_in, insert_reciprocals,
15987169689Skan	replace_reciprocal, free_bb): New.
15988169689Skan	(execute_cse_reciprocals_1): Rewritten.
15989169689Skan	(execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1.
15990169689Skan	Do not commit any edge insertion.  Always compute dominators and
15991169689Skan	create the allocation pool.
15992169689Skan	* target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New.
15993169689Skan	* target.h (struct gcc_target): Add min_divistions_for_recip_mul.
15994169689Skan	* targhooks.c (default_min_divistions_for_recip_mul): New.
15995169689Skan	* targhooks.h (default_min_divistions_for_recip_mul): New prototype.
15996169689Skan	* passes.c (init_optimization_passes): Run recip after tree loop
15997169689Skan	optimizations.
15998169689Skan	* doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
15999169689Skan
16000169689Skan2006-01-11  Danny Berlin <dberlin@dberlin.org>
16001169689Skan	    Kenneth Zadeck <zadeck@naturalbridge.com>
16002169689Skan
16003169689Skan	* df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN,
16004169689Skan	DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN,
16005169689Skan	DF_REF_TYPE_NAMES, DF_HARD_REGS, DF_EQUIV_NOTES, DF_SUBREGS,
16006169689Skan	DF_SCAN_BB_INFO, DF_RU_BB_INFO, DF_RD_BB_INFO, DF_LR_BB_INFO,
16007169689Skan	DF_UR_BB_INFO, DF_UREC_BB_INFO, DF_LIVE_IN, DF_LIVE_OUT,
16008169689Skan	DF_RA_LIVE_IN, DF_RA_LIVE_OUT, DF_UPWARD_LIVE_IN,
16009169689Skan	DF_UPWARD_LIVE_OUT, DF_REF_REAL_REG, DF_REF_REGNO,
16010169689Skan	DF_REF_REAL_LOC, DF_REF_REG, DF_REF_LOC, DF_REF_BB, DF_REF_BBNO,
16011169689Skan	DF_REF_INSN, DF_REF_INSN_UID, DF_REF_TYPE, DF_REF_CHAIN,
16012169689Skan	DF_REF_ID, DF_REF_FLAGS, DF_REF_NEXT_REG, DF_REF_PREV_REG,
16013169689Skan	DF_REF_NEXT_REF, DF_REF_DATA, DF_REF_REG_DEF_P, DF_REF_REG_USE_P,
16014169689Skan	DF_REF_REG_MEM_STORE_P, DF_REF_REG_MEM_LOAD_P, DF_REF_REG_MEM_P,
16015169689Skan	DF_DEFS_SIZE, DF_DEFS_GET, DF_DEFS_SET, DF_USES_SIZE, DF_USES_GET,
16016169689Skan	DF_USES_SET, DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_SET,
16017169689Skan	DF_REG_USE_GET, DF_REG_USE_SET, DF_REGNO_FIRST_DEF,
16018169689Skan	DF_REGNO_LAST_USE, DF_INSN_SIZE, DF_INSN_GET, DF_INSN_SET,
16019169689Skan	DF_INSN_CONTAINS_ASM, DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES,
16020169689Skan	DF_INSN_UID_GET, DF_INSN_UID_LUID, DF_INSN_UID_DEFS,
16021169689Skan	DF_INSN_UID_USES, DF_SCAN_INITIAL, DF_SCAN_GLOBAL,
16022169689Skan	DF_SCAN_POST_ALLOC): New macros.
16023169689Skan	(df_flow_dir, df_ref_type, df_ref_flags, df_alloc_function,
16024169689Skan	df_free_bb_function, df_local_compute_function, df_init_function,
16025169689Skan	df_dataflow_function, df_confluence_function_0,
16026169689Skan	df_confluence_function_n, df_transfer_function,
16027169689Skan	df_finalizer_function, df_free_function, df_dump_problem_function,
16028169689Skan	df_problem, dataflow, df_insn_info, df_reg_info, df_ref, df_link,
16029169689Skan	df_ref_info, df, df_map, df_scan_bb_info, df_ru_bb_info,
16030169689Skan	df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, df_ur_bb_info,
16031169689Skan	df_urec_bb_info, ) New types.
16032169689Skan	(df_invalidated_by_call, df_all_hard_regs, df_state) New public
16033169689Skan	variables.
16034169689Skan	(df_init, df_add_problem, df_set_blocks, df_finish, df_analyze,
16035169689Skan	df_analyze_simple_change_some_blocks,
16036169689Skan	df_analyze_simple_change_one_block, df_compact_blocks,
16037169689Skan	df_bb_replace, df_bb_regno_last_use_find,
16038169689Skan	df_bb_regno_first_def_find, df_bb_regno_last_def_find,
16039169689Skan	df_insn_regno_def_p, df_find_def, df_find_use,
16040169689Skan	df_iterative_dataflow, df_dump, df_chain_dump, df_refs_chain_dump,
16041169689Skan	df_regs_chain_dump, df_insn_debug, df_insn_debug_regno,
16042169689Skan	df_regno_debug, df_ref_debug, debug_df_insn, debug_df_regno,
16043169689Skan	debug_df_reg, debug_df_defno, debug_df_useno, debug_df_ref,
16044169689Skan	debug_df_chain, df_get_dependent_problem, df_chain_create,
16045169689Skan	df_chain_unlink, df_chain_copy, df_get_live_in, df_get_live_out,
16046169689Skan	df_grow_bb_info, df_chain_dump, df_print_bb_index,
16047169689Skan	df_ru_add_problem, df_ru_get_bb_info, df_rd_add_problem,
16048169689Skan	df_rd_get_bb_info, df_lr_add_problem, df_lr_get_bb_info,
16049169689Skan	df_ur_add_problem, df_ur_get_bb_info, df_urec_add_problem,
16050169689Skan	df_urec_get_bb_info, df_chain_add_problem, df_ri_add_problem,
16051169689Skan	df_reg_lifetime, df_scan_get_bb_info, df_scan_add_problem,
16052169689Skan	df_rescan_blocks, df_ref_create, df_get_artificial_defs,
16053169689Skan	df_get_artificial_uses, df_reg_chain_create, df_reg_chain_unlink,
16054169689Skan	df_ref_remove, df_insn_refs_delete, df_refs_delete,
16055169689Skan	df_reorganize_refs, df_set_state, df_hard_reg_init,
16056169689Skan	df_read_modify_subreg_p) New public functions.
16057169689Skan	* df-core.c: The core dataflow solver and glue routines for rtl
16058169689Skan	dataflow.
16059169689Skan	(df_init, df_add_problem, df_set_blocks, df_finish,
16060169689Skan	df_hybrid_search_forward, df_hybrid_search_backward,
16061169689Skan	df_iterative_dataflow, df_prune_to_subcfg, df_analyze_problem,
16062169689Skan	df_analyze, df_get_bb_info, df_set_bb_info, df_bb_replace,
16063169689Skan	df_bb_regno_last_use_find, df_bb_regno_first_def_find,
16064169689Skan	df_bb_regno_last_def_find, df_insn_regno_def_p, df_find_def,
16065169689Skan	df_reg_defined, df_find_use, df_reg_used, df_dump,
16066169689Skan	df_refs_chain_dump, df_regs_chain_dump, df_insn_debug,
16067169689Skan	df_insn_debug_regno, df_regno_debug, df_ref_debug, debug_df_insn,
16068169689Skan	debug_df_reg, debug_df_regno, debug_df_ref debug_df_defno,
16069169689Skan	debug_df_useno, reset_df_after_reload): New functions.
16070169689Skan	* df-scan.c: The scanning fuctions, once in df.c, completely
16071169689Skan	rewritten so that they now fully model the functionality of
16072169689Skan	register usage at the backend.
16073169689Skan	(df_scan_free_internal, df_scan_get_bb_info, df_scan_set_bb_info,
16074169689Skan	df_scan_free_bb_info, df_scan_alloc, df_scan_free, df_scan_dump,
16075169689Skan	df_scan_add_problem, df_grow_reg_info, df_grow_ref_info,
16076169689Skan	df_grow_insn_info, df_rescan_blocks, df_ref_create,
16077169689Skan	df_get_artificial_defs, df_get_artificial_uses,
16078169689Skan	df_reg_chain_create, df_ref_unlink, df_reg_chain_unlink,
16079169689Skan	df_ref_remove, df_insn_create_insn_record, df_insn_refs_delete,
16080169689Skan	df_refs_delete, df_reorganize_refs, df_set_state,
16081169689Skan	df_ref_create_structure, df_ref_record, df_read_modify_subreg_p,
16082169689Skan	df_def_record_1, df_defs_record, df_uses_record,
16083169689Skan	df_insn_contains_asm_1, df_insn_contains_asm, df_insn_refs_record,
16084169689Skan	df_has_eh_preds, df_bb_refs_record, df_refs_record, df_mark_reg,
16085169689Skan	df_record_exit_block_uses, df_hard_reg_init): New functions.
16086169689Skan
16087169689Skan	* df-problems.c: Seven concrete dataflow problems that use the
16088169689Skan	scanning in df-scan.c and are solved by the engine in df-core.c.
16089169689Skan	(df_get_dependent_problem, df_chain_create, df_chain_unlink,
16090169689Skan	df_chain_copy, df_get_live_in, df_get_live_out, df_grow_bb_info,
16091169689Skan	df_chain_dump, df_print_bb_index, df_ref_bitmap, df_set_seen,
16092169689Skan	df_unset_seen, df_ru_get_bb_info, df_ru_set_bb_info,
16093169689Skan	df_ru_free_bb_info, df_ru_alloc,
16094169689Skan	df_ru_bb_local_compute_process_def,
16095169689Skan	df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
16096169689Skan	df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
16097169689Skan	df_ru_transfer_function, df_ru_free, df_ru_dump,
16098169689Skan	df_ru_add_problem, df_rd_get_bb_info, df_rd_set_bb_info,
16099169689Skan	df_rd_free_bb_info, df_rd_alloc,
16100169689Skan	df_rd_bb_local_compute_process_def, df_rd_bb_local_compute,
16101169689Skan	df_rd_local_compute, df_rd_init_solution, df_rd_confluence_n,
16102169689Skan	df_rd_transfer_function, df_rd_free, df_rd_dump,
16103169689Skan	df_rd_add_problem, df_lr_get_bb_info, df_lr_set_bb_info,
16104169689Skan	df_lr_free_bb_info, df_lr_alloc, df_lr_bb_local_compute,
16105169689Skan	df_lr_local_compute, df_lr_init, df_lr_confluence_0,
16106169689Skan	df_lr_confluence_n, df_lr_transfer_function, df_lr_free,
16107169689Skan	df_lr_dump, df_lr_add_problem, df_ur_get_bb_info,
16108169689Skan	df_ur_set_bb_info, df_ur_free_bb_info, df_ur_alloc,
16109169689Skan	df_ur_bb_local_compute, df_ur_local_compute, df_ur_init,
16110169689Skan	df_ur_local_finalize, df_ur_confluence_n, df_ur_transfer_function,
16111169689Skan	df_ur_free, df_ur_dump, df_ur_add_problem, df_urec_get_bb_info,
16112169689Skan	df_urec_set_bb_info, df_urec_free_bb_info, df_urec_alloc,
16113169689Skan	df_urec_mark_reg_change, df_urec_check_earlyclobber,
16114169689Skan	df_urec_mark_reg_use_for_earlyclobber,
16115169689Skan	df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
16116169689Skan	df_urec_local_compute, df_urec_init, df_urec_local_finalize,
16117169689Skan	df_urec_confluence_n, df_urec_transfer_function, df_urec_free,
16118169689Skan	df_urec_dump, df_urec_add_problem, df_chain_alloc,
16119169689Skan	df_chain_create_bb_process_use, df_chain_create_bb,
16120169689Skan	df_chain_finalize, df_chain_free, df_chains_dump,
16121169689Skan	df_chain_add_problem, df_ri_alloc, df_ri_bb_compute,
16122169689Skan	df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem,
16123169689Skan	df_reg_lifetime): New functions.
16124169689Skan	* df.c: Deleted file.
16125169689Skan	* ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code
16126169689Skan	consistent with new df api.
16127169689Skan	* modulo-sched.c (sms_schedule, rest_of_handle_sms,
16128169689Skan	rest_of_handle_sms): Ditto.
16129169689Skan	* web.c (unionfind_union, union_defs, entry_register, web_main):
16130169689Skan	Ditto.
16131169689Skan	* loop_invariant.c (invariant_for_use, hash_invariant_expr_1,
16132169689Skan	invariant_expr_equal_p, find_defs, check_dependencies,
16133169689Skan	find_invariant_insn, find_invariants_to_move, move_invariant_reg,
16134169689Skan	free_inv_motion_data, move_loop_invariants): Ditto.
16135169689Skan	* Makefile.in (df.c, df-scan.c df-problems.c df-core.c):
16136169689Skan	Update dependencies.
16137169689Skan	(odf.c): Added defective entry that was deleted later in day.
16138169689Skan	* sched-deps.c (sched_analyze_1): Ditto.
16139169689Skan
16140169689Skan2006-01-11  Zdenek Dvorak <dvorakz@suse.cz>
16141169689Skan
16142169689Skan	* tree-ssa-operands.c (get_expr_operands): Record addressable
16143169689Skan	variables directly.  Do not call add_stmt_operands for CONST_DECLs
16144169689Skan	and ARRAY_DECLs.
16145169689Skan	(get_indirect_ref_operands): Remove handling of *(&a + offset) case.
16146169689Skan	(add_stmt_operands): Handle only objects satisfying SSA_VAR_P.
16147169689Skan
16148169689Skan2006-01-11  Ben Elliston  <bje@au.ibm.com>
16149169689Skan
16150169689Skan	* config/i386/i386.c (ix86_return_in_memory): Fix comment: this
16151169689Skan	function returns true in the positive case.
16152169689Skan
16153169689Skan2006-01-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16154169689Skan
16155169689Skan	PR target/20754
16156169689Skan	* config/pa/pa.md: Create separate 32 and 64-bit move patterns
16157169689Skan	for SI, DI, SF and DF modes.  Add alternatives to copy between
16158169689Skan	general and floating point registers to the 32-bit patterns.
16159169689Skan	* config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine.
16160169689Skan	* config/pa/pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define.
16161169689Skan	(SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when
16162169689Skan	generating 64-bit code.
16163169689Skan	* config/pa/pa.c (output_move_double): Handle copies between general
16164169689Skan	and floating registers.
16165169689Skan
16166169689Skan2006-01-10  Stuart Hastings  <stuart@apple.com>
16167169689Skan
16168169689Skan	* config/i386/i386.md (set_got): Update.
16169169689Skan	(set_got_labelled): New.  (UNSPEC_LD_MPIC): New.
16170169689Skan	(builtin_setjmp_receiver): Mach-O support.
16171169689Skan	* config/i386/darwin.h (TARGET_ASM_FILE_END) Define.
16172169689Skan	(GOT_SYMBOL_NAME): Define.
16173169689Skan	(FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
16174169689Skan	(TARGET_DEEP_BRANCH_PREDICTION): Remove.
16175169689Skan	* config/i386/i386.c (override_options): Revise for Darwin.
16176169689Skan	(USE_HIDDEN_LINKONCE): Enable for Mach-O.  (ix86_file_end): Mach-O
16177169689Skan	support.  (darwin_x86_file_end): New.  (output_set_got): Add label
16178169689Skan	parameter, revise for Mach-O.  (x86_output_mi_thunk): Likewise.
16179169689Skan	* config/i386/i386-protos.h (output_set_got): Likewise.
16180169689Skan	* config/darwin.c (machopic_legitimize_pic_address): Update
16181169689Skan	regs_ever_live[].
16182169689Skan
16183169689Skan2006-01-10  Kaz Kojima  <kkojima@gcc.gnu.org>
16184169689Skan
16185169689Skan	* config/sh/sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Use GET_MODE_SIZE
16186169689Skan	when MODE isn't BLKmode.
16187169689Skan
16188169689Skan2006-01-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
16189169689Skan
16190169689Skan	PR rtl-optimization/25367
16191169689Skan	* config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro.
16192169689Skan
16193169689Skan2006-01-10  Hans-Peter Nilsson  <hp@axis.com>
16194169689Skan
16195169689Skan	PR target/25718
16196169689Skan	* config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes
16197169689Skan	for a negative bound.
16198169689Skan
16199169689Skan2006-01-10  Richard Guenther  <rguenther@suse.de>
16200169689Skan
16201169689Skan	* tree-ssa-structalias.c (get_constraint_for_component_ref):
16202169689Skan	Never override with anything constraint.
16203169689Skan
16204169689Skan2006-01-10  Jan Beulich  <jbeulich@novell.com>
16205169689Skan
16206169689Skan	* config/i386/i386.c (ix86_data_alignment): Don't force alignment to
16207169689Skan	256 bits when optimize_size.
16208169689Skan
16209169689Skan2006-01-10  Jan Beulich  <jbeulich@novell.com>
16210169689Skan
16211169689Skan	* config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include
16212169689Skan	MASK_ALIGN_DOUBLE.
16213169689Skan	* config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option.
16214169689Skan	* config/i386/t-nwld (SHLIB_LINK): Insert spaces between expr
16215169689Skan	arguments.
16216169689Skan
16217169689Skan2006-01-10  Ben Elliston  <bje@au.ibm.com>
16218169689Skan
16219169689Skan	* config/rs6000/predicates.md (easy_fp_constant): Discount decimal
16220169689Skan	float modes.
16221169689Skan	* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): New.
16222169689Skan	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
16223169689Skan	(USE_FP_FOR_ARG): Reject decimal float modes.
16224169689Skan	(function_arg_advance): Likewise.
16225169689Skan	(output_toc): Handle emitting TDmode, DDmode and SDmode constants.
16226169689Skan	(rs6000_handle_altivec_attribute): Do not permit decimal floating
16227169689Skan	point types in AltiVec vectors.
16228169689Skan	(rs6000_function_value): Use GP_ARG_RETURN for decimal floats.
16229169689Skan	(rs6000_libcall_value): Likewise.
16230169689Skan
16231169689Skan2006-01-09  Bob Wilson  <bob.wilson@acm.org>
16232169689Skan
16233169689Skan	* config/xtensa/ieee754-df.S: New file.
16234169689Skan	* config/xtensa/ieee754-sf.S: New file.
16235169689Skan	* config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove fp-bit.c & dp-bit.c.
16236169689Skan	(LIB1ASMFUNCS): Add SFmode and DFmode floating-point functions.
16237169689Skan	* config/xtensa/lib1funcs.asm: Include ieee754-df.S and ieee754-sf.S.
16238169689Skan
16239169689Skan2006-01-09  Kazu Hirata  <kazu@codesourcery.com>
16240169689Skan
16241169689Skan	* config/sh/predicates.md (binary_float_operator,
16242169689Skan	binary_logical_operator, commutative_float_operator,
16243169689Skan	equality_comparison_operator, greater_comparison_operator,
16244169689Skan	less_comparison_operator, logical_operator,
16245169689Skan	noncommutative_float_operator, shift_operator,
16246169689Skan	symbol_ref_operand, unary_float_operator): Remove redundant
16247169689Skan	conditionals.
16248169689Skan
16249169689Skan2006-01-09  Jeff Law  <law@redhat.com>
16250169689Skan
16251169689Skan	* tree-ssa-dom.c (simplify_cond_and_lookup_avail_expr): Remove
16252169689Skan	code to propagate the RHS of a cast into COND_EXPR_COND.  Remove
16253169689Skan	now unused arguments.  Callers updated.
16254169689Skan	(eliminate_redundant_computations): Remove now unused arguments,
16255169689Skan	callers updated.
16256169689Skan	(local_fold): Remove, no longer used.
16257169689Skan	(find_equivalent_equality_comparison): Removed from tree-ssa-dom.c
16258169689Skan	and moved to...
16259169689Skan	* tree-ssa-forwprop.c (find_equivalent_equality_comparison): Here.
16260169689Skan	(simplify_cond): New function.
16261169689Skan	(forward_propagate_into_cond): Call simplify_cond.
16262169689Skan
16263169689Skan2006-01-09  Alexandre Oliva  <aoliva@redhat.com>
16264169689Skan
16265169689Skan	* config/i386/sse.md (*vec_extractv2di_1_sse2): New.
16266169689Skan	(*vec_extractv2di_1_sse): New.
16267169689Skan
16268169689Skan2006-01-09  Ben Elliston  <bje@au.ibm.com>
16269169689Skan
16270169689Skan	* config/rs6000/rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Typo fix.
16271169689Skan
16272169689Skan2006-01-08  Richard Guenther  <rguenther@suse.de>
16273169689Skan
16274169689Skan	* tree-ssa-structalias.c (get_constraint_for): Remove
16275169689Skan	anyoffset argument.
16276169689Skan	(get_constraint_for_component_ref): Likewise.
16277169689Skan	(do_deref): Likewise.
16278169689Skan	(get_constraint_for): Likewise.
16279169689Skan	(do_structure_copy): Likewise.
16280169689Skan	(handle_ptr_arith): Likewise.
16281169689Skan	(find_func_aliases): Likewise.  Remove unused need_anyoffset
16282169689Skan	variable.
16283169689Skan
16284169689Skan2006-01-08  J"orn Rennecke  <joern.rennecke@st.com>
16285169689Skan	    Kaz Kojima  <kkojima@gcc.gnu.org>
16286169689Skan
16287169689Skan	* config/sh/sh.h (CONST_OK_FOR_K16): Define.
16288169689Skan	(CONST_OK_FOR_K): Add CONST_OK_FOR_K16 case.
16289169689Skan	(EXTRA_CONSTRAINT_C16): Remove.
16290169689Skan	(EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Define.
16291169689Skan	(EXTRA_CONSTRAINT_C): Remove EXTRA_CONSTRAINT_C16 case and add
16292169689Skan	EXTRA_CONSTRAINT_Css and EXTRA_CONSTRAINT_Csu cases.
16293169689Skan	* config/sh/sh.c (print_operand): Handle unsigned 16-bit symbolic
16294169689Skan	constants of SHmedia.  Handle nested constant expressions of
16295169689Skan	SHmedia correctly.
16296169689Skan	(andcosts): Fix the costs for SHmedia constants.
16297169689Skan	(sh_rtx_costs): Take account of outer_code for SHmedia constants.
16298169689Skan	* config/sh/sh.md (*movsi_media): Use Css constraint instead of C16.
16299169689Skan	(*movsi_media_nofpu, *movqi_media, *movhi_media): Likewise.
16300169689Skan	(*movdi_media, *movdi_media_nofpu, movv8qi_i, movv2hi_i): Likewise.
16301169689Skan	(movv4hi_i, movv2si_i):	Likewise.
16302169689Skan	(movsi_const): Adjust the second operand of ior so to match with
16303169689Skan	the Csu constraint.
16304169689Skan	(movdi_const, movdi_const_32bit): Likewise.
16305169689Skan	(movdi_const_16bit+1): Don't sign-extend LOW.
16306169689Skan	(movdi_const_16bit+2): Likewise.  Remove the zero_extend and truncate
16307169689Skan	step.
16308169689Skan	(*double_shori): Fix the split condition.  Use GEN_INT instead
16309169689Skan	of get_int_mode calls.  Mask lower 16-bit of the argument of
16310169689Skan	the last GEN_INT.
16311169689Skan	(sym2GOTPLT): Remove.
16312169689Skan	(symGOTPLT2reg): Replace gen_sym2GOTPLT with gen_rtx_CONST and
16313169689Skan	gen_rtx_UNSPEC.
16314169689Skan	* config/sh/predicates.md (arith_operand): Use EXTRA_CONSTRAINT_Css
16315169689Skan	instead of EXTRA_CONSTRAINT_C16.
16316169689Skan
16317169689Skan2006-01-07  Ian Lance Taylor  <ian@airs.com>
16318169689Skan	    David Edelsohn  <edelsohn@gnu.org>
16319169689Skan
16320169689Skan	PR rtl-optimization/25662
16321169689Skan	* optabs.c (simplify_expand_binop): Use simplify_binary_operation
16322169689Skan	for constant operands instead of simplify_gen_binary.
16323169689Skan	* simplify-rtx.c (simplify_gen_binary): Swap commutative operands
16324169689Skan	after trying simplify_binary_operation
16325169689Skan
16326169689Skan2006-01-06  Daniel Berlin  <dberlin@dberlin.org>
16327169689Skan
16328169689Skan	* tree.c (iterative_hash_expr): Hash decls based on UID.
16329169689Skan
16330169689Skan2006-01-06  Eric Christopher  <echristo@apple.com>
16331169689Skan
16332169689Skan	* doc/tm.texi (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Document.
16333169689Skan	(TARGET_UNWIND_EMIT): Fix spelling.
16334169689Skan	* target.h (gcc_target): Add except_table_label.
16335169689Skan	* except.c (output_function_exception_table): Use.
16336169689Skan	* varasm.c (default_emit_except_table_label): New.
16337169689Skan	* target-def.h (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): New default
16338169689Skan	define.
16339169689Skan	(asm_out): Add here.
16340169689Skan	* output.h (default_emit_except_table_label): Prototype.
16341169689Skan	* config/darwin-protos.h (darwin_emit_except_table_label): Ditto.
16342169689Skan	* config/darwin.c (darwin_emit_except_table_label): Define.
16343169689Skan	* config/darwin.h (TARGET_ASM_EMIT_EXCEPT_TABLE): Ditto.
16344169689Skan
16345169689Skan2006-01-06  Zdenek Dvorak <dvorakz@suse.cz>
16346169689Skan
16347169689Skan	PR tree-optimization/18527
16348169689Skan	* tree-ssa-loop-niter.c (number_of_iterations_cond,
16349169689Skan	number_of_iterations_special, number_of_iterations_exit):
16350169689Skan	Move base and step of an iv to a single structure.  Add
16351169689Skan	no_overflow flag, and use it in # of iterations analysis.
16352169689Skan	* tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Add
16353169689Skan	folded_casts argument.
16354169689Skan	(simple_iv): Pass base and step in a structure.  Set no_overflow
16355169689Skan	flag.
16356169689Skan	(scev_const_prop): Add argument to analyze_scalar_evolution_in_loop.
16357169689Skan	Evaluate expensiveness of computing # of iterations instead of
16358169689Skan	the final expression.
16359169689Skan	* tree-scalar-evolution.h (affine_iv): New structure.
16360169689Skan	(simple_iv): Declaration changed.
16361169689Skan	* tree-chrec.c (chrec_apply): Handle chrecs containing symbols.
16362169689Skan	* tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev,
16363169689Skan	find_givs_in_stmt): Changed due to simple_iv change.
16364169689Skan
16365169689Skan2006-01-06  Jeff Law  <law@redhat.com>
16366169689Skan
16367169689Skan	PR ada/24994
16368169689Skan	* tree-cfg.c (bsi_replace): Rename final argument from
16369169689Skan	PRESERVE_EH_INFO to UPDATE_EH_INFO.  Fix typo in last
16370169689Skan	change (stmt -> orig_stmt).
16371169689Skan	* tree-eh.c (verify_eh_throw_stmt_node): New function.
16372169689Skan	(bsi_remove): Add new argument.  Remove EH information
16373169689Skan	if requested.
16374169689Skan	(verify_eh_throw_table_statements): New function.
16375169689Skan	(bsi_remove): Add new argument REMOVE_EH_INFO.  All callers
16376169689Skan	updated.
16377169689Skan	* tree-optimize.c (execute_free_cfg_annotations): Verify
16378169689Skan	the EH throw statement table after removing annotations.
16379169689Skan	* except.h (verify_eh_throw_table_statements): Prototype.
16380169689Skan	* tree-flow.h (bsi_remove): Update prototype.
16381169689Skan	* tree-vrp.c (remove_range_assertions): Add new argument to
16382169689Skan	bsi_remove call.
16383169689Skan	* tree-ssa-loop-im.c (move_computations_stmt): Likewise.
16384169689Skan	* tree-complex.c (expand_complex_div_wide): Likewise.
16385169689Skan	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Likewise
16386169689Skan	* tree-tailcall.c (eliminate_tailcall): Likewise.
16387169689Skan	* tree-ssa-dse.c (dse_optimize_stmt): Likewise.
16388169689Skan	* tree-ssa-loop-ivopts.c (remove_statement): Likewise.
16389169689Skan	* tree-nrv.c (tree_nrv): Likewise.
16390169689Skan	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Likewise.
16391169689Skan	* tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
16392169689Skan	(combine_blocks): Likewise.
16393169689Skan	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Likewise.
16394169689Skan	* tree-cfgcleanup.c (cleanup_ctrl_expr_graph): Likewise.
16395169689Skan	(cleanup_control_flow): Likewise.
16396169689Skan	(remove_forwarder_block): Likewise.
16397169689Skan	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
16398169689Skan	* tree-sra.c (sra_replace): Likewise.
16399169689Skan	* tree-ssa-forwprop.c (forward_propagate_into_cond): Likewise.
16400169689Skan	(forward_propagate_single_use_vars): Likewise.
16401169689Skan	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
16402169689Skan	* tree-inline.c (expand_call_inline): Likewise.
16403169689Skan	* tree-vect-transform.c (vect_transform_loop): Likewise.
16404169689Skan	* tree-outof-ssa.c (rewrite_trees): Likewise.
16405169689Skan	* tree-cfg.c (make_goto_expr_edges): Likewise.
16406169689Skan	(cleanup_dead_labels): Likewise.
16407169689Skan	(tree_merge_blocks, remove_bb, disband_implicit_edges): Likewise.
16408169689Skan	(bsi_move_before, bsi_move_after): Likewise.
16409169689Skan	(bsi_move_to_bb_end, try_redirect_by_replacing_jump): Likewise
16410169689Skan	(tree_redirect_edge_and_branch, tree_split_block): Likewise.
16411169689Skan
16412169689Skan2006-01-06  Andrew Pinski  <pinskia@physics.uc.edu>
16413169689Skan
16414169689Skan	PR tree-opt/25528
16415169689Skan	* tree-ssa-alias.c (find_used_portions): Handle REALPART_EXPR
16416169689Skan	and IMAGPART_EXPR.
16417169689Skan	* tree-flow-inline.h (var_can_have_subvars): Handle complex types
16418169689Skan	on non gimple variables.  Also add checks at the top for decls and
16419169689Skan	mtags.
16420169689Skan	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Handle
16421169689Skan	complex types.
16422169689Skan	* tree-ssa-operands.c (parse_ssa_operands): Handle REALPART_EXPR
16423169689Skan	and IMAGPART_EXPR for creating MUST_DEFs.
16424169689Skan	(get_expr_operands): Handle SSA_NAME, STRUCT_FIELD_TAG, TYPE_MEMORY_TAG,
16425169689Skan	and NAME_MEMORY_TAG separately from the DECLs.
16426169689Skan
16427169689Skan2006-01-06  Richard Guenther  <rguenther@suse.de>
16428169689Skan
16429169689Skan	* tree-dfa.c (mark_new_vars_to_rename): Create stmt
16430169689Skan	annotation, if necessary.
16431169689Skan	* tree-ssa-pre.c (create_expression_by_pieces): Remove
16432169689Skan	redundant calls to update_stmt.
16433169689Skan	* tree-ssa-forwprop.c (tidy_after_forward_propagate_addr):
16434169689Skan	Likewise.
16435169689Skan
16436169689Skan2006-01-05  Richard Henderson  <rth@redhat.com>
16437169689Skan
16438169689Skan	* c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA.
16439169689Skan
16440169689Skan2006-01-05  Carlos O'Donell  <carlos@codesourcery.com>
16441169689Skan
16442169689Skan	* c-typeck.c: Update copyright date.
16443169689Skan
16444169689Skan2006-01-05  Carlos O'Donell  <carlos@codesourcery.com>
16445169689Skan
16446169689Skan	* c-typeck.c (build_c_cast): Always warn when casting
16447169689Skan	from a pointer to an integer of different size, even if
16448169689Skan	the node was constant.
16449169689Skan
16450169689Skan2006-01-05  Richard Guenther  <rguenther@suse.de>
16451169689Skan
16452169689Skan	PR tree-optimization/22555
16453169689Skan	* tree-ssa-alias.c (create_overlap_variables_for): Do not give up,
16454169689Skan	if one structure field is an array.
16455169689Skan	* tree-ssa-operands.c (get_expr_operands): Continue scanning
16456169689Skan	operands even if we found a subvar, but ignore VOPs in this
16457169689Skan	case.
16458169689Skan	* tree-ssa-loop-ivopts.c (rewrite_use): Mark new vars in stmt
16459169689Skan	for renaming.
16460169689Skan	* tree-ssa-loop.c (pass_iv_optimize): Schedule TODO_update_ssa.
16461169689Skan
16462169689Skan2006-01-05  Richard Earnshaw  <rearnsha@arm.com>
16463169689Skan
16464169689Skan	PR middle-end/24998
16465169689Skan	* arm/t-netbsd (LIB2FUNCS_EXTRA): Define.
16466169689Skan
16467169689Skan2006-01-05  Richard Guenther  <rguenther@suse.de>
16468169689Skan	    Diego Novillo  <dnovillo@redhat.com>
16469169689Skan
16470169689Skan	* tree-pass.h (TODO_remove_unused_locals): Define.
16471169689Skan	* gimple-low.c (expand_var_p, remove_useless_vars,
16472169689Skan	pass_remove_useless_vars): Remove.  Update all users.
16473169689Skan	* tree-ssa-live.c (mark_all_vars_used_1): Handle SSA names.
16474169689Skan	(remove_unused_locals): New function.
16475169689Skan	* tree-flow.h (remove_unused_locals): Declare.
16476169689Skan	* passes.c (execute_todo): Call remove_unused_locals if
16477169689Skan	TODO_remove_unused_locals is set.
16478169689Skan	* tree-into-ssa.c (pass_build_ssa): Add TODO_remove_unused_locals.
16479169689Skan	* tree-ssa-dce.c (pass_dce): Likewise.
16480169689Skan	* tree-outof-ssa.c (pass_del_ssa): Likewise.
16481169689Skan
16482169689Skan2006-01-05  Richard Guenther  <rguenther@suse.de>
16483169689Skan
16484169689Skan	* tree-flow.h (struct fieldoff): Decompose field to
16485169689Skan	type, size and decl.
16486169689Skan	* tree-ssa-alias.c (create_sft): Take type as parameter.
16487169689Skan	(create_overlap_variables_for): Store type, size and decl
16488169689Skan	in the fieldoff structure.
16489169689Skan	* tree-ssa-structalias.c (fieldoff_compare): Adjust users
16490169689Skan	of struct fieldoff.
16491169689Skan	(push_fields_onto_fieldstack): Likewise.
16492169689Skan	(create_variable_info_for): Likewise.  Use offset for the
16493169689Skan	SFT name if the decl is not available.
16494169689Skan
16495169689Skan2006-01-04  Paul Brook  <paul@codesourcery.com>
16496169689Skan
16497169689Skan	* config/m68k/m68k.c (m68k_output_mi_thunk): Use jmp, not jsr.
16498169689Skan
16499169689Skan2006-01-04  Daniel Berlin  <dberlin@dberlin.org>
16500169689Skan
16501169689Skan	* lambda-code.c (can_put_in_inner_loop): Relax
16502169689Skan	restrictions.
16503169689Skan	(can_put_after_inner_loop): New function.
16504169689Skan	(can_convert_to_perfect_nest): Use can_put_after_inner_loop as well.
16505169689Skan	(perfect_nestify): Change to make copies and modify uses.
16506169689Skan
16507169689Skan2006-01-04  Richard Henderson  <rth@redhat.com>
16508169689Skan
16509169689Skan	Merge from gomp branch:
16510169689Skan	* c-lex.c (c_lex_with_flags) <CPP_PRAGMA>: Smuggle pragma id
16511169689Skan	via integer constant.
16512169689Skan	(pragma_lex): Remove.
16513169689Skan	* c-pch.c (c_common_pch_pragma): Accept the name as an argument,
16514169689Skan	rather than parsing it.
16515169689Skan	* c-pragma.c (handle_pragma_weak, handle_pragma_redefine_extname,
16516169689Skan	handle_pragma_extern_prefix): Add %< %> quotes.
16517169689Skan	(registered_pragmas): New.
16518169689Skan	(c_register_pragma_1): New.
16519169689Skan	(c_register_pragma): Use it.
16520169689Skan	(c_register_pragma_with_expansion): Likewise.
16521169689Skan	(c_invoke_pragma_handler): New.
16522169689Skan	(init_pragma): Use cpp_register_deferred_pragma directly for
16523169689Skan	pch_preprocess.
16524169689Skan	* c-pragma.h (enum pragma_kind): New.
16525169689Skan	(pragma_handler): New.
16526169689Skan	(c_invoke_pragma_handler): Declare.
16527169689Skan	* c-common.c (c_parse_error): Pretty print CPP_PRAGMA and
16528169689Skan	CPP_PRAGMA_EOL.
16529169689Skan	* c-common.h (c_common_pch_pragma): Update decl.
16530169689Skan	* Makefile.in (c-parser.o): Update dependencies.
16531169689Skan	(GTFILES): Add c-pragma.h.
16532169689Skan	* c-parser.c (struct c_token): Add pragma_kind.
16533169689Skan	(struct c_parser): Add in_pragma.
16534169689Skan	(c_lex_one_token): Always initialize keyword and pragma_kind.
16535169689Skan	Extract data for CPP_PRAGMA.
16536169689Skan	(c_parser_peek_2nd_token): Deny CPP_PRAGMA_EOL.
16537169689Skan	(c_parser_consume_token): Don't allow CPP_PRAGMA unless errors.
16538169689Skan	Don't allow CPP_PRAGMA_EOL if in_pragma.
16539169689Skan	(c_parser_consume_pragma): New.
16540169689Skan	(c_parser_skip_until_found): Stop on CPP_PRAGMA_EOL.
16541169689Skan	(c_parser_skip_to_end_of_parameter): Likewise.
16542169689Skan	(c_parser_skip_to_end_of_block_or_statement): Likewise.
16543169689Skan	(c_parser_skip_to_pragma_eol): New.
16544169689Skan	(c_parser_external_declaration): Handle CPP_PRAGMA.
16545169689Skan	(c_parser_compound_statement_nostart): Likewise.
16546169689Skan	(c_parser_statement_after_labels): Likewise.
16547169689Skan	(c_parser_pragma): New.
16548169689Skan	(pragma_lex): Likewise.
16549169689Skan	(c_parser_pragma_pch_preprocess): New.
16550169689Skan	(c_parser_new): Merge into ...
16551169689Skan	(c_parse_file): ... here.  Call c_parser_pragma_pch_preprocess.
16552169689Skan
16553169689Skan2006-01-04  Jeff Law  <law@redhat.com>
16554169689Skan
16555169689Skan	PR ada/24994
16556169689Skan	* tree-cfg.c (bsi_replace): Remove the original statement
16557169689Skan	from the EH throw statement table.
16558169689Skan
16559169689Skan2006-01-04  Jakub Jelinek  <jakub@redhat.com>
16560169689Skan
16561169689Skan	* config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
16562169689Skan	make the prototype extern "C" and add throw ().
16563169689Skan
16564169689Skan	PR target/25554
16565169689Skan	* config/i386/i386.md (testqi_ext_3): Ensure len is positive
16566169689Skan	and pos non-negative and pos + len <= 32.
16567169689Skan	(testqi_ext_3_rex64): Ensure len is positive and pos non-negative,
16568169689Skan	drop pos + len < HOST_BITS_PER_WIDE_INT test.
16569169689Skan	(testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT.
16570169689Skan
16571169689Skan	PR c/25559
16572169689Skan	* c-common.c (handle_vector_size_attribute): Reject zero vector size
16573169689Skan	as well as sizes not multiple of component size.
16574169689Skan
16575169689Skan	PR debug/25562
16576169689Skan	* function.c (instantiate_expr): New function.
16577169689Skan	(instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P,
16578169689Skan	walk its DECL_VALUE_EXPR with instantiate_expr.
16579169689Skan
16580169689Skan	* dwarf2out.c (loc_descriptor_from_tree_1): Don't add
16581169689Skan	DW_OP_deref{,_size} if address isn't going to be added.
16582169689Skan
16583169689Skan2006-01-04  Ben Elliston  <bje@au.ibm.com>
16584169689Skan
16585169689Skan	* config/fp-bit.h: Use top-of-file comment from libgcc2.c.
16586169689Skan	* config/fp-bit.c: Likewise.
16587169689Skan
16588169689Skan2006-01-03  Daniel Berlin  <dberlin@dberlin.org>
16589169689Skan
16590169689Skan	* dominance.c: Add comment about why we use DFS numbering
16591169689Skan	of dominance tree.
16592169689Skan
16593169689Skan2006-01-03  Jakub Jelinek  <jakub@redhat.com>
16594169689Skan	    Richard Henderson  <rth@redhat.com>
16595169689Skan
16596169689Skan	Merge from gomp-branch:
16597169689Skan	* varasm.c (assemble_variable): Handle thread-local COMMON data.
16598169689Skan	* defaults.h (ASM_OUTPUT_TLS_COMMON): Define.
16599169689Skan
16600169689Skan2006-01-03  Paolo Bonzini  <bonzini@gnu.org>
16601169689Skan
16602169689Skan	PR rtl-optimization/25578
16603169689Skan	* combine.c (combine_simplify_rtx, force_to_mode): Don't
16604169689Skan	pass a parameter to simplify_shift_const if changing ASHIFTRT
16605169689Skan	to LSHIFTRT.
16606169689Skan
16607169689Skan2006-01-03  Adrian Straetling  <straetling@de.ibm.com>
16608169689Skan
16609169689Skan	* builtins.c (get_builtin_sync_mem): New function.
16610169689Skan	(expand_builtin_sync_operation, expand_builtin_compare_and_swap,
16611169689Skan	expand_builtin_lock_test_and_set, expand_builtin_lock_release):
16612169689Skan	Call get_builtin_sync_mem to generate mem rtx.
16613169689Skan
16614169689Skan2006-01-03  Richard Guenther  <rguenther@suse.de>
16615169689Skan
16616169689Skan	PR c/25183
16617169689Skan	* stmt.c (add_case_node): Make sure to clear overflow flags
16618169689Skan	from ranges.
16619169689Skan
16620169689Skan2006-01-03  Jakub Jelinek  <jakub@redhat.com>
16621169689Skan
16622169689Skan	Merge from gomp-branch.
16623169689Skan	* config/sparc/sync.md: New file.
16624169689Skan	* config/sparc/sparc.md (UNSPECV_MEMBAR, UNSPECV_CAS, UNSPECV_SWAP,
16625169689Skan	UNSPECV_LDSTUB): New constants.
16626169689Skan	* config/sparc/sparc.c (sparc_expand_compare_and_swap_12): New function.
16627169689Skan	* config/sparc/predicates.md (memory_reg_operand): New predicate.
16628169689Skan	* config/sparc/sparc-protos.h (sparc_expand_compare_and_swap_12): New
16629169689Skan	prototype.
16630169689Skan
16631169689Skan2006-01-03  Roger Sayle  <roger@eyesopen.com>
16632169689Skan
16633169689Skan	* combine.c (reg_subword_p): New predicate to test whether the
16634169689Skan	destination of a set refers to a subword/piece of a register.
16635169689Skan	(try_combine): Generalize the code to merge the setting of a
16636169689Skan	pseudo to a constant followed by a set of a subword of that
16637169689Skan	register to a constant.
16638169689Skan
16639169689Skan2006-01-03  Kazu Hirata  <kazu@codesourcery.com>
16640169689Skan
16641169689Skan	* basic-block.h (control_flow_graph): Change the type of
16642169689Skan	x_label_to_block_map to VEC(basic_block,gc) *.
16643169689Skan	* tree-cfg.c (init_empty_tree_cfg, label_to_block_fn,
16644169689Skan	set_bb_for_stmt): Adjust the uses of x_label_to_block_map.
16645169689Skan
16646169689Skan	* tree-ssa-propagate.c (cfg_blocks): Change the type to
16647169689Skan	VEC(basic_block,heap) *.
16648169689Skan	(cfg_blocks_add, cfg_blocks_get, ssa_prop_init,
16649169689Skan	ssa_prop_fini): Adjust the uses of cfg_blocks.
16650169689Skan
16651169689Skan2006-01-03  Steven Bosscher  <stevenb.gcc@gmail.com>
16652169689Skan
16653169689Skan	* fold-const.c (operand_equal_p): Accept a NULL operand 0 for
16654169689Skan	COMPONENT_REFs.
16655169689Skan	* emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for
16656169689Skan	hashing trees instead of a pointer hash.
16657169689Skan	(mem_attrs_htab_eq): Do a deep compare instead of a pointer
16658169689Skan	compare for MEM_EXPR.
16659169689Skan
16660169689Skan	PR rtl-optimization/25130
16661169689Skan	* cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET
16662169689Skan	when comparing MEMs for GCSE
16663169689Skan
16664169689Skan2006-01-03  Ben Elliston  <bje@au.ibm.com>
16665169689Skan
16666169689Skan	* targhooks.h (default_decimal_float_supported_p): Declare.
16667169689Skan	* targhooks.c (default_decimal_float_supported_p): Define.
16668169689Skan	* target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to
16669169689Skan	`default_decimal_float_supported_p'.
16670169689Skan	* doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update.
16671169689Skan
16672169689Skan2006-01-02  Adam Nemet  <anemet@caviumnetworks.com>
16673169689Skan
16674169689Skan	* combine.c (apply_distributive_law <SUBREG>): Check
16675169689Skan	TRULY_NOOP_TRUNCATION.
16676169689Skan
16677169689Skan2006-01-02  Geoffrey Keating  <geoffk@apple.com>
16678169689Skan
16679169689Skan	* dwarf2out.c (have_switched_text_section): Delete.
16680169689Skan	(have_multiple_function_sections): New.
16681169689Skan	(have_location_lists): Make 'bool'.
16682169689Skan	(add_AT_loc_list): Use 'true' not '1'.
16683169689Skan	(dwarf2out_switch_text_section): Set have_multiple_function_sections.
16684169689Skan	(output_loc_list): Use have_multiple_function_sections.
16685169689Skan	(output_ranges): Likewise.
16686169689Skan	(dwarf2out_begin_function): Set have_multiple_function_sections if
16687169689Skan	necessary.
16688169689Skan	(dwarf2out_source_line): Don't fake separate_line_info_table_in_use.
16689169689Skan	Check function_section rather than DECL_SECTION_NAME.
16690169689Skan	(dwarf2out_finish): Use have_multiple_function_sections.
16691169689Skan	Don't clear have_location_lists.
16692169689Skan
16693169689Skan2006-01-02  Eric Botcazou  <ebotcazou@adacore.com>
16694169689Skan	    Jan Hubicka  <jh@suse.cz>
16695169689Skan
16696169689Skan	* cfglayout.c (fixup_reorder_chain): Remove kludge for the
16697169689Skan	case of conditional jump jumping to the next instruction.
16698169689Skan	* cfgrtl.c (force_nonfallthru_and_redirect): Accept all
16699169689Skan	cases of conditional jump jumping to the next instruction.
16700169689Skan
16701169689Skan2006-01-02  Jan Hubicka  <jh@suse.cz>
16702169689Skan
16703169689Skan	* i386.c (*_cost): Add COSTS_N_INSNS.
16704169689Skan	(ix86_rtx_costs): Do not use COSTS_N_INSNS.
16705169689Skan
16706169689Skan2006-01-02  Paolo Bonzini  <bonzini@gnu.org>
16707169689Skan
16708169689Skan	PR target/25259
16709169689Skan	* Makefile.in (DECNUMINC): Include libdecnumber's build directory.
16710169689Skan
16711169689Skan2006-01-02  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
16712169689Skan
16713169689Skan	* config/arm/arm.c (all_fpus): Fix comment typo.
16714169689Skan	* config/darwin.c: Likewise.
16715169689Skan	* config/frv/frv.h (FRV_STRUCT_VALUE_REGNUM): Likewise.
16716169689Skan	* config/h8300/h8300.md (extendqisi2_h8300hs): Likewise.
16717169689Skan	* config/m68hc11/m68hc11.c (m68hc11_reload_operands): Likewise.
16718169689Skan
16719169689Skan2006-01-01  David Edelsohn  <edelsohn@gnu.org>
16720169689Skan
16721169689Skan	* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): New.
16722169689Skan	(rs6000_split_compare_and_swapqhi): New.
16723169689Skan	* config/rs6000/sync.md (sync_compare_and_swap{hi,qi}): New.
16724169689Skan	(sync_compare_and_swapqhi_internal): New.
16725169689Skan	* config/rs6000/rs6000-protos.h: Declare.
16726169689Skan
16727