]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Fix ChangeLog.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
f3b2657c
JJ
12004-08-20 Jakub Jelinek <jakub@redhat.com>
2
3 PR rtl-optimization/17099
4 * combine.c (force_to_mode): Check if inner_mask has any bits set
5 outside of GET_MODE (x) instead of op_mode.
6
d2294baa
MM
72004-08-20 Mark Mitchell <mark@codesourcery.com>
8
9 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
10 fragment.
11 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
12 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
13 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
14 architecture.
15 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
16 configurations.
17 * config/arm/t-symbian: New file.
18
753d0efa
AP
192004-08-20 Andrew Pinski <apinski@apple.com>
20
21 * regrename.c (kill_value_regno): ANSIfy.
22
627b6fe2
DJ
232004-08-20 Dale Johannesen <dalej@apple.com>
24
25 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
26
d64d5e80
DJ
272004-08-20 Daniel Jacobowitz <dan@debian.org>
28
29 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
30 (kill_value_regno): New function, derived from kill_value.
31 (kill_value): Update.
32 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
33
af75a7ea
DB
342004-08-20 Daniel Berlin <dberlin@dberlin.org>
35
36 Fix PR tree-optimization/17111
37 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
38 of non-value_handles.
39 (bitmap_set_contains): All constants are in every set.
40
0a936b12
NS
412004-08-20 Nathan Sidwell <nathan@codesourcery.com>
42
43 * fold-const.c (round_up, round_down): Use build_int_cst.
44 Optimize common case.
45
774acadf
ZW
462004-08-20 Zack Weinberg <zack@codesourcery.com>
47 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
48
49 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
50 one_only_data_section): Rename to som_readonly_data_section,
51 som_one_only_readonly_data_section and som_one_only_data_section.
0a936b12
NS
52 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
53 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
54 conditional defines.
774acadf
ZW
55 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
56 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
57 string values.
58 (pa_select_section): Use renamed section functions.
59 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
60 SOM_READONLY_DATA_SECTION_FUNCTION,
61 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
62 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
63 Define here ...
64 * config/pa/som.h: ... not here.
65 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
66 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
67 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
68 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
69 (READONLY_DATA_SECTION): Use som_readonly_data_section.
70
3224bead
NS
712004-08-20 Nathan Sidwell <nathan@codesourcery.com>
72
fabead06
NS
73 * fold-const.c (int_const_binop): Don't generate non-overflowing
74 size-types specially.
75 (fold_convert_const): Likewise.
76
3224bead
NS
77 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
78 clear cache on copied sizetype.
79
fb38008e
BE
802004-08-20 Ben Elliston <bje@au.ibm.com>
81
82 * configure.ac: Don't escape apostrophe in --enable-coverage help.
83 * configure: Regenerate.
84
a9024779
DS
852004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
86
87 PR 5620
88 * gcc.c (struct stat input_stat): Don't define if
89 HOST_LACKS_INODE_NUMBERS
90 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
91 than stat to determine if temp file is same as input file.
92 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
93 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
94
82563d35
RS
952004-08-20 Richard Sandiford <rsandifo@redhat.com>
96
97 * configure.ac (mips*-*-*): Print an error if not using GAS.
98 * configure: Regenerated.
99 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
100 comments about buggy MIPSpro assemblers.
101 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
102 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
103 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
104 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
105 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
106 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
107 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
108 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
109 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
110 of more general IRIX 6 definitions.
111 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
112 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
113 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
114 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
115 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
116 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
117 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
118 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
119 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
120 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
121 (LINK_SPEC): Move most of definition to iris.h.
122 (SUBTARGET_LINK_SPEC): New macro.
123 (IRIX_STARTFILE_SPEC): Fold into...
124 (STARTFILE_SPEC): ...here.
125 (IRIX_ENDFILE_SPEC): Fold into...
126 (ENDFILE_SPEC): ...here.
127 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
128 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
129 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
130 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
131 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
132 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
133 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
134 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
135 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
136 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
137 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
138 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
139 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
140 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
141 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
142 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
143 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
144 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
145 (TARGET_IRIX6): Define to 1.
146 (DRIVER_SELF_SPECS): Define.
147 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
148 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
149 (SUBTARGET_LINK_SPEC): New macro.
150 (IRIX_STARTFILE_SPEC): Fold into...
151 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
152 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
153 (LIB_SPEC, LIBGCC_SPEC): Use them.
154 (LIB_SPEC): Remove !mabi=* case.
155 (IRIX_ENDFILE_SPEC): Fold into...
156 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
157 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
158 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
159 (TARGET_IRIX6): New macro.
160 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
161 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
162 (LABEL_AFTER_LOC): Delete.
163 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
164 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
165 (mips_build_builtin_va_list): Check TARGET_IRIX6.
166 (override_options): Remove TARGET_SGI_O32_AS-related code.
167 (irix_output_external_libcall): Make static.
168 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
169 LABEL_AFTER_LOC.
170 (mips_file_start): Tidy guard for ABI sections. Remove use of
171 ABICALLS_ASM_OP; use .abicalls instead.
172 (mips_output_aligned_decl_common, mips_declare_object_name)
173 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
174 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
175 .globl foo .text directives.
176 (irix_asm_named_section_1, irix_asm_named_section)
177 (irix_section_align_entry, irix_section_align_htab)
178 (irix_orig_asm_out_file, irix_section_align_entry_eq)
179 (irix_section_align_entry_hash, irix_asm_output_align)
180 (irix_file_start, irix_section_align_1, copy_file_data)
181 (irix_file_end, irix_section_type_flags): Delete.
182 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
183 Use standard section syntax. Remove protective "jr $31".
184 (__gcc_fini): Likewise .gcc_fini.
185 * config/mips/irix-crtn.asm: Adjust sections accordingly.
186 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
187 iris5gas.h.
188 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
189 from t-irix-gld.
190 (EXTRA_MULTILIB_PARTS): Define.
191 * config/mips/t-iris6: Remove bogus comment.
192 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
193 * config/mips/iris5gas.h, config/mips/iris5gld.h,
194 config/mips/iris6gas.h, config/mips/iris6gld.h,
195 config/mips/t-iris5-as, config/mips/t-iris5-gas
196 config/mips/t-irix-gld: Delete.
197 * config/mips/iris.h: New file.
198 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
199
c4cdb8e1
RE
2002004-08-20 Richard Earnshaw <rearnsha@arm.com>
201
202 * postreload.c (reload_cse_move2add): Allow any condjump, but check
203 that the implicit set isn't clobbered in the jump insn.
204
d55ab31d
MM
2052004-08-19 Mark Mitchell <mark@codesourcery.com>
206
207 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
208 * optabs.c (init_optabs): Don't check it.
209 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
210 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
211
d75f90f1
AK
2122004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
213
214 * config/s390/s390.md (s390_warn_framesize_string)
215 (s390_warn_dynamic_string, s390_stack_size_string)
216 (s390_stack_guard_string): New global string variables.
217 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
218 (s390_stack_guard): New global variables.
219 (override_options): Added checks for the new options.
220 (s390_emit_prologue): Emit stack check and trap code and perform
221 compile time stack size checking.
222
223 * config/s390/s390.h (TARGET_OPTIONS): Added new options
224 "warn-framesize", "warn-dynamicstack", "stack-size" and
225 "stack-guard".
226
227 * doc/invoke.texi: Added documentation for the new options.
228
ca29916b
UW
2292004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
230
231 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
232 to eliminate warning.
233 (linear_search_fdes): Declare p as unsigned.
234 (binary_search_mixed_encoding_fdes): Likewise.
235 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
236 to eliminate warning.
237 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
238 type cast.
239
e1d5ee28
UW
2402004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
241
242 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
243 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
244 instead of one. Check for strictly legitimate address.
245 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
246 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
247
19114537
EC
2482004-08-19 Eric Christopher <echristo@redhat.com>
249
250 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
251 * langhooks.h (unsave_expr_now): Ditto.
252 * tree.h (unsave_expr_1): Remove prototype.
253 (lhd_unsave_expr_now): Rename to unsave_expr_now.
254 * tree-inline.c (unsave_expr_1): Move here
255 from tree.c. Make static.
256 (unsave_expr_now): Rename from lhd_unsave_expr_now.
257 * tree-sra.c: Fix up for rename.
258 * tree-ssa-copy.c: Ditto.
259 * tree-eh.c: Ditto.
260 * tree.c (unsave_expr_1): Move to tree-inline.c.
261
d5bfecf2
CT
2622004-08-19 Caroline Tice <ctice@apple.com>
263
264 * config/i386/cygming.h (switch_to_section): Fix typo (change
265 in_unlikely_text_section to in_unlikely_executed_text).
19114537 266
58152808
DB
2672004-08-19 Daniel Berlin <dberlin@dberlin.org>
268
269 * vec.h (VEC_lower_bound): New macro.
19114537 270
ae043003
RS
2712004-08-19 Richard Sandiford <rsandifo@redhat.com>
272
273 PR target/16446
274 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
275 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
276 treat each ABI separately. Deal with n32/n64 complex float arguments.
277 (function_arg): Add associated complex handling here.
278
50ed9cea
RH
2792004-08-19 Richard Henderson <rth@redhat.com>
280
281 * config/arm/arm.c (arm_gen_load_multiple): Use
282 adjust_automodify_address. Take base memory and offset instead
283 of unchanging/struct/scalar bits.
284 (arm_gen_store_multiple): Likewise.
285 (arm_gen_movmemqi): Use adjust_automodify_address.
286 * config/arm/arm-protos.h: Update decls.
287 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
288 (store_multiple): Similarly.
289
74ae207d
R
2902004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
291
292 * regclass.c (globalize_reg): Update call_really_used_regs.
293
89b0433e
NS
2942004-08-19 Nathan Sidwell <nathan@codesourcery.com>
295
31ebd7c8
NS
296 * doc/invoke.texi (integer-share-limit): Document.
297
89b0433e
NS
298 * tree.h (TYPE_CACHED_VALUES_P): New.
299 (TYPE_CACHED_VALUES): New.
300 (TYPE_ORIG_SIZE_TYPE): Adjust.
301 * tree.def (INTEGER_CST): Update documentation.
302 * tree.c: Inlcude params.h.
303 (build_int_cst): Cache small values.
304 (build_type_copy): Do not copy the value cache.
305 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
306 unneeded zeroing.
307 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
308 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
309 cache.
310 * fold-const.c (force_fit_type): Copy value when setting
311 overflows.
312 (int_const_binop): Likewise.
313 * stor-layout.c: Include params.h
314 (set_sizetype): Create values cache.
315 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
316 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
317 * params.h (INTEGER_SHARE_LIMIT): New.
318 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 319
c2504783
PB
3202004-08-19 Paolo Bonzini <bonzini@gnu.org>
321
322 * gimplify.c (gimplify_minimax_expr): Remove.
323 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
324
7a8554ce
DN
3252004-08-19 Dorit Naishlos <dorit@il.ibm.com>
326
19114537 327 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
328 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
329
1905f33d
MM
3302004-08-19 Mark Mitchell <mark@codesourcery.com>
331
332 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
333
f1732751
AP
3342004-08-18 Andrew Pinski <apinski@apple.com>
335
336 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
337
8c78a388
MM
3382004-08-18 Mark Mitchell <mark@codesourcery.com>
339
340 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
341 (__aeabi_ul2f): Likewise.
342
7eda7cda
RH
3432004-08-18 Richard Henderson <rth@redhat.com>
344
345 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
346 move to rtl completely.
347 (struct meminsnbuf, xtensa_emit_block_move): Remove.
348 (xtensa_find_mode_for_size): Remove.
349 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
350 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
351
88042663
RH
3522004-08-18 Richard Henderson <rth@redhat.com>
353
354 * config/mcore/mcore.c (mode_from_align): Remove DImode.
355 (block_move_sequence): Rewrite to use adjust_address.
356 (mcore_expand_block_move): Cleanup logic. Accept only operands.
357 Return boolean indicating success/failure.
358 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
359 * config/mcore/mcore.md (movmemsi): Update to match.
360
699c914a
MS
3612004-08-18 Mike Stump <mrs@apple.com>
362
363 * doc/invoke.texi (-mfix-and-continue): Add support for
364 fast turn around debugging.
365 (-ffix-and-continue): Likewise.
366 (-mindirect-data): Likewise.
367 (-findirect-data): Likewise.
368 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
369 (indirect_data): Likewise.
370 (machopic_data_defined_p): Likewise.
371 (machopic_output_indirection): Likewise.
372 (darwin_encode_section_info): Likewise.
373 (darwin_fix_and_continue): Likewise.
374 (darwin_fix_and_continue_switch): Likewise.
375 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
376 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
377 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
378 (SUBTARGET_OPTIONS): Likewise.
379 (darwin_fix_and_continue): Likewise.
380 (darwin_fix_and_continue_switch): Likewise.
381 (TARGET_FIX_AND_CONTINUE): Likewise.
382 * config/rs6000.c (rs6000_emit_prologue): Likewise.
383
3842004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
385
386 * basic-block.h (struct edge_def): Remove crossing_edge.
387 (EDGE_CROSSING): New define.
388 (EDGE_ALL_FLAGS): Update.
389 * bb-reorder.c (find_traces_1_round, better_edge_p,
390 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
391 find_jump_block, fix_crossing_conditional_branches,
392 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
393 Replace all occurences of crossing_edge with an edge flag check
394 or set/reset.
395 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
396 try_crossjump_bb): Likewise.
397 * cfglayout.c (fixup_reorder_chain): Likewise.
398 * cfgrtl.c (force_nonfallthru_and_redirect,
399 commit_one_edge_insertion): Likewise.
400
401 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
402 * tree-flow.h (compute_dominance_frontiers): Move prototype...
403 * basic-block.h: ...here.
404 * tree-cfg.c (compute_dominance_frontiers_1,
405 compute_dominance_frontiers): Move from here...
406 * cfganal.c: ...to here. Include timevar.h.
407
9ff6992e
JW
4082004-08-18 James E Wilson <wilson@specifixinc.com>
409
c831f54b 410 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
411 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
412
9ff6992e
JW
413 * config/mips/mips.md (type): Add frdiv.
414 (divsf3+1, divsf3+2): Change type to frdiv.
415 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
416 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 417
9ff6992e
JW
418 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
419 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
420 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
421 * config/mips/5000.md (r5k_fdiv_single): Likewise.
422 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
423 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
424 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
425 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
426 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
427 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
428 Likewise.
429 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
430
c16eb900
RB
4312004-08-18 Robert Bowdidge <bowdidge@apple.com>
432
433 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
434 get regression tester working again.
435
826c9564
ZW
4362004-08-18 Zack Weinberg <zack@codesourcery.com>
437
438 * insn-notes.def, reg-notes.def: New files.
439 * rtl.h: Use them to define enum insn_note and enum reg_note.
440 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 441 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
442
443 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
444 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
445
21b5653c
RE
4462004-08-18 Richard Earnshaw <rearnsha@arm.com>
447
448 * arm.c (arm_size_rtx_costs): New function.
449 (arm_override_options): Use it if optimizing for space.
450
542a8afa
RH
4512004-08-18 Richard Henderson <rth@redhat.com>
452
453 * emit-rtl.c (gen_const_mem): New.
454 * rtl.h (gen_const_mem): Declare.
455 * expr.c (do_tablejump): Use it.
456 * varasm.c (force_const_mem): Likewise.
457 * config/darwin.c (machopic_indirect_data_reference): Likewise.
458 (machopic_legitimize_pic_address): Likewise.
459 * config/arm/arm.c (legitimize_pic_address): Likewise.
460 * config/i386/i386.c (legitimize_pic_address): Likewise.
461 (legitimize_tls_address): Likewise.
462 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
463 * config/ia64/ia64.md (load_fptr): Likewise.
464 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
465 * config/pa/pa.c (legitimize_pic_address): Likewise.
466 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
467 (rs6000_emit_move): Likewise.
468 * config/s390/s390.c (legitimize_pic_address): Likewise.
469 (legitimize_tls_address): Likewise.
470 * config/s390/s390.md (casesi): Likewise.
471 * config/sh/sh.c (sh_reorg): Likewise.
472 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
473 * config/v850/v850.md (casesi): Likewise.
474
475 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
476 * config/sh/sh.c (prepare_move_operands): Remove incorrect
477 use of MEM_READONLY_P.
478
0516f6fe
SB
4792004-08-18 Steven Bosscher <stevenb@suse.de>
480
481 * Makefile.in (OBJS-common): Add postreload-gcse.c.
482 Add new postreload-gcse.o.
483 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
484 (lookup_as_function, insert, rehash_using_reg, use_related_value,
485 equiv_constant): Use SAFE_HASH instead of safe_hash.
486 (exp_equiv_p): Export. Add for_gcse argument when comparing
487 for GCSE.
488 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
489 find_comparison_args, fold_rtx, cse_insn): Update callers.
490 (hash_rtx): New function derived from old canon_hash and bits
491 from gcse.c hash_expr_1.
492 (canon_hash_string): Rename to hash_rtx_string.
493 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
494 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
495 (cselib_lookup): Update this caller.
496 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
497 Make static.
498 (hash_expr): Call hash_rtx.
499 (ldst_entry): Likewise.
500 (expr_equiv_p): Call exp_equiv_p.
501 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
502 reg_used_on_edge, reg_set_between_after_reload_p,
503 reg_used_between_after_reload_p, get_avail_load_store_reg,
504 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
505 get_bb_avail_insn, hash_scan_set_after_reload,
506 compute_hash_table_after_reload,
507 eliminate_partially_redundant_loads, gcse_after_reload,
508 get_bb_avail_insn, gcse_after_reload_main): Remove.
509 * postreload-gcse.c: New file, reincarnating most of the above.
510 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
511 (gcse_after_reload_main): Update prototype.
512 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
513 * passes.c (rest_of_handle_gcse2): Use it.
514
95013377
DN
5152004-08-18 Diego Novillo <dnovillo@redhat.com>
516
517 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
518 (pass_loop_done): Likewise.
519
ac9e2cff
AP
5202004-08-18 Andrew Pinski <apinski@apple.com>
521
826c9564 522 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
523 handled differently now.
524 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
525 (macho_correct_pic_di): Likewise.
526 (call_indirect_nonlocal_darwin64): Likewise.
527 Delete the save world/saveFP/saveVec patterns.
826c9564 528
ac9e2cff 529 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
530 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
531 * config/rs6000/rs6000.md: Include darwin.md.
532 (builtin_setjmp_receiver): Add DImode case.
533 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
534 Darwin bits.
ac9e2cff 535
92b9a671
MA
5362004-08-18 Matt Austern <austern@apple.com>
537
538 Dead code stripping
539 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
540 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 541
4766261d
RH
5422004-08-18 Richard Henderson <rth@redhat.com>
543
544 * alias.c (readonly_fields_p): Remove.
545 (objects_must_conflict_p): Don't call it.
546 * tree.h (readonly_fields_p): Remove.
547 * langhooks.h (struct lang_hooks): Remove honor_readonly.
548 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
549
50dc9a88
DN
5502004-08-18 Diego Novillo <dnovillo@redhat.com>
551
552 * tree-dfa.c (add_referenced_var): Only global variables are
553 call-clobbered.
554 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
555 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
556 all pointers dereferenced if the statement dereferences them.
557 (create_name_tags): Do not create memory tags for pointers
558 that have PT_ANYTHING set.
559 Also check if PT_VARS is not empty before creating a name tag.
560 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
561 variables that share the same alias set with a pointer that
562 may point anywhere.
563 (add_may_alias): Add FIXME comment to remove clobbering
564 aliased variables and tags.
565 (replace_may_alias): Likewise.
566 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
567 (merge_pointed_to_info): If the original variable has not
568 points-to information, call set_pt_anything.
569 (add_pointed_to_var): Do not prevent adding a pointed-to
570 variable if the pointers is PT_ANYTHING.
571 If the variable is a global, set PT_GLOBAL_MEM.
572 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
573 pointer type only come in PTR+OFFSET flavours.
574 Always call merge_pointed_to_info on PHI arguments that are
575 SSA_NAMEs.
576 (get_nmt_for): Mark call-clobbered tags whose pointer points
577 to global memory.
578 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
579 values.
580 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
581 FLAGS.
582 (add_stmt_operand): Abort if the caller tried to add a killing
583 definition for a memory tag.
584 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
585 unnecessary checks.
586
62164eb4
R
5872004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
588
589 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
590 from call_used_regs. Update call_really_used_regs.
591 (CALL_REALLY_USED_REGISTERS): Define.
592 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
593 Replace call_used_regs with call_really_used_regs.
594 (calc_live_regs, sh_media_register_for_return): Likewise.
595 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
596 * sh.md (return_media): Likewise.
597
f9b0ac3b
AP
5982004-08-18 Andrew Pinski <apinski@apple.com>
599
826c9564 600 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 601 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 602
f822d252
ZW
6032004-08-18 Zack Weinberg <zack@codesourcery.com>
604
605 * rtl.def (NIL): Delete.
606 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
607 Tighten the syntax a little.
608
609 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
610 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
611 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
612 * config/i386/predicates.md, config/m32r/m32r.h
613 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
614 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
615 * config/sparc/sparc.h, doc/tm.texi:
616 Replace all occurrences of NIL with UNKNOWN.
617
6aaf3dde
ZW
6182004-08-18 Zack Weinberg <zack@codesourcery.com>
619
620 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
621 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
622 sequence inline. Move drop_through_label code into this
623 block, being the only place it is used. Adjust comments.
624
d62294f5
FJ
6252004-08-18 Fariborz Jahanian <fjahanian@apple.com>
626
6aaf3dde
ZW
627 * config/rs6000/altivec.md: Add new patterns for calls to
628 save_world/rest_world functions.
629
630 * config/rs6000/rs6000-protos.h: (save_world_operation,
631 restore_world_operation) new declarations.
632
633 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
634 field added.
635 (rs6000_stack_info): Set world_save_p field.
636 (save_world_operation): New function.
637 (restore_world_operation): New function.
638 (compute_save_world_info): New function.
639 (rs6000_stack_info): Call compute_save_world_info.
640 (rs6000_emit_prologue): Check for world_save_p and generate
641 pattern to call save_world for saving all non-volatile and
642 special registers.
643 (rs6000_emit_epilogue): Check for world_save_p and generate
644 pattern to call rest_world to restore saved registers.
645
646 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
647 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
648 (rs6000_reg_names): New entries added for save_world_operation and
649 restore_world_operation.
d62294f5 650
790ac0e1
CT
6512004-08-18 Caroline Tice <ctice@apple.com>
652
6aaf3dde 653 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
654 "-freorder-blocks-and-partition" to the flags used in second
655 stage of profiledbootstrap.
656 * bb-reorder.c (push_to_next_round_p): Add new variable,
657 next_round_is_last; set and use variable to make sure, when
658 partitioning, that the last trace construction round consists
659 of all (and only) cold basic blocks.
660 (rotate_loop): Don't copy blocks that end in a section
661 crossing jump.
662 (copy_bb): Correctly initialize "partition" of duplicated bb.
663 (add_unlikely_executed_notes): Add a comment.
664 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
665 to make sure, if function contains hot blocks, that the
666 successors of ENTRY_BLOCK_PTR are hot; also, only look for
667 crossing edges if the architecture supports named sections.
668 (mark_bb_for_unlikely_executed_section): Modify to always
669 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
670 the basic block note insn.
671 (fix_crossing_unconditional_branches): Remove extra space.
672 (fix_edges_for_rarely_executed_code): Modify to only do
673 partitioning work if the architecture supports named sections.
674 (reorder_basic_blocks): Modify to only add
675 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
676 supports named sections.
677 * c-common.c (handle_section_attribute): Initialize new global
678 variable, user_defined_section_attribute, to true if user has
679 specified one.
680 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
681 forward edges that cross section boundaries.
682 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
683 partitioning information if the architecture supports named
684 sections.
685 * cfgrtl.c (target.h): Add statement to include this.
686 (rtl_split_block): Make sure newly created bb gets correct
687 partition.
688 (try_redirect_by_replacing_jump): Make sure redirection isn't
689 attempting to cross section boundaries.
690 (force_nonfallthru_and_redirect): Only do partition fix up if
691 architecture supports named sections.
692 (rtl_split_edge): Make sure newly created bb ends up in
693 correct partition.
694 (commit_one_edge_insertion): Remove code that incorrectly
695 updated basic block partition; Make sure partition fix up only
696 happens if architecture supports named sections and it's not
697 already done.
698 (rtl_verify_flow_info_1): Fix if-condition on test/error
699 condition that fallthru edges are not allowed to cross section
700 boundaries.
701 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
702 * final.c (final_scan_insn): Remove redundant test from if-statement;
703 change calls to text_section into calls to function_section; add code
704 to only to partitioning fix up if architecture supports named
705 sections.
706 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
707 partition.
708 (if_convert): Add targetm.have_named_sections to test.
709 * output.h (unlikely_section_label): Extern declaration for new global
710 variable.
711 (unlikely_text_section_name): Likewise.
712 * opts.c (decode_options): If both partitioning and DWARF debugging
713 are turned on, issue a warning that this doesn't work, and change
714 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 715 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
716 user_defined_section_attribute, to false.
717 (rest_of_compilation): Change options for calling partitioning
718 function: Don't call if the user defined the section attribute, and
719 don't call if DECL_ONE_ONLY is true for the current function.
720 * predict.c (choose_function_section): Return immediately if we
721 are doing hot/cold partitioning (i.e. let the basic block partitioning
722 determine where the function belongs).
723 * reg-stack.c (emit_swap_insn): Add condition to step over
724 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
725 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
726 * toplev.h (user_defined_section_attribute): Extern declaration
727 for new global variable.
790ac0e1
CT
728 * varasm.c (unlikely_section_label): New global variable.
729 (unlikely_text_section_name): New global variable.
89b0433e
NS
730 (unlikely_text_section): Add code to initialize
731 unlikely_text_section_name if necessary; modify to use
732 unlikely_text_section_name and unlikely_section_label; also to use
733 named_section properly.
734 (in_unlikely_text_section): Modify to work correctly with
735 named_section and to use unlikely_text_section_name.
790ac0e1
CT
736 (named_section): Add code to work properly with cold section.
737 (function_section): Clean up if-statement.
89b0433e
NS
738 * config/darwin.c (darwin_asm_named_section): Return to original
739 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 740 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
741 in_unlikely_executed_text to switch statement.
742 * config/i386/cygming.h (switch_to_section): Likewise.
743 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
744 (SECTION_FORMAT_STRING): Likewise.
745 * config/mcore/mcore.h (switch_to_section): Likewise.
746 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
747 (SECTION_FORMAT_STRING): Remove.
748
3a4416fb
RS
7492004-08-18 Roger Sayle <roger@eyesopen.com>
750
751 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
752 -ffixed-reg safe, by preserving the meanings of zero and one.
753 (CALL_USED_REGISTERS): Likewise.
754 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
755
03904fb3
KK
7562004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
757
758 * config/sh/sh.c (split_branches): Check the result of
759 next_active_insn.
760 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
761 Call rtl_register_cfg_hooks.
762
389fdba0
RH
7632004-08-18 Richard Henderson <rth@redhat.com>
764
765 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
766 * alias.c (true_dependence): Update to match new semantics.
767 (canon_true_dependence, write_dependence_p): Likewise.
768 (anti_dependence, output_dependence): Update write_dependence_p args.
769 (unchanging_anti_dependence): Remove.
770 * calls.c (purge_mem_unchanging_flag): Remove.
771 (fixup_tail_calls): Don't call it.
772 (expand_call): Don't add unchanging memory to function usage.
773 * expr.c (emit_block_move_via_libcall): Likewise.
774 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
775 (get_subtarget): Don't use RTX_UNCHANGING_P.
776 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
777 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
778 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
779 * cse.c (insert): Don't use RTX_UNCHANGING_P.
780 (cse_insn, canon_hash): Use MEM_READONLY_P.
781 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
782 instead of RTX_UNCHANGING_P.
783 * explow.c (maybe_set_unchanging): Remove.
784 * expr.h (maybe_set_unchanging): Remove.
785 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
786 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
787 (assign_parm_setup_reg, expand_function_start): Likewise.
788 * integrate.c (copy_rtx_and_substitute): Likewise.
789 * ra-rewrite.c (emit_colors): Likewise.
790 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
791 (fixup_match_1): Likewise.
792 * reload1.c (reload, alter_reg): Likewise.
793 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
794 not RTX_UNCHANGING_P.
795 (equiv_init_varies_p): Likewise.
796 * loop-invariant.c (check_maybe_invariant): Likewise.
797 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
798 * loop.c (note_addr_stored): Likewise.
799 (prescan_loop): Likewise. Don't check function usage for clobbered
800 unchanging memory.
801 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 802 not RTX_UNCHANGING_P.
389fdba0
RH
803 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
804 * varasm.c (force_const_mem): Likewise.
805 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
806 * web.c (entry_register): Likewise.
807 * tree-gimple.h (get_base_address): Move decl ...
808 * tree.h: ... here.
809 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
810
811 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
812 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
813 (alpha_set_memflags): Update to match.
814
815 * config/darwin.c (machopic_indirect_data_reference): Set
816 MEM_READONLY_P instead of RTX_UNCHANGING_P.
817 (machopic_indirect_call_target): Likewise.
818 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 819 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
820 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
821 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
822 * config/frv/frv.md (symGOT2reg): Likewise.
823 * config/i386/i386.c (legitimize_pic_address,
824 legitimize_tls_address, ix86_split_to_parts): Likewise.
825 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
826 * config/ia64/ia64.md (load_fptr): Likewise.
827 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
828 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
829 * config/mcore/mcore.c (block_move_sequence): Likewise.
830 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
831 * config/pa/pa.c (legitimize_pic_address): Likewise.
832 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
833 (rs6000_emit_move): Likewise.
834 * config/s390/s390.c (legitimize_pic_address): Likewise.
835 (legitimize_tls_address): Likewise.
836 * config/s390/s390.md (casesi): Likewise.
837 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
838 * config/sh/sh.md (symGOT2reg): Likewise.
839 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
840 * config/v850/v850.md (casesi): Likewise.
841
842 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
843 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
844 * config/mips/mips.c (mips_restore_gp): Likewise.
845 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
846 * config/sh/sh.c (sh_reorg): Likewise.
847
17ad5b5e
RH
8482004-08-18 Richard Henderson <rth@redhat.com>
849
850 * tree.h (struct tree_decl): Add gimple_formal_temp.
851 (DECL_GIMPLE_FORMAL_TEMP_P): New.
852 * gimplify.c (pop_gimplify_context): Clear it.
853 (lookup_tmp_var): Set it, if is_formal.
854 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
855 Use is_gimple_val for VECTOR. Simplify return value.
856 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
857 (gimplify_expr): Likewise.
858 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
859 is_gimple_tmp_rhs for clarity. Update all callers.
860 (is_gimple_reg_rhs): Simplify logic.
861 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
862 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
863 (is_gimple_formal_tmp_reg): Similarly.
864 * tree-gimple.h: Update decls.
865 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
866 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
867 * tree-ssa-live.c (var_union, type_var_init): Likewise.
868
5b0eba61
PB
8692004-08-18 Paolo Bonzini <bonzini@gnu.org>
870
871 * c4x.c (legitimize_operands): Remove calls to
872 preserve_subexpressions_p.
873
07e15286
DE
8742004-08-18 David Edelsohn <edelsohn@gnu.org>
875
876 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
877 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
878
ad8c162b
ZL
8792004-08-18 Ziemowit Laski <zlaski@apple.com>
880
881 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
882 Objective-C++ extensions.
883 * gengtype.c (get_file_basename): Match entire subdirectory name
884 ('cp', 'objc', 'objcp') rather than just its suffix.
885 (get_base_file_bitmap): Allow for files to belong to more than one
886 language.
887 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
888 used by more than one front-end.
889
d56993f2
RE
8902004-08-18 Richard Earnshaw <rearnsha@arm.com>
891
892 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
893 avoid use of preserve_subexpressions_p.
894
504c0e4f
RH
8952004-08-17 Richard Henderson <rth@redhat.com>
896
897 PR 17051
898 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
899
54e9a19d
DD
9002004-08-17 DJ Delorie <dj@redhat.com>
901
902 * doc/extend.texi: Document new xstormy16 attribute.
903
904 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
905 (xstormy16_splittable_below100_or_register): New.
906 (combine_bnp): New.
907 (xstormy16_reorg): New.
908 (TARGET_MACHINE_DEPENDENT_REORG): Define.
909
54e9a19d
DD
910 * config/stormy16/stormy16.md (movqi_internal): Make name public.
911 (movhi_internal): Likewise.
912 (cbhranchhi): Likewise.
913 (cbhranchhi_neg): Likewise.
914 (andhi3): Only allow splittable below100 operands.
915 (iorhi3): Likewise.
916 (peephole2): New and/zero_extend->and peephole.
917 (peephole2): New load/ior/save->set1 peephole.
918 (peephole2): New load/and/save->clr1 peephole.
919 (bclrx, bclrx2, bclr7, bclr15): New.
920 (bsetx, bsetx2, bset7, bset15): New.
921
922 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
923 liberal about acceptable 'B' masks.
924
925 * config/stormy16/stormy16-protos.h
926 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
927 xstormy16_below100_operand, xstormy16_below100_or_register,
928 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
929 (PREDICATE_CODES): Add new predicates.
6aaf3dde 930
54e9a19d
DD
931 * config/stormy16/stormy16.c
932 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
933 xstormy16_below100_operand, xstormy16_below100_or_register,
934 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
935 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
936 (xstormy16_legitimate_address_p): Allow below100 symbols.
937 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
938 (xstormy16_expand_move): Leave below100 operands as-is.
939 (xstormy16_encode_section_info): Encode below100 symbols.
940 (xstormy16_strip_name_encoding): New.
941 (xstormy16_print_operand): Print 'b' as shift mask.
942 (xstormy16_attribute_table): Add below100 attributes.
943 (xstormy16_handle_below100_attribute): New.
944
945 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
946 (XSTORMY16_SECTION_FUNCTION): New.
947 (EXTRA_SECTION_FUNCTIONS): Define using the above.
948 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
949 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
950 (ASM_OUTPUT_LABELREF): Define.
951
952 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
953 (movhi_internal): Add below100 support.
954 (andhi3): Add below100 support.
955 (iorhi3): Add below100 support.
956 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
957
4ef47bd8
JW
9582004-08-17 James E Wilson <wilson@specifixinc.com>
959
960 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
961 of VOIDmode for comparison code mode.
962 * config/mips/mips.md: For conditional move patterns, use mode of
963 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
964
965 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
966 normal and -ffast-math code.
967
1a10290c
MM
9682004-08-17 Mark Mitchell <mark@codesourcery.com>
969
970 PR c++/15871
971 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
972
f4e736dd 9732004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
974
975 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 976
13a98f14
AT
9772004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
978
979 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
980 for non Darwin targets.
981 (*call_value_nonlocal_darwin64): Likewise.
982
d0b2079e
FJ
9832004-08-17 Fariborz Jahanian <fjahanian@apple.com>
984
985 * config/rs6000/rs6000.c (rs6000_function_value): Check for
986 altivec mode for altivec return register.
987
feb3dc8b
DE
9882004-08-17 David Edelsohn <edelsohn@gnu.org>
989
990 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 991 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
992 * config/rs6000/rs6000.md: Include darwin.md.
993 (builtin_setjmp_receiver): Add DImode case.
994 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
995 Darwin bits.
996
79fe1b3b
DN
9972004-08-17 Dorit Naishlos <dorit@il.ibm.com>
998
89b0433e
NS
999 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
1000 trees.
79fe1b3b
DN
1001 * tree-vectorizer.h: New File: Same.
1002 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
1003 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
1004 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
1005 vectorization pass.
79fe1b3b
DN
1006 * tree-data-ref.h (init_data_ref): Additional argument.
1007 (array_base_name_differ_p): Moved to tree-data-ref.c.
1008 * tree-data-ref.c (array_base_name_differ_p): Revised.
1009 (initialize_data_dependence_relation): Call array_base_name_differ_p
1010 with an extra argument.
1011 (analyze_all_data_dependences): Same.
1012 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
1013 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
1014 file.
79fe1b3b
DN
1015 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
1016 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 1017 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
1018 vectorization pass.
1019 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
1020 (tree_ssa_loop_done): Call scev_finalize.
1021 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
1022 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
1023 size of the vector they support (until support for multiple vector
1024 sizes is added to the vectorizer).
79fe1b3b
DN
1025 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
1026 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
1027 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
1028 documentation.
1029
e15987c1
NS
10302004-08-17 Nathan Sidwell <nathan@codesourcery.com>
1031
1032 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
1033 usage.
1034 (generate_protocol_list, handle_impent): Likewise.
1035
e3cadb61
RS
10362004-08-17 Roger Sayle <roger@eyesopen.com>
1037
1038 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
1039 ensure that call_used_regs is a superset of both fixed_regs and
1040 call_really_used_regs.
1041
108a579c
DB
10422004-08-17 Daniel Bornstein <danfuzz@milk.com>
1043
1044 PR target/17019
1045 * arm.md (addsi3_cbranch_scratch): Correct case labels.
1046
62fc1d7d
PB
10472004-08-17 Paolo Bonzini <bonzini@gnu.org>
1048
1049 PR middle-end/17036
1050 * fold-const.c (fold): Check for integer operand when
1051 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
1052 Pinski <pinskia@physics.uc.edu>.
1053
7c27e184
PB
10542004-08-17 Paolo Bonzini <bonzini@gnu.org>
1055
1056 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
1057 No need to check if in a cross configuration.
1058 * configure: Regenerate.
1059
1060 * calls.c (precompute_register_parameters):
1061 Inline preserve_subexpressions_p ().
1062 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
1063 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
1064 Likewise.
1065 * expr.c (get_subtarget): Likewise.
1066 * rtl.h (preserve_subexpressions_p): Remove.
1067 * stmt.c (preserve_subexpressions_p): Remove.
1068
1069 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
1070 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
1071 Abort on gimplified cases.
1072
d97c6333
JW
10732004-08-16 James E Wilson <wilson@specifixinc.com>
1074
1075 * tree.h (VECTOR_FLOAT_TYPE_P): New.
1076 (FLOAT_TYPE_P): Use it.
1077 * c-typeck.c (build_binary_op): After convert calls, check for
1078 check for ERROR_MARK operands.
1079
45c8116d
ZW
10802004-08-16 Zack Weinberg <zack@codesourcery.com>
1081
1082 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
1083 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
1084 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
1085 (genobjs static pattern rule): Remove %.c dependency.
1086 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
1087 Rename rules; delete commands; fix dependencies.
1088 (mostlyclean): Do not delete temporary source copies.
1089 * configure.ac: Delete all references to BUILD_PREFIX and
1090 BUILD_PREFIX_1.
1091 * configure: Regenerate.
1092
1093 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
1094 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
1095 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
1096 with #ifndef GENERATOR_FILE so that nothing from those headers
1097 is used.
1098
1099 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
1100
4d73e20b
AN
11012004-08-16 Adam Nemet <anemet@lnxw.com>
1102
1103 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 1104
62114438
AP
11052004-08-16 Andrew Pinski <apinski@apple.com>
1106
1107 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
1108 extraneous semicolon.
1109
8e3e233b
DP
11102004-08-16 Devang Patel <dpatel@apple.com>
1111
1112 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
1113 * print-tree.c (print_node): Print DECL_PRESERVE_P.
1114 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
1115 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
1116 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
1117 * hooks.c (hook_void_charptr): Rename to ...
1118 (hook_void_constcharptr): ... new name.
1119 * hooks.h (hook_void_charptr): Rename to ..
1120 (hook_void_constcharptr): ... new name.
8e3e233b
DP
1121 * tree.h (DECL_PRESERVE_P): New #define.
1122 (struct tree_decl): New member, preserve_flag.
1123 * varasm.c (assemble_start_function): Mark decl preserved.
1124 (assemble_variable): Same.
1125 * darwin.c (darwin_mark_decl_preserved): New function.
1126 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
1127 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
1128 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
1129
580b3958
JM
11302004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
1131
1132 * c-decl.c (grokdeclarator): Allow for function definition where
1133 innermost declarator has attributes.
1134
93f90be6
FJ
11352004-08-16 Fariborz Jahanian <fjahanian@apple.com>
1136
1137 * except.c (get_exception_filter, build_post_landing_pads,
1138 dw2_build_landing_pads): Use target-specific mode for 'filter'.
1139 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
1140 * target.h (eh_return_filter_mode): New field added.
1141 * targhooks.c (default_eh_return_filter_mode): Defined.
1142 * targhooks.h (default_eh_return_filter_mode): Declared.
1143 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
1144
392765bf
NN
11452004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
1146
1147 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
1148 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
1149 * configure: Regenerate.
1150
49bd1d27
SS
11512004-08-16 Stan Shebs <shebs@apple.com>
1152
1153 Basic support for 64-bit Darwin.
1154 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
1155 (machopic_legitimize_pic_address): Similarly, plus use Pmode
1156 instead of SImode.
1157 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
1158 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
1159 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
1160 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
1161 (PROCESSOR_DEFAULT64): Define.
1162 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
1163 Darwin.
1164 * config/rs6000/rs6000.md: Include darwin.md.
1165 (builtin_setjmp_receiver): Add DImode case.
1166 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
1167 Darwin.
1168 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
1169 (rs6000_emit_move): Add DImode case to Darwin bits.
1170 (machopic_output_stub): Use .quad if 64-bit.
1171 * invoke.texi: Document -m32 and -m64.
1172
4e6e4e4c
JJ
11732004-08-16 Janis Johnson <janis187@us.ibm.com>
1174
1175 * doc/extend.texi (AltiVec builtins): Document additional differences
1176 from the Motorola AltiVec PIM.
1177
092313ae
NS
11782004-08-16 Nathan Sidwell <nathan@codesourcery.com>
1179
1180 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
1181 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
1182 (struct tree_common): Update public_flag documentation.
1183
dffc9ae5
NN
11842004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
1185
1186 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 1187 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
1188 * tree-ssa-live.c (var_union): Likewise.
1189
16e9be4c
NS
11902004-08-16 Nathan Sidwell <nathan@codesourcery.com>
1191
1192 * calls.c (load_register_parameters): Remove spurious FIXME token.
1193
9a4d6480
ZL
11942004-08-15 Ziemowit Laski <zlaski@apple.com>
1195
1196 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
1197 (c-lang.o): Depend on c-objc-common.h.
45c8116d 1198 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
1199 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
1200 * c-lang.c: Include c-objc-common.h.
1201 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
1202 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
1203 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
1204 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
1205 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
1206 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
1207 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 1208 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
1209 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
1210 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
1211 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
1212 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
1213 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
1214 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
1215 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
1216 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
1217 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
1218 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
1219 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
1220 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
1221 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
1222 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
1223 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
1224 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
1225 Move to c-objc-common.h.
1226 * c-objc-common.c: Include c-objc-common.h.
1227 * c-objc-common.h: New file.
1228
869464ba
AT
12292004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
1230 Andrew Pinski <pinskia@physics.uc.edu>
1231
1232 PR target/14931
1233 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
1234 style.
1235
4a90aeeb
NS
12362004-08-15 Nathan Sidwell <nathan@codesourcery.com>
1237
1238 * tree.h (build_int_cst): New.
1239 (build_int_2): Remove.
1240 * tree.c (build_int_2): Remove.
1241 (build_int_cst): New.
1242 (make_vector_type, build_common_tree_nodes,
1243 build_common_tree_nodes_2): Use build_int_cst.
1244 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
1245 expand_builtin_strpbrk, expand_builtin_fputs,
1246 build_string_literal, expand_builtin_printf,
1247 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
1248 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
1249 fold_builtin_isdigit, simplify_builtin_strstr,
1250 simplify_builtin_strpbrk, fold_builtin_fputs,
1251 simplify_builtin_sprintf): Use build_int_cst.
1252 * c-common.c (start_fname_decls, fix_string_type,
1253 c_common_nodes_and_builtins, c_init_attributes,
1254 shorten_compare): Likewise.
1255 * c-decl.c (complete_array_type,
1256 check_bitfield_type_and_width): Likewise.
1257 * c-lex.c (interpret_integer, lex_charconst): Likewise.
1258 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
1259 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1260 * c-typeck.c (really_start_incremental_init, push_init_level,
1261 set_nonincremental_init_from_string): Likewise.
1262 * calls.c (load_register_parameters): Likewise.
1263 * convert.c (convert_to_pointer): Likewise.
1264 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
1265 build_fn_info_type, build_ctr_info_value, build_gcov_info):
1266 Likewise.
1267 * except.c (init_eh, assign_filter_values, assign_filter_values):
1268 Likewise.
1269 * expmed.c (store_fixed_bit_field, extract_bit_field,
1270 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
1271 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
1272 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
1273 * expr.c (convert_move, emit_group_load, emit_group_store,
1274 expand_assignment, store_constructor, store_field,
1275 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
1276 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
1277 invert_truthvalue, optimize_bit_field_compare,
1278 decode_field_reference, all_ones_mask_p, constant_boolean_node,
1279 fold_div_compare, fold, fold_read_from_constant_string,
1280 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
1281 * function.c (assign_parm_setup_block): Likewise.
1282 * stmt.c (shift_return_value, expand_end_case_type,
1283 estimate_case_costs): Likewise.
1284 * stor-layout.c (layout_type, initialize_sizetypes,
1285 set_min_and_max_values_for_integral_type): Likewise.
1286 * tree-chrec.c (chrec_fold_multiply_poly_poly,
1287 reset_evolution_in_loop): Likewise.
1288 * tree-chrec.h (build_polynomial_chrec): Likewise.
1289 * tree-complex.c (build_replicated_const): Likewise.
1290 * tree-eh.c (honor_protect_cleanup_actions,
1291 lower_try_finally_onedest, lower_try_finally_copy,
1292 lower_try_finally_switch): Likewise.
1293 * tree-mudflap.c (mf_build_string, mx_register_decls,
1294 mudflap_register_call, mudflap_enqueue_constant): Likewise.
1295 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
1296 * tree-pretty-print.c (dump_generic_node): Likewise.
1297 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
1298 Likewise.
1299 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
1300 * tree-ssa-loop-niter.c (number_of_iterations_cond,
1301 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
1302 Likewise.
45c8116d 1303
4a90aeeb
NS
1304 * config/alpha/alpha.c (alpha_initialize_trampoline,
1305 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
1306 * config/arm/arm.c (arm_get_cookie_size): Likewise.
1307 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
1308 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
1309 * config/i860/i860.c (i860_va_start): Likewise.
1310 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
1311 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
1312 mips_gimplify_va_arg_expr): Likewise.
1313 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
1314 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
1315 add_compiler_branch_island): Likewise.
1316 * config/s390/s390.c (s390_va_start): Likewise.
1317 * config/sh/sh.c (sh_va_start): Likewise.
1318 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
1319 Likewise.
1320 * config/xtensa/xtensa.c (xtensa_va_start,
1321 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 1322
4a90aeeb
NS
1323 * objc/objc-act.c (build_objc_string_object,
1324 build_objc_symtab_template, init_def_list, init_objc_symtab,
1325 init_module_descriptor, generate_static_references,
1326 build_selector_translation_table, get_proto_encoding,
1327 build_typed_selector_reference, build_selector_reference,
1328 build_next_objc_exception_stuff,
1329 build_method_prototype_list_template, generate_descriptor_table,
1330 generate_protocols, build_protocol_initializer,
1331 build_ivar_list_template, build_method_list_template,
1332 build_ivar_list_initializer, generate_ivars_list,
1333 generate_dispatch_table, generate_protocol_list,
1334 build_category_initializer, build_shared_structure_initializer,
1335 generate_shared_structures, handle_impent,
1336 generate_objc_image_info): Use build_int_cst.
1337
2a68a7de
BE
13382004-08-15 Ben Elliston <bje@au.ibm.com>
1339
1340 * vec.h: Comment improvements.
1341
53fb4de3
RS
13422004-08-14 Roger Sayle <roger@eyesopen.com>
1343
1344 * c-common.c (shorten_compare, pointer_int_sum,
1345 c_common_truthvalue_conversion, boolean_increment): Replace calls
1346 to build with calls to buildN.
1347 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
1348 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
1349 gimplify_switch_stmt): Likewise.
1350 * c-typeck.c (default_function_array_conversion,
1351 build_component_ref, build_array_ref, build_function_call,
1352 pointer_diff, build_unary_op, build_conditional_expr,
1353 build_compound_expr, build_modify_expr, c_finish_goto_label,
1354 c_finish_goto_ptr, c_finish_return, c_finish_loop,
1355 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
1356 build_binary_op): Likewise.
1357
254b17dd
SB
13582004-08-15 Steven Bosscher <stevenb@suse.de>
1359
1360 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
1361
a5252c84
JDA
13622004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1363
1364 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
1365 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
1366 * fixinc/fixincl.x: Rebuilt.
1367
96a30b18
RS
13682004-08-14 Richard Sandiford <rsandifo@redhat.com>
1369
1370 * config/mips/mips-protos.h (mips_symbolic_constant_p)
1371 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
1372 (mips_small_data_pattern_p): Declare.
1373 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
1374 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
1375 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
1376 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
1377 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
1378 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
1379 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
1380 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
1381 (pc_or_label_operand, call_insn_operand, move_operand)
1382 (consttable_operand, symbolic_operand, general_symbolic_operand)
1383 (global_got_operand, local_got_operand, stack_operand)
1384 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
1385 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
1386 (mips_small_data_pattern_p): Replace previous small_data_pattern
1387 predicate. Turn into a bool () (rtx) function.
1388 * config/mips/predicates.md: New file.
1389 * config/mips/mips.md: Include it. Use the target-independent
1390 comparison_operator instead of cmp_op. Rename trap_cmp_op to
1391 trap_comparison_operator and equality_op to equality_operator.
1392 Replace uses of small_int with the equivalent const_arith_operand.
1393 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
1394 const_float_1_operand to const_1_operand. Rename fcc_register_operand
1395 to fcc_reload_operand.
1396 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
1397
e41c9fcb
JDA
13982004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1399
1400 PR libstdc++/17005 partial fix.
1401 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
1402 except when generating ANSI/C89 code.
1403
af9c6659
NS
14042004-08-14 Nathan Sidwell <nathan@codesourcery.com>
1405
1406 * c-common.c (shorten_compare): Use force_fit_type directly.
1407
37de1373
GP
14082004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
1409 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
1410 Dave Korn <dk@artimi.com>
1411
1412 * doc/install.texi (Building): Avoid duplicate reference to GNU
1413 make requirement.
1414 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
1415
06d69cd3
RH
14162004-08-14 Richard Henderson <rth@redhat.com>
1417
1418 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
1419 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
1420
e427abbf
RH
14212004-08-13 Richard Henderson <rth@redhat.com>
1422
1423 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
1424 for constant_call_address_operand.
1425 (call_value_pop_1, call_value_1): Likewise.
1426 (sibcall_value_1, call_value_1_rex64): Likewise.
1427
2b407936
JW
14282004-08-13 James E Wilson <wilson@specifixinc.com>
1429
1430 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
1431 Correct mode from SFmode to DFmode.
1432
3e0d5ae2
ZL
14332004-08-13 Ziemowit Laski <zlaski@apple.com>
1434
1435 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
1436 __cstring_object and __image_info sections with the no_dead_strip
1437 attribute.
1438
e0704143
RS
14392004-08-13 Roger Sayle <roger@eyesopen.com>
1440 David Billinghurst <David.Billinghurst@riotinto.com>
1441
1442 PR libgfortran/15930
1443 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
1444 * fixinc/fixincl.x: Regenerate.
1445 * fixinc/tests/base/internal/math_core.h: New file.
1446
8768c655
RH
14472004-08-13 Richard Henderson <rth@redhat.com>
1448
1449 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
1450 (dbxout_function_end): Remove ifdefs for it.
1451 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
1452
201312c2
RH
14532004-08-13 Richard Henderson <rth@redhat.com>
1454
1455 * Makefile.in (insn-preds.o): Depend on TREE_H.
1456 * genpreds.c (write_insn_preds_c): Include tree.h.
1457 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
1458 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
1459 const48_operand, and_operand, or_operand, mode_width_operand,
1460 mode_mask_operand, mul8_operand, const0_operand,
1461 hard_fp_register_operand, hard_int_register_operand,
1462 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
1463 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 1464 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
1465 dtp16_symbolic_operand, dtp32_symbolic_operand,
1466 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
1467 gottp_symbolic_operand, alpha_comparison_operator,
1468 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
1469 signed_comparison_operator, alpha_fp_comparison_operator,
1470 divmod_operator, fix_operator, aligned_memory_operand,
1471 unaligned_memory_operand, reg_or_unaligned_mem_operand,
1472 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
1473 reg_no_subreg_operand, addition_operation): Move to predicates.md.
1474 (reg_or_const_int_operand): Remove. Replace all users with
1475 reg_or_cint_operand.
1476 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
1477 (resolve_reload_operand): Split out of aligned_memory_operand.
1478 * config/alpha/alpha-protos.h: Update for exports.
1479 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
1480 * config/alpha/alpha.md: Include predicates.md.
1481 * config/alpha/predicates.md: New file.
1482
1e9c8405
RS
14832004-08-13 Richard Sandiford <rsandifo@redhat.com>
1484
1485 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
1486 fields with a pointer to the instruction definition.
1487 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
1488 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
1489 (write_attr_case, write_const_num_delay_slots): Update accordingly.
1490 (write_attr_case, write_const_num_delay_slots): Write the name of
1491 an insn next to its case statement.
1492 * genoutput.c (data): Add a filename field.
1493 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
1494 (output_insn_data): Print the location of each insn definition.
1495 * genrecog.c (write_action): Print the name of an insn above
1496 the statement that returns its code.
1497
1e5f1716
AP
14982004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
1499
1500 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
1501 * config/libgloss.h: Likewise.
1502 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
1503 * c4x/c4x-modes.def: Likewise.
1504 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
1505 (c4x_rptb_nop_p): Likewise.
1506 (c4x_rptb_valid_p): Likewise.
1507 (c4x_rptb_insert): Likewise.
1508 (c4x_address_conflict): Likewise.
1509 * config/c4x/c4x.md: Likewise.
1510 * config/frv/frv.md: Likewise.
1511 * config/i386/athlon.md: Likewise.
1512 * config/i386/i386.md: Likewise.
1513 * config/i386/predicates.md: Likewise.
1514 * config/ia64/ia64.c: Likewise.
1515 * config/ia64/itanium1.md: Likewise.
1516 * config/ia64/itanium2.md: Likewise.
1517 * config/iq2000/iq2000.md: Likewise.
1518 * config/mcore/mcore.c: Likewise.
1519 * config/mips/mips.c: Likewise.
1520 * config/mips/r3900.h: Likewise.
1521 * config/mips/sb1.md: Likewise.
1522 * config/pa/milli64.S: Likewise.
1523 * config/pa/pa.c: Likewise.
1524 * config/pa/pa.h: Likewise.
1525 * config/rs6000/8540.md: Likewise.
1526
9bcc9490
DB
15272004-08-13 Daniel Berlin <dberlin@dberlin.org>
1528
1529 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
1530
68fe56fc
R
15312004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
1532
1533 * sh.md (cbranch define_delay) Use cond_delay_slot for
1534 non-anulled condition too.
1535
85d346f1
DE
15362004-08-12 David Edelsohn <edelsohn@gnu.org>
1537
1538 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
1539 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
1540 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 1541 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
1542 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
1543 any_parallel_operand.
1544 (return_and_restore_fpregs_{si,di}): Same.
1545
47d2cee5
ZW
15462004-08-12 Zack Weinberg <zack@codesourcery.com>
1547
1548 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
1549 if pred->singleton != PARALLEL, issue a warning and pretend it was.
1550 Also issue a warning for any predicate we don't know about.
1551
8fe75e43
RH
15522004-08-12 Richard Henderson <rth@redhat.com>
1553
1554 * config/i386/i386.c (internal_label_prefix): Export.
1555 (internal_label_prefix_len, struct ix86_address,
1556 ix86_decompose_address, maybe_get_pool_constant,
1557 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
1558 memory_address_length): Export.
47d2cee5 1559 (any_fp_register_operand, fp_register_operand,
8fe75e43 1560 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 1561 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
1562 x86_64_nonmemory_operand, x86_64_movabs_operand,
1563 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
1564 x86_64_zext_immediate_operand, const_int_1_31_operand,
1565 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
1566 tls_symbolic_operand, global_dynamic_symbolic_operand,
1567 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
1568 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
1569 constant_call_address_operand, const0_operand, const1_operand,
1570 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
1571 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
1572 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
1573 general_no_elim_operand, nonmemory_no_elim_operand,
1574 index_register_operand, q_regs_operand, flags_reg_operand,
1575 non_q_regs_operand, zero_extended_scalar_load_operand,
1576 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 1577 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
1578 fcmov_comparison_operator, promotable_binary_operator,
1579 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 1580 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
1581 memory_displacement_operand, cmpsi_operand, long_memory_operand,
1582 aligned_operand): Move to predicates.md as define_predicates.
1583 (tls_symbolic_operand_1): Remove.
1584 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
1585 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
1586 (legitimize_address): Merge tls_symbolic_operand contents.
1587 (ix86_expand_move): Likewise.
1588 * config/i386/i386-protos.h: Update for exports.
1589 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
1590 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
1591 * config/i386/i386.md: Include predicates.md.
1592 * config/i386/predicates.md: New file.
1593
ea3d83a7
MM
15942004-08-13 Mark Mitchell <mark@codesourcery.com>
1595
1596 PR c++/16924
1597 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
1598 SYMBOL_REF_DECL.
1599 (i386_pe_mark_dllimport): Likewise.
1600 (i386_pe_encode_section_info): Likewise, when overriding
1601 dllimport attribute.
1602
414adbdd
GK
16032004-08-12 Geoffrey Keating <geoffk@apple.com>
1604
1605 * configure.ac: When testing for flex, nm, ar, and bison, check
1606 that they will actually be built.
1607 * configure: Regenerate.
1608
c5443745
UW
16092004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
1610
1611 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
1612 (MOVE_MAX_PIECES): Define.
1613
8fa5469d
DP
16142004-08-12 Devang patel <dpatel@apple.com>
1615
1616 * dbxout.c (dbxout_begin_prologue): New function.
1617 (dbx_debug_hooks): Use new begin prologue hook.
1618 (dbxout_function_end): Emit N_ENSYM.
1619 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 1620
b0b343db
JJ
16212004-08-12 Janis Johnson <janis187@us.ibm.com>
1622
e390eb0a
JJ
1623 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
1624 argument is float*.
1625
e34b6648
JJ
1626 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
1627 for vec_dss.
1628
b0b343db
JJ
1629 * doc/extend.texi (AltiVec builtins): Fix description for recent
1630 changes. Update operation list to match current support.
1631
adf39f8f
AK
16322004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
1633
1634 * config/s390/s390.c (struct s390_frame_layout): New struct as element
1635 of struct machine_function.
1636 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
1637 changed all uses.
1638 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
1639 changed all uses.
1640 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
1641 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
1642 (s390_frame_area, s390_register_info): New functions.
1643 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
1644 for base register.
1645 (s390_return_addr_rtx, s390_return_address_offset)
1646 (s390_va_start, s390_gimplify_va_arg)
1647 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
1648 layouts.
1649 (s390_frame_info): Functionality partly moved to s390_register_info.
1650 Made adaptions for new stack layout.
1651 (save_gprs, restore_gprs): Changed meaning of second parameter and
1652 adapted all callers.
1653
1654 * config/s390/s390.h (s390_backchain_string): New global variable.
1655 (MASK_BACKCHAIN): Removed definition.
1656 (TARGET_BACKCHAIN): Changed check.
1657 (TARGET_KERNEL_BACKCHAIN): New macro.
1658 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
1659 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
1660 "kernel-backchain".
1661 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
1662
1663 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
1664 as condition. Adjusted for new stack layout.
1665
1666 * doc/invoke.texi: Added documentation for new option
1667 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
1668 "-mno-backchain".
1669
db151e9d
PB
16702004-08-12 Paul Brook <paul@codesourcery.com>
1671
1672 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
1673 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
1674
02b75262
DD
16752004-08-12 David Daney <ddaney@avtrex.com>
1676
db151e9d 1677 * java/gcj.texi: Add subsection on signal usage.
02b75262 1678
f64d6991
DE
16792004-08-12 David Edelsohn <edelsohn@gnu.org>
1680
1681 * expr.c (move_by_pieces): Set alignment for move to minimum of
1682 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
1683 alignment, but not less than the original alignment.
1684 (move_by_pieces_ninsns): Same.
1685 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
1686 (store_by_pieces_1): Same.
1687
c597ef4e
DN
16882004-08-12 Diego Novillo <dnovillo@redhat.com>
1689
1690 PR tree-optimization/16867
1691 * tree.c (is_global_var): New function.
1692 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
1693 Call is_global_var.
1694 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
1695 Update all users.
1696 (is_global_var): Declare.
1697 * tree-dfa.c (dump_variable): Display global and addressable
1698 attributes.
1699 (add_referenced_var): Clarify documentation when marking
1700 variables call-clobbered.
1701 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
1702 instead of needs_to_live_in_memory.
1703 (mark_call_clobbered): If the variable is a tag, mark it
1704 DECL_EXTERNAL.
1705 * tree-gimple.c (is_gimple_reg): Don't check for
1706 TREE_ADDRESSABLE.
1707 (is_gimple_non_addressable): Likewise.
1708 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
1709 needs to be marked call-clobbered.
1710 (setup_pointers_and_addressables): Call is_global_var instead
1711 of needs_to_live_in_memory.
1712 * tree-ssa-dce.c (need_to_preserve_store): Remove.
1713 Update all users with is_global_var.
1714 (mark_stmt_if_obviously_necessary): Fix processing of aliased
1715 stores. Don't check the virtual definitions. Rather, check
1716 whether the store is going into global memory.
1717 (find_obviously_necessary_stmts): Get the symbol from the PHI
1718 result.
1719 * tree-ssa-operands.c (get_call_expr_operands): Do not add
1720 clobbering may-defs if the call does not have side effects.
1721
ab5c8549
JJ
17222004-08-12 Jakub Jelinek <jakub@redhat.com>
1723
1724 PR c++/16276
1725 * output.h (default_function_rodata_section,
1726 default_no_function_rodata_section): New prototypes.
1727 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
1728 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
1729 (TARGET_ASM_OUT): Add it.
1730 * varasm.c (default_function_rodata_section,
1731 default_no_function_rodata_section): New functions.
1732 * final.c (final_scan_insn): Call
1733 targetm.asm_out.function_rodata_section instead of
1734 readonly_data_section.
1735 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
1736 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
1737 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
1738 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
1739 Likewise.
1740 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
1741 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
1742 Likewise.
1743 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
1744 Likewise.
1745 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
1746 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
1747 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
1748
5cf58f28
PB
17492004-08-12 Paul Brook <paul@codesourcery.com>
1750
1751 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
1752 frame info.
1753 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
1754 DWARF2_UNWIND_INFO.
1755
87e184d1
BE
17562004-08-12 Ben Elliston <bje@au.ibm.com>
1757
1758 PR target/16286
1759 * config/rs6000/altivec.h: Change vector to __vector throughout.
1760 (Except for the `vector' macro itself).
1761
e543e219
ZW
17622004-08-12 Zack Weinberg <zack@codesourcery.com>
1763
1764 * genpreds.c: Add capability to generate predicate bodies as
1765 well as function prototypes. Write function prototypes for
1766 the generic predicates too.
1767 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
1768 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
1769 (write_match_code, write_predicate_expr, write_one_predicate_function)
1770 (parse_option): New functions.
1771 (output_predicate_decls): Delete.
1772 (main): Read the machine description, process DEFINE_PREDICATE or
1773 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
1774 as appropriate.
1775
1776 * genrecog.c (struct decision_test): Replace index with
1777 struct pred_data pointer.
1778 (next_index): Remove, unused.
1779 (pred_table, preds, special_mode_pred_table): Delete.
1780 (compute_predicate_codes, process_define_predicate): New functions.
1781 (validate_pattern, add_to_sequence, write_switch): Update for
1782 new data structures.
1783 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
1784 Check both error_count and have_error.
1785
1786 * gensupport.c (in_fname, first_predicate): New globals.
1787 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
1788 (predicate_table, last_predicate, old_pred_table)
1789 (old_special_pred_table): New statics.
1790 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
1791 (add_predicate, init_predicate_table): New functions.
1792 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
1793 (init_md_reader_args_cb): Use the global in_fname. No need to zero
1794 it or max_include_len. Call init_predicate_table.
1795 (read_rtx): Run the predicate queue after the attribute queue
1796 but before all the others.
1797 * gensupport.h (in_fname, struct pred_data, first_predicate)
1798 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
1799 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
1800 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
1801 * dummy-conditions.c: Don't include bconfig.h, system.h,
1802 coretypes.h, tm.h, or system.h. Do include stddef.h.
1803 Duplicate declaration of struct c_test from gensupport.h.
1804
1805 * Makefile.in (OBJS-common): Add insn-preds.o.
1806 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
1807 (insn-preds.c, insn-preds.o): New rules.
1808 (s-preds): Also generate insn-preds.c.
1809 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
1810 Update dependencies.
1811 (print-rtl.o, print-rtl1.o): Correct dependencies.
1812
1813 * recog.h: Delete prototypes of predicate functions.
1814
1815 * doc/md.texi (Predicates): New section with complete
1816 documentation of operand/operator predicates. Remove some
1817 incomplete documentation of predicates from other places.
1818 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
1819 PREDICATE_CODES; indicate that both are deprecated in favor
1820 of define_predicate/define_special_predicate.
1821
1822 * config/ia64/ia64.c: All predicate function definitions moved
1823 to ia64.md, except
1824 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
1825 (ia64_expand_load_address, ia64_expand_move):
1826 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
1827
1828 * config/ia64/ia64.md: All predicates now defined here.
1829 (symbolic_operand): Is now a special predicate.
1830
1831 * config/ia64/ia64.h: Declare ia64_section_threshold.
1832 (PREDICATE_CODES): Delete.
1833
174283a3
RH
18342004-08-12 Richard Henderson <rth@redhat.com>
1835
1836 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
1837 * c-semantics.c (add_stmt): Set it.
1838 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
1839 before instantiating a variable sized type.
1840
15931954
RH
18412004-08-12 Richard Henderson <rth@redhat.com>
1842
1843 * stor-layout.c (round_up, round_down): Move ...
e543e219 1844 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
1845 multiple_of_p to avoid any arithmetic at all.
1846
57d1dd87
RH
18472004-08-12 Richard Henderson <rth@redhat.com>
1848
1849 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
1850 (gimplify_init_ctor_preeval_1): New.
1851 (gimplify_init_ctor_preeval): New.
1852 (gimplify_init_ctor_eval): New.
1853 (gimplify_init_constructor): Use them. Always gimplify the LHS
1854 object first.
1855
46e34f96
ZL
18562004-08-12 Ziemowit Laski <zlaski@apple.com>
1857
1858 (This patch is part of merge of objc-improvements-branch
1859 into mainline.)
1860
1861 * doc/frontends.texi: Mention Objective-C++ in addition to
1862 Objective-C.
1863 * doc/install.texi: Add 'obj-c++' to list of configurable
1864 languages.
1865 * doc/invoke.texi: Rename Objective-C option headings to
1866 indicate they also apply to Objective-C++. List file
1867 extensions for Objective-C++ sources. Mention that
1868 ObjC and ObjC++ compilations may also use C and C++ options,
1869 respectively. Point users to doc/standards.texi for
1870 further info on ObjC and ObjC++.
1871 * doc/sourcebuild.texi: Mention the objcp/ directory and
1872 the Objective-C++ sources it contains.
1873 * doc/standards.texi: Update link to Apple ObjC site;
1874 add link to gcc readings.html WWW doc.
1875
07f12d8b
AM
18762004-08-12 Alan Modra <amodra@bigpond.net.au>
1877
1878 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
1879 and 2004-07-14 changes.
1880
89aa5a20
PB
18812004-08-12 Paul Brook <paul@codesourcery.com>
1882
1883 * doc/invoke.texi: Fix typo.
1884
5079843a
DP
18852004-08-11 Devang Patel <dpatel@apple.com>
1886
1887 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
1888 and -no_dead_strip_inits_and_terms.
1889 (LINK_SPEC): Same.
1890 * doc/invoke.texi (Darwin Options): Document -dead_strip and
1891 -no_dead_strip_inits_and_terms.
e543e219 1892
876f13b0
PB
18932004-08-11 Paul Brook <paul@codesourcery.com>
1894
1895 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
1896 (arm_load_pic_register): ... to this.
1897 * config/arm/arm.c (arm_finalize_pic): Rename ...
1898 (arm_load_pic_register): ... to this. Always output insns at the
1899 current location. Load via low reg in thumb mode.
1900 (arm_expand_prologue): Call arm_load_pic_register.
1901 (thumb_expand_prologue): Ditto.
1902 * config/arm/arm.h (FINALIZE_PIC): Remove.
1903 * config/arm/arm.md (builtin_setjmp_receiver): Call
1904 arm_load_pic_register.
1905
57934c39
PB
19062004-08-11 Paul Brook <paul@codesourcery.com>
1907
1908 * arm.c (thumb_force_lr_save): Add prototype.
1909 (thumb_compute_save_reg_mask): New function.
1910 (thumb_find_work_register): New function.
1911 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
1912 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
1913 Don't clobber r3 when removing pretend args.
1914 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
1915 (thumb_output_function_prologue): Use new functions.
1916 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
1917 * arm.h (THUMB_REG_PUSHED_P): Remove.
1918
af874237
JW
19192004-08-11 James E Wilson <wilson@specifixinc.com>
1920
1921 PR rtl-optimization/16490
1922 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
1923 global_live_at_end for new basic block if already set for other blocks.
1924
c1618c0c
DE
19252004-08-11 David Edelsohn <edelsohn@gnu.org>
1926
1927 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
1928
1929 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
1930 (mfcr rlwinm rlwinm patterns): Set length to 12.
1931
1a24f92f
AM
19322004-08-11 Andrew MacLeod <amacleod@redhat.com>
1933
1934 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
1935 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
1936 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
1937 (start_ssa_stmt_operands): Delete.
e543e219 1938 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
1939 struct stmt_operands_d.
1940 (build_ssa_operands): New extern entry point.
e543e219 1941 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
1942 building code, replace with create_ssa_artficial_load_stmt().
1943 * tree-ssa-operands.c (struct voperands_d): Delete.
1944 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
1945 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 1946 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
1947 free_v_must_defs): Remove dealloc parameter.
1948 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
1949 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
1950 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
1951 vector comparisons, ssa_name reuse, and allocations here.
1952 (verify_start_operands): Delete.
1953 (finalize_ssa_stmt_operands): Set new operands by calling finalize
1954 routines.
1955 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
1956 (append_def, append_usei): Simplify to simple accumulation.
1957 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
1958 duplicates and simple accumulation.
1959 (free_ssa_operands): Free vectors in a stmt_operand structure.
1960 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 1961 a stmt and an old set of stmt_operands.
1a24f92f
AM
1962 (get_stmt_operands): Simplify and call build_ssa_operands.
1963 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
1964 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
1965 add_call_read_ops): Don't pass prev_vops around anymore.
1966 (note_addressable): Return if no stmt annotation.
1967 (copy_virtual_operands): Access v_may_def operands through a struct.
1968 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
1969 hash tables without treating the stmt as a real stmt.
1970 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
1971 v_may_def def and use through a struct instead of 2 array elements.
1972 (struct v_may_def_optype_d): Use v_may_def_operand_type.
1973 (struct stmt_operands_d): New. Struct for storing all operand vectors.
1974
a77655b1
NC
19752004-08-11 Nick Clifton <nickc@redhat.com>
1976
1977 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
1978 this funciton's behaviour. Return true when the current function
1979 has a section attribute and -mlong-calls is in effect.
1980 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
1981 short-call marker when -mlong-calls is in effect and the function
1982 has a section attribute.
1983
6f4a43e0
ZW
19842004-08-10 Zack Weinberg <zack@codesourcery.com>
1985
1986 * stmt.c (expand_return): If asked to return the RESULT_DECL,
1987 just call expand_value_return on result_rtl.
1988
1a186ec5
RH
19892004-08-10 Richard Henderson <rth@redhat.com>
1990
1991 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
1992 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
1993 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
1994 (add_location_or_const_value_attribute): ... not here. Use
1995 loc_descriptor_from_tree if possible.
1996 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
1997 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
1998 values specially.
1999 (loc_descriptor_from_tree): New. Update callers.
2000 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
2001 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
2002 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
2003 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
2004 and BUILT_IN_STACK_RESTORE.
2005 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
2006 * stmt.c (expand_stack_alloc): Remove.
2007 * tree-mudflap.c (mx_register_decls): Don't look for
2008 BUILT_IN_STACK_ALLOC.
2009 * tree-nested.c (convert_local_reference): Likewise.
2010 * tree.h (DECL_VALUE_EXPR): New.
2011
7109c195
RH
20122004-08-10 Richard Henderson <rth@redhat.com>
2013
bf4ccdd6
RH
2014 * stor-layout.c (round_up): Check for 0/1 before dividing.
2015 (round_down): Likewise.
2016
7109c195
RH
2017 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
2018
b3f8d95d
MM
20192004-08-09 Mark Mitchell <mark@codesourcery.com>
2020
2021 * config.gcc (arm*-*-eabi*): New target.
2022 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
2023 (TARGET_LIB_INT_CMP_BIASED): Likewise.
2024 * expmed.c (expand_divmod): Try a two-valued divmod function as a
2025 last resort.
2026 * gthr.h: Remove bogus tokens at end of #pragma.
2027 * optabs.c (expand_twoval_binop_libfunc): New function.
2028 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
2029 (prepare_float_lib_cmp): Try reversing the condition.
2030 (debug_optab_libfuncs): New function.
2031 * optabs.h (expand_twoval_binop_libfunc): Declare.
2032 * config/arm/arm.c (arm_init_libfuncs): New function.
2033 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
2034 (TARGET_INIT_LIBFUNCS): Define it.
2035 * config/arm/arm.h (TARGET_BPABI): New macro.
2036 * config/arm/arm-protos.h
2037 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
2038 * config/arm/bpabi.S: New file.
2039 * config/arm/bpabi.c: Likewise.
2040 * config/arm/bpabi.h: Likewise.
2041 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
2042 (__aeabi_drsub): Likewise.
2043 (__aeabi_dsub): Likewise.
2044 (__aeabi_dadd): Likewise.
2045 (__aeabi_ui2d): Likewise.
2046 (__aeabi_i2d): Likewise.
2047 (__aeabi_f2d): Likewise.
2048 (__aeabi_dmul): Likewise.
2049 (__aeabi_ddiv): Likewise.
2050 (__aeabi_cdrcmple): Likewise.
2051 (__aeabi_cdcmpeq): Likewise.
2052 (__aeabi_cdcmple): Likewise.
2053 (__aeabi_dcmpeq): Likewise.
2054 (__aeabi_dcmplt): Likewise.
2055 (__aeabi_dcmple): Likewise.
2056 (__aeabi_dcmpge): Likewise.
2057 (__aeabi_dcmpgt): Likewise.
2058 (__aeabi_dcmpun): Likewise.
2059 (__aeabi_d2iz): Likewise.
2060 (__aeabi_d2uiz): Likewise.
2061 (__aeabi_d2f): Likewise.
2062 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
2063 (__aeabi_frsub): Likewise.
2064 (__aeabi_fsub): Likewise.
2065 (__aeabi_fadd): Likewise.
2066 (__aeabi_ui2f): Likewise.
2067 (__aeabi_i2f): Likewise.
2068 (__aeabi_fmul): Likewise.
2069 (__aeabi_fdiv): Likewise.
2070 (__aeabi_cfrcmple): Likewise.
2071 (__aeabi_cfcmpeq): Likewise.
2072 (__aeabi_cfcmple): Likewise.
2073 (__aeabi_fcmpeq): Likewise.
2074 (__aeabi_fcmplt): Likewise.
2075 (__aeabi_fcmple): Likewise.
2076 (__aeabi_fcmpge): Likewise.
2077 (__aeabi_fcmpgt): Likewise.
2078 (__aeabi_fcmpun): Likewise.
2079 (__aeabi_f2iz): Likewise.
2080 (__aeabi_f2uiz): Likewise.
2081 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
2082 (__aeabi_uidivmod): New function or alias.
2083 (__aeabi_idivmod): Likewise.
2084 (__aeabi_idiv0): Likewise.
2085 (__aeabi_ldiv0): Likewise.
2086 (__aeabi_llsr): Likewise.
2087 (__aeabi_lasr): Likewise.
2088 (__aeabi_llsl): Likewise.
2089 (bpabi.S): Include it.
2090 * config/arm/libgcc-bpabi.ver: New file.
2091 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
2092 (LINK_SPEC): Remove.
2093 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
2094 __aeabi_ulcmp.
2095 * config/arm/t-bpabi: New file.
2096 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
2097 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 2098
fba73eb1
DE
20992004-08-10 David Edelsohn <edelsohn@gnu.org>
2100
2101 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
2102 * config/rs6000/rs6000.md (clrmemsi): New pattern.
2103 * config/rs6000/rs6000.c (expand_block_clear): New function.
2104 (expand_block_move): Convert alignment to bits. Use SImode and
2105 HImode for unaligned addresses if not STRICT_ALIGNMENT.
2106
21072004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
2108
2109 * varasm.c (unlikely_section_label): New global variable.
2110 (unlikely_text_section_name): New global variable.
2111 (text_section): Remove alignment statement.
6f4a43e0 2112 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
2113 unlikely_section_label rather than hard-coded string.
2114 (assemble_start_function): Initialize unlikely_section_label and
2115 unlikely_text_section_name; make sure cold section is properly
2116 aligned at start of function; output unlikely_section_label if
2117 appropriate.
2118
68f9c5e2
UW
21192004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
2120
2121 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
2122 * config/s390/s390.c (s390_canonicalize_comparison): New function.
2123 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
2124 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
2125 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
2126 ("*tmqi_mem"): Remove SUBREG from pattern.
2127 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
2128 ("*andsi3_cconly"): Likewise.
6f4a43e0 2129
22116d84
L
21302004-08-10 H.J. Lu <hongjiu.lu@intel.com>
2131
2132 PR target/16909
2133 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
2134
c75095b2
JJ
21352004-08-10 Janis Johnson <janis187@us.ibm.com>
2136
2137 * doc/sourcebuild.texi (compat testing): Document available test
2138 framework commands. Use the preferred spelling of DejaGnu.
2139
98975653
DB
21402004-08-10 Daniel Berlin <dberlin@dberlin.org>
2141
2142 * lambda.h: Add matrix type, and prototypes for remainder of
2143 matrix and vector functions.
2144 (lambda_vector_mult_const): New function.
2145 (lambda_vector_negate): Ditto.
2146 (lambda_vector_add): Ditto.
2147 (lambda_vector_add_mc): Ditto.
2148 (lambda_vector_copy): Ditto.
2149 (lambda_vector_zerop): Ditto.
2150 (lambda_vector_equal): Ditto.
2151 (lambda_vector_min_nz): Ditto.
2152 (lambda_vector_first_nz): Ditto.
2153 (lambda_vector_matrix_mult): Ditto.
2154 * lambda-mat.c: New file.
2155 * Makefile.in (lambda-mat.o): New.
2156
68b9f53b
AM
21572004-08-10 Andrew MacLeod <amacleod@redhat.com>
2158
2159 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
2160 after linking stmt into the program.
2161 (bsi_remove): Don't call modify_stmt.
6f4a43e0 2162 * tree-complex.c (update_complex_assignment,
68b9f53b 2163 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 2164 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
2165 removing the stmt.
2166 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
2167 the stmt, and only if needed.
2168 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
2169 expression.
2170 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
2171 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
2172 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 2173 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
2174 modify_stmt rather than setting the annotation directly.
2175 (record_equivalences_from_stmt): Remove unused local 'j'.
2176 (cprop_operand): Take a stmt rather than an annotation as a parameter.
2177 Call modify_stmt.
2178 (cprop_into_stmt): Pass stmt rather than annotation.
2179 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 2180 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
2181 modify_stmt.
2182 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
2183
01c98570
JM
21842004-08-10 Jason Merrill <jason@redhat.com>
2185
6c9c4526 2186 PR middle-end/16948
01c98570
JM
2187 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
2188 the RESULT_DECL.
2189
b2ddaebb
GK
21902004-08-10 Geoffrey Keating <geoffk@apple.com>
2191
2192 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
2193 hash function.
2194
23657388
RS
21952004-08-10 Roger Sayle <roger@eyesopen.com>
2196
2197 * config/mips/mips.md: New reciprocal square root patterns that
2198 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
2199
c9ca9b88
PB
22002004-08-10 Paul Brook <paul@codesourcery.com>
2201
2202 * config/arm/arm-protos.h (arm_set_return_address,
2203 thumb_set_return_address): Add prototypes.
2204 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
2205 * config/arm/arm.c (arm_compute_func_type,
2206 use_return_insn, arm_compute_save_reg0_reg12_mask,
2207 arm_compute_save_reg_mask, arm_output_function_prologue,
2208 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
2209 current_function_calls_eh_return.
2210 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
2211 old eh code.
2212 (arm_set_return_address, thumb_set_return_address): New functions.
2213 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
2214 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
2215 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
2216 (epilogue): Use the stackadj register.
2217 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
2218
45d78e7f
JJ
22192004-08-10 Jakub Jelinek <jakub@redhat.com>
2220
2221 PR target/3144
2222 * expr.c (move_by_pieces_ninsns): Add max_size argument.
2223 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
2224 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
2225 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
2226 but using MOVE_RATIO.
2227 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
2228 (can_store_by_pieces): Change max_size type to unsigned int.
2229 (store_by_pieces_1): Likewise. Pass max_size to
2230 move_by_pieces_ninsns.
2231 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
2232 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
2233 to move_by_pieces_ninsns.
2234 (STORE_BY_PIECES_P): Define.
2235 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
2236 to move_by_pieces_ninsns.
2237 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
2238
2239 * config/i386/i386.h (CLEAR_RATIO): Define.
2240
25f3e06c
PB
22412004-08-09 Paolo Bonzini <bonzini@gnu.org>
2242
2243 * expr.c (expand_expr_real_1): Add back code that was not dead.
2244
6a3203c8
AP
22452004-08-09 Andrew Pinski <apinski@apple.com>
2246
2247 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
2248 which is found to be compatible before returning the aliasing set.
2249
b9bfca81
DJ
22502004-08-09 Daniel Jacobowitz <dan@debian.org>
2251
2252 * ggc-zone.c (struct alloc_zone): Add statistics counters.
2253 (always_collect): New flag.
2254 (ggc_alloc_zone_1): Update statistics support. Don't include
2255 overhead in allocated counter.
2256 (sweep_pages): Update allocated counter for large pages. Don'y
2257 include overhead.
2258 (ggc_collect_1): Always collect.
2259 (ggc_collect): Honor always_collect flag. Sum all zones to decide
2260 whether to collect.
2261 (SCALE, LABEL): New macros.
2262 (ggc_print_statistics): Add statistics support.
2263
fdded401
RS
22642004-08-09 Roger Sayle <roger@eyesopen.com>
2265
2266 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
2267 (init_expmed): Fix potential overrun problem with "all.reg".
2268 (expand_sdiv2_pow2): Add an alternate implementation for signed
2269 division, if the target provides a suitable conditional move insn.
2270
9d8646d7
PB
22712004-08-09 Paul Brook <paul@codesourcery.com>
2272 Richard Henderson <rth@redhat.com>
2273
2274 * unwind-dw2.c (uw_install_context_1): Update target saved stack
2275 pointer.
2276
d37e6b50
GK
22772004-08-09 Geoffrey Keating <geoffk@apple.com>
2278
2279 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
2280 Check DATA limit only if there's no AS limit. Ignore insanely
2281 low DATA limits.
2282 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
2283 but take care that the AS limit isn't overrun.
2284 * doc/invoke.texi: Update documentation of min-heapsize parameter.
2285
56b043c8
JL
22862004-08-09 Jeff Law <law@redhat.com>
2287
2288 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
2289 (tree-ssa-threadupdate.o): Add dependencies.
2290 * tree-ssa-threadupdate.c: New file.
2291 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
2292 (rewrite_vars_out_of_ssa): Remove prototype.
2293 (cleanup_tree_cfg): Returns a bool.
2294 * tree.h (thread_through_all_blocks): Prototype.
2295 * tree-outof-ssa.c (SSANORM_*): Move into here.
2296 (remove_ssa_form): Now static.
2297 (rewrite_vars_out_of_ssa): Kill.
2298 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
2299 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
2300 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
2301 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
2302 anything was changed.
2303 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
2304 from the PHI's annotation rather than the edge associated with
2305 the new argument.
2306 * tree-ssa-dom.c (redirection_edges): Kill.
2307 (redirect_edges_and_update_ssa_graph): Kill.
2308 (tree_ssa_dominator_optimize): Do not reset forwardable flag
2309 for blocks anymore. Do not initialize redirection_edges.
2310 Call thread_through_all_blocks. Simplify code for cleanup
2311 of the CFG and iterating. No longer call cleanup_tree_cfg
2312 outside the iteration loop.
2313 (thread_across_edge): No longer mess with forwardable blocks.
2314
9b305d55
ZW
23152004-08-09 Zack Weinberg <zack@codesourcery.com>
2316
2317 * explow.c (memory_address): Use memory_address_p.
2318 * recog.c (general_operand): Likewise.
2319 * regrename.c: No need to define REG_OK_STRICT.
2320
27fb79ad
SB
23212004-08-09 Steven Bosscher <stevenb@suse.de>
2322
2323 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
2324 New timers.
2325 * gcse.c: Include timevar.h.
2326 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
2327 and global_copy_prop_count.
2328 (local_const_prop_count, local_copy_prop_count): New static globals.
2329 (gcse_main): Set the right timevar for each pass.
2330 (cprop_jump): Increment global_const_prop_count when a constant is
2331 propagated. Add "GLOBAL" to dump output.
2332 (cprop_insn): Increment global_const_prop_count when a constant is
2333 propagated, or global_copy_prop_count when a copy is propagated.
2334 (do_local_cprop): Likewise for local_const_prop_count and
2335 local_copy_prop_count.
2336 (one_cprop_pass): Initialize const/cprop counters to zero.
2337 Print out results of local and global const/cprop separately.
2338 (bypass_block): Break over-length line.
702d4b73
SB
2339 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
2340 for bb-reorder.o and tracer.o.
27fb79ad 2341
7efcb746
PB
23422004-08-09 Paolo Bonzini <bonzini@gnu.org>
2343
2344 * Makefile.in (GTFILES): Remove stmt.c
2345 (stmt.o): Do not depend on gt-stmt.h.
2346 * emit-rtl.c (emit_line_note): Do not call
2347 set_file_and_line_for_stmt.
2348 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
2349 do everything.
2350 * function.c (free_after_parsing): Do not free STMT field.
2351 (allocate_struct_function): Do not call init_stmt_for_function.
2352 (assign_stack_temp_for_type): Do not accept values of keep
2353 other than 0 or 1.
2354 (init_temp_slots): Do not initialize removed variables.
2355 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
2356 and X_VAR_TEMP_SLOT_LEVEL fields.
2357 * rtl.h (set_file_and_line_for_stmt): Remove.
2358 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
2359 struct stmt_status, cond_stack, case_stack, nesting_stack,
2360 nesting_depth, emit_locus, set_file_and_line_for_stmt,
2361 same_case_target_p, init_stmt_for_function, emit_nop,
2362 expand_start_cond, expand_start_elseif, expand_start_else,
2363 expand_elseif, expand_end_cond): Remove.
2364 (preserve_subexpressions_p): Remove references to CFUN->STMT.
2365 (expand_start_case, expand_end_case_type): Remove, merge into...
2366 (expand_case): ... this one, including other bits from
2367 expand_expr_real_1. Inline same_case_target_p. Turn members
2368 of CASE_STACK into local variables.
2369 (emit_case_bit_tests): Inline same_case_target_p.
2370 (add_case_node): Add HEAD argument, return new head of the list,
2371 do not handle default label here.
2372 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
2373 expand_start_elseif, current_nesting_level, expand_start_case,
2374 expand_end_case_type, expand_end_case, add_case_node,
2375 init_stmt_for_function, expand_elseif): Remove prototypes.
2376 (expand_case): Add prototype.
2377
c4d70ce3
PB
23782004-08-09 Paolo Bonzini <bonzini@gnu.org>
2379
2380 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
2381
23822004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
2383
2384 * expr.c (var_rtx): Remove.
2385 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
2386 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
2387 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
2388 Abort.
2389 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
2390 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
2391 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
2392
d72372e4
MH
23932004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
2394 Ayal Zaks <zaks@il.ibm.com>
2395
2396 * common.opt (freschedule-modulo-scheduled-loops): New flag.
2397 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
2398 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
2399 when -freschedule-modulo-scheduled-loops flag is not specified.
2400 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
2401 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
2402 More accurate placing of insn in row of partial schedule.
2403 (ps_insn_find_column): New function.
2404 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
2405 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
2406 (schedule_region): Use sched_is_disabled_for_current_region_p.
2407 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
2408
0737fbff
L
24092004-08-07 H.J. Lu <hongjiu.lu@intel.com>
2410
2411 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
2412 change.
2413
11c4576f
L
24142004-08-07 H.J. Lu <hongjiu.lu@intel.com>
2415
2416 * config/i386/i386.c (ix86_expand_clrmem): Properly call
2417 gen_strset for 64bit target.
2418
34def210
OH
24192004-08-07 Olivier Hainque <hainque@act-europe.fr>
2420
2421 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
2422
5201931e
JM
24232004-08-07 Jason Merrill <jason@redhat.com>
2424
cc77ae10
JM
2425 Make return in memory explicit.
2426 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
2427 (assign_parm_find_data_types): Remove code for old front end
2428 invisible reference handling.
2429 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
2430 (expand_function_end): Likewise.
2431 * gimplify.c (gimplify_return_expr): Handle a dereferenced
2432 RESULT_DECL.
2433 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
2434 (declare_return_variable): Handle DECL_BY_REFERENCE.
2435 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
2436 (cp_genericize_r): Use convert_from_reference.
2437 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
2438 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
2439
5201931e
JM
2440 * c-common.c (c_warn_unused_result): Check TREE_USED before
2441 warning about a CALL_EXPR with an unused value.
2442
2ed9e527
MM
24432004-08-06 Mark Mitchell <mark@codesourcery.com>
2444
2445 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
2446 to the compiler. Use -fshort-wchar by default.
2447
12183e0f
PH
24482004-08-06 Pat Haugen <pthaugen@us.ibm.com>
2449
2450 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
2451 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
2452 threshhold.
2453 * doc/invoke.texi (param): Document min-crossjump-insns.
2454
eaac4679
RS
24552004-08-06 Richard Sandiford <rsandifo@redhat.com>
2456
2457 PR c/13282
2458 * c.opt (Wmissing-field-initializers): New option.
2459 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
2460 * c-typeck.c (pop_init_level): Guard the missing field warning with
2461 warn_missing_field_initializers rather than extra_warnings.
2462 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
2463 some of the explanation from...
2464 (-Wextra): ...here. Say that the missing field warning can be
2465 seperately controlled by -Wmissing-field-initializers.
2466
caad9f81
PB
24672004-08-06 Paolo Bonzini <bonzini@gnu.org>
2468
2469 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
2470 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
2471 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
2472 * tree.def (ENTRY_VALUE_EXPR): Remove.
2473
6b32b628
JJ
24742004-08-06 Jakub Jelinek <jakub@redhat.com>
2475
2476 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
2477 the places where it is actually needed. Don't use repz; stosb
2478 for -Os with sufficiently small constant sizes.
2479 For sufficiently small repz; stos{l,q} repeat counts use a sequence
2480 of stos{l,q} instructions instead.
2481
6797f908
ZD
24822004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2483
2484 PR tree-optimization/16807
2485 * loop-iv.c (dump_iv_info): Dump invariants correctly.
2486 (iv_subreg, iv_extend): Express value of invariant purely in
2487 base field.
2488
866cf037
MM
24892004-08-06 Mark Mitchell <mark@codesourcery.com>
2490
2491 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
2492 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
2493
9652c531 24942004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 2495
27fb79ad
SB
2496 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
2497 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
2498 pre_dec_operand.
2499 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
2500 pattern until reload is finished to allow better code generation
2501 and split them completely into separate instrunctions.
2502 (*andsi3_split): New pattern.
9652c531 2503
b2ca3702
MM
25042004-08-05 Mark Mitchell <mark@codesourcery.com>
2505
2506 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
2507 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
2508 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
2509 * tree.h (handle_dll_attribute): Declare. Test
2510 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
2511 * c-common.h (c_determine_visibility): Declare.
2512 * c-common.c (c_determine_visibility): New function.
2513 * c-decl.c (finish_decl): Use it.
2514 (finish_function): Likewise.
2515 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
2516 zero, by default. Use #if, not #ifdef, to test it.
2517 * config/arm/arm.c (arm_attribute_table): Use
2518 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
2519 #if.
2520 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
2521 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
2522 to 1.
2523 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
2524 * config/i386/i386.c (ix86_attribute_table): Use
2525 handle_dll_attribute for dllimport/dllexport. Test
2526 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
2527 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
2528 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
2529 it to 1.
2530 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
2531 with #if.
2532 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
2533 it to 1.
2534 * doc/extend.texi (dllexport): Clarify and correct documentation.
2535 (dllimport): Likewise.
2536 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
2537 handle_dll_attribute.
9b305d55 2538
c913f08a
ZD
25392004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2540
2541 * tree-ssa-loop-manip.c: New file.
2542 * Makefile.in (tree-ssa-loop-manip.o): Add.
2543 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
2544 Declare.
2545 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
2546 form.
2547 (tree_ssa_loop_done): Verify loop closed ssa form.
2548 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
2549
d4482715
JDA
25502004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2551
2552 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
2553 pa_asm_output_aligned_local): New functions.
2554 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
2555 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
2556 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
2557 pa_asm_output_aligned_common.
2558 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
2559 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
2560 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
2561 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
2562 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
2563 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
2564 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
2565 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
2566 common data.
2567
21149a79
AP
25682004-08-05 Andrew Pinski <apinski@apple.com>
2569
2570 * objc/objc-act.c (build_objc_string_object): Mark the address
2571 expression as constant.
2572
d5861a7a
DE
25732004-08-05 David Edelsohn <edelsohn@gnu.org>
2574
2575 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
2576 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
2577 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
2578
0a2b72a6
JM
25792004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
2580
2581 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
2582 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
2583 out, and associated obsolete comments.
2584
ca7a3bd7
NS
25852004-08-05 Nathan Sidwell <nathan@codesourcery.com>
2586
2587 * tree.h (force_fit_type): Return a tree, take three flags.
2588 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
2589 TREE_CONSTANT_OVERFLOW here.
2590 (int_const_binop, const_binop): Adjust.
2591 (size_int_type): Do sign extension here.
2592 (fold_convert_const, optimize_bit_field_compare,
2593 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
2594 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
2595 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
2596
d36837f4
ZD
25972004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2598
2599 PR tree-optimization/16864
2600 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
2601 for ssa names without default_def.
2602
ea5f7a19
RS
26032004-08-05 Richard Sandiford <rsandifo@redhat.com>
2604
2605 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
2606 frame pointer, restore eax with an ebp-relative address.
2607
0e6df31e
GK
26082004-08-04 Geoffrey Keating <geoffk@apple.com>
2609
2610 PR 14516
2611 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
2612 * c-common.h (make_rtl_for_local_static): Delete.
2613 * c-decl.c (shadow_tag_warned): Clean up comment.
2614 (finish_decl): Clean up spacing. Use set_user_assembler_name when
2615 appropriate. Don't pass asmspec to rest_of_decl_compilation.
2616 * c-semantics.c (make_rtl_for_local_static): Delete.
2617 * expr.c (init_block_move_fn): Use set_user_assembler_name.
2618 (init_block_clear_fn): Likewise.
2619 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
2620 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
2621 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
2622 * tree.h (make_decl_rtl): Remove second parameter.
2623 (set_user_assembler_name): New.
2624 * varasm.c (set_user_assembler_name): New.
2625 (make_decl_rtl): Remove second parameter. Update callers in many
2626 files.
2627
4f587cb0
AN
26282004-08-05 Adam Nemet <anemet@lnxw.com>
2629
2630 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
2631 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
2632 to LynxOS 4.0.
2633 * gthr-lynx.h: New file.
2634 * config/lynx-ng.h: Remove file.
2635 * config/lynx.h: Update to LynxOS 4.0.
2636 * config/t-lynx: New file.
2637 * config/i386/lynx-ng.h: Remove file.
2638 * config/i386/lynx.h: Update to LynxOS 4.0.
2639 * config/rs6000/lynxbase.h: Remove file.
2640 * config/rs6000/lynx.h: Update to LynxOS 4.0.
2641 * config/rs6000/t-lynx: New file.
2642 * doc/install.texi (Options specification): Remove reference to
2643 LynxOS from systems where --with-gnu-as makes a difference.
2644
85291069
JM
26452004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
2646
2647 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
2648 __UINTMAX_TYPE__.
2649 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
2650 __INTMAX_MAX__.
2651 (c_cpp_builtins): Call it.
2652 * doc/cpp.texi: Update.
2653
30a555d9
DE
26542004-08-04 David Edelsohn <edelsohn@gnu.org>
2655
2656 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
2657 cost.
2658
878f99d2
JH
26592004-08-04 Jan Hubicka <jh@suse.cz>
2660
2661 * basic-block.h (profile_staus): New global variable.
2662 * cfg.c (profile_status): Declare.
2663 (check_bb_profile): Break out from ....; use profile_status
2664 (dump_flow_info): ... here.
2665 * cfgbuild.c (find_basic_blocks): Set profile_status.
2666 * cfgexpand.c (tree_expand_cfg): Likewise.
2667 * predict.c (estimate_probability): Likewise.
2668 * profile.c (branch_prob): Likewise.
2669 * tree-cfg.c (build_tree_cfg): Likewise.
2670 (dump_function_to_file): Use check_bb_profile.
2671 * tree-pretty-print (dump_bb_header): Likewise.
2672 * tree-profile.c (do_tree_profiling): Cleanup.
2673
7e7ec48e
ZW
26742004-08-04 Zack Weinberg <zack@codesourcery.com>
2675
2676 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
2677 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
2678 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
2679 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
2680 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
2681 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
2682 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
2683 (ggc-none.o, errors.o): Move rule to generators section;
2684 correct dependencies.
2685 (min-insn-modes.o): Move rule to generators section; remove
2686 unnecessary explicit command; correct dependencies.
2687 (print-rtl.o, print-rtl1.o): Correct dependencies.
2688 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
2689 (mostlyclean): Update.
2690
2691 * errors.c: Include bconfig.h not config.h. Correct comment.
2692 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
2693 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
2694 * print-rtl.c: Don't include tm_p.h.
2695
2696 * rtl.h: Move forward-decl of struct function down where it's
2697 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
2698 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
2699
b0382c67
ZD
27002004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2701 Jeff Law <law@redhat.com>
2702
2703 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
2704 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
2705 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
2706 manipulate the duplicated ssa names.
2707 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
2708 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
2709 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
2710 New functions.
2711 (release_ssa_name): Do not release ssa names that may have multiple
2712 definitions.
2713 * tree.h (release_ssa_name_force, mark_for_rewrite,
2714 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
2715 marked_ssa_names): Declare.
2716 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
2717 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
2718 Update call to rewrite_ssa_into_ssa.
2719
63c5b495
MM
27202004-08-04 Mark Mitchell <mark@codesourcery.com>
2721
2722 * defaults.h (TARGET_DECLSPEC): New macro.
2723 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
2724 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 2725 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
2726 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
2727 __declspec support.
2728 (TARGET_DECLSPEC): Define.
2729 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
2730 __declspec support.
2731 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
2732 __declspec support.
2733 (TARGET_DECLSPEC): Define.
2734 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
2735 __declspec support.
2736 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
2737 support.
2738 * doc/tm.texi (TARGET_DECLSPEC): Document.
2739
2740 * doc/extend.texi: Fix typo in comment.
2741
44d10c10
PB
27422004-08-04 Paul Brook <paul@codesourcery.com>
2743
2744 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
2745 (TARGET_CXX): Use it.
2746 * target.h (struct gcc_target): Add cdtor_returns_this.
2747 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
2748 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
2749 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
2750
5e9754af
NS
27512004-08-03 Nathan Sidwell <nathan@codesourcery.com>
2752
2753 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
2754 low/high pair. Do range checking directly.
2755 (interpret_integer): Adjust.
2756
2acc29bd
NC
27572004-08-04 Nick Clifton <nickc@redhat.com>
2758
2759 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
2760 GCC ABI.
2761 * doc/invoke.texi: Document this new switch and also the -mrenesas
2762 switch.
2763
2496942a
NS
27642004-08-04 Nathan Sidwell <nathan@codesourcery.com>
2765
2766 * cfglayout.c (insn_locators_initialize): Update the current
2767 location before initializing a location.
2768
7e2e8179
ZW
27692004-08-03 Zack Weinberg <zack@codesourcery.com>
2770
403f8503
ZW
2771 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
2772 (dbxout_function_end): Return after emitting the "Lscope" symbol
2773 under the same conditions that this function formerly wasn't called.
2774 Add explanatory comments.
2775
bcc7f708 2776 PR 14860
ca043393
ZW
2777 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
2778 on the new decl.
2779
bcc7f708 2780 PR 13956
7e2e8179
ZW
2781 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
2782 functions, broken out of dbxout_block.
2783 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
2784 stabs too, if it contains symbols. Use the begin_label and
2785 the Lscope label (emitted by dbxout_function_end) for the
2786 range of this block.
2787
5d75ba94
NN
27882004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
2789
2790 * doc/install.texi: Update autoconf version requirements.
2791
2e4e72b1
ZW
27922004-08-03 Zack Weinberg <zack@codesourcery.com>
2793
2794 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
2795 * recog.c (general_operand, immediate_operand, nonmemory_operand)
2796 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
2797 * regclass.c (record_reg_classes): Likewise.
2798 * reload.c (find_reloads): Likewise.
2799 * reload1.c (reload): Likewise.
2800
f9942f4e
ZW
28012004-08-03 Zack Weinberg <zack@codesourcery.com>
2802
2803 * gensupport.c (init_md_reader_args_cb): Renamed from
2804 init_md_reader_args. Add third option, callback function for
2805 parsing program-specific options. Add diagnosis of incorrect
2806 number of input files.
2807 (init_md_reader): Fold into init_md_reader_args_cb.
2808 (init_md_reader_args): Now a thin wrapper around
2809 init_md_reader_args_cb.
2810 * gensupport.h: Update prototypes.
2811
2812 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
2813 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
2814 * genrecog.c: No need to diagnose lack of an input file;
2815 init_md_reader_args will handle it.
2816 * genconditions.c: Likewise, and use init_md_reader_args.
2817 * genconstants.c: Likewise, and no need to call read_md_rtx.
2818
9cbe78fb
JM
28192004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
2820
2821 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
2822 declarations.
2823
3e558e80
MS
28242004-08-03 Mike Stump <mrs@apple.com>
2825
2826 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
2827 for frameworks.
2828 * doc/invoke.texi (Darwin Options): Update to reflect above.
2829
a0fac73d
RS
28302004-08-03 Roger Sayle <roger@eyesopen.com>
2831
2832 PR middle-end/16790
2833 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
2834 truncations, not just global truncations.
2835
cddbddb7
AP
28362004-08-03 Andrew Pinski <apinski@apple.com>
2837
2838 PR bootstrap/16865
2839 * loop-iv.c (simplify_using_assignment): Initialize lhs.
2840
bebf829d
PB
28412004-08-03 Paul Brook <paul@codesourcery.com>
2842
2843 * gcc/doc/install.texi: Document MPFR requirement.
2844
cddbddb7 28452004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 2846
f9942f4e
ZW
2847 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
2848 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
2849 variables.
2850 * configure: Regenerate.
2851
f6bc51cb
L
28522004-08-03 H.J. Lu <hongjiu.lu@intel.com>
2853
2854 PR target/16570
2855 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
2856 to tmake_file.
2857 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
2858 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
2859 to tmake_file.
2860
2861 * config/i386/t-gmm_malloc: New file.
2862 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 2863
f6bc51cb
L
2864 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
2865
28662004-08-03 H.J. Lu <hongjiu.lu@intel.com>
3224bead 2867