]>
Commit | Line | Data |
---|---|---|
a9024779 DS |
1 | 2004-08-20 Danny Smith <dannysmith@users.sourceforge.net> |
2 | ||
3 | PR 5620 | |
4 | * gcc.c (struct stat input_stat): Don't define if | |
5 | HOST_LACKS_INODE_NUMBERS | |
6 | (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather | |
7 | than stat to determine if temp file is same as input file. | |
8 | * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS. | |
9 | * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS | |
10 | ||
82563d35 RS |
11 | 2004-08-20 Richard Sandiford <rsandifo@redhat.com> |
12 | ||
13 | * configure.ac (mips*-*-*): Print an error if not using GAS. | |
14 | * configure: Regenerated. | |
15 | * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove | |
16 | comments about buggy MIPSpro assemblers. | |
17 | * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h | |
18 | before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix. | |
19 | Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for | |
20 | IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld. | |
21 | * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES) | |
22 | (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC) | |
23 | (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE) | |
24 | (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h. | |
25 | (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor | |
26 | of more general IRIX 6 definitions. | |
27 | (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL) | |
28 | (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions. | |
29 | (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION) | |
30 | (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC) | |
31 | (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO) | |
32 | (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER) | |
33 | (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL) | |
34 | (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS) | |
35 | (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS) | |
36 | (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs. | |
37 | (LINK_SPEC): Move most of definition to iris.h. | |
38 | (SUBTARGET_LINK_SPEC): New macro. | |
39 | (IRIX_STARTFILE_SPEC): Fold into... | |
40 | (STARTFILE_SPEC): ...here. | |
41 | (IRIX_ENDFILE_SPEC): Fold into... | |
42 | (ENDFILE_SPEC): ...here. | |
43 | * config/mips/iris6.h (TARGET_IRIX5): Remove override. | |
44 | (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE) | |
45 | (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP) | |
46 | (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME) | |
47 | (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h. | |
48 | (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits. | |
49 | (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL) | |
50 | (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO) | |
51 | (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX) | |
52 | (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE) | |
53 | (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY) | |
54 | (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC) | |
55 | (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC) | |
56 | (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*) | |
57 | (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP) | |
58 | (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME) | |
59 | (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL) | |
60 | (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs. | |
61 | (TARGET_IRIX6): Define to 1. | |
62 | (DRIVER_SELF_SPECS): Define. | |
63 | (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS. | |
64 | (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS. | |
65 | (SUBTARGET_LINK_SPEC): New macro. | |
66 | (IRIX_STARTFILE_SPEC): Fold into... | |
67 | (STARTFILE_SPEC): ...here. Remove !mabi=* case. | |
68 | (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros. | |
69 | (LIB_SPEC, LIBGCC_SPEC): Use them. | |
70 | (LIB_SPEC): Remove !mabi=* case. | |
71 | (IRIX_ENDFILE_SPEC): Fold into... | |
72 | (ENDFILE_SPEC): ...here. Remove !mabi=* case. | |
73 | * config/mips/mips-protos.h (irix_output_external_libcall): Delete. | |
74 | * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete. | |
75 | (TARGET_IRIX6): New macro. | |
76 | (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition. | |
77 | (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER) | |
78 | (LABEL_AFTER_LOC): Delete. | |
79 | * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END) | |
80 | (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions. | |
81 | (mips_build_builtin_va_list): Check TARGET_IRIX6. | |
82 | (override_options): Remove TARGET_SGI_O32_AS-related code. | |
83 | (irix_output_external_libcall): Make static. | |
84 | (mips_output_filename): Avoid use of SET_FILE_NUMBER and | |
85 | LABEL_AFTER_LOC. | |
86 | (mips_file_start): Tidy guard for ABI sections. Remove use of | |
87 | ABICALLS_ASM_OP; use .abicalls instead. | |
88 | (mips_output_aligned_decl_common, mips_declare_object_name) | |
89 | (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS. | |
90 | (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting | |
91 | .globl foo .text directives. | |
92 | (irix_asm_named_section_1, irix_asm_named_section) | |
93 | (irix_section_align_entry, irix_section_align_htab) | |
94 | (irix_orig_asm_out_file, irix_section_align_entry_eq) | |
95 | (irix_section_align_entry_hash, irix_asm_output_align) | |
96 | (irix_file_start, irix_section_align_1, copy_file_data) | |
97 | (irix_file_end, irix_section_type_flags): Delete. | |
98 | * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section. | |
99 | Use standard section syntax. Remove protective "jr $31". | |
100 | (__gcc_fini): Likewise .gcc_fini. | |
101 | * config/mips/irix-crtn.asm: Adjust sections accordingly. | |
102 | * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from | |
103 | iris5gas.h. | |
104 | * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved | |
105 | from t-irix-gld. | |
106 | (EXTRA_MULTILIB_PARTS): Define. | |
107 | * config/mips/t-iris6: Remove bogus comment. | |
108 | (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete. | |
109 | * config/mips/iris5gas.h, config/mips/iris5gld.h, | |
110 | config/mips/iris6gas.h, config/mips/iris6gld.h, | |
111 | config/mips/t-iris5-as, config/mips/t-iris5-gas | |
112 | config/mips/t-irix-gld: Delete. | |
113 | * config/mips/iris.h: New file. | |
114 | * config/mips/t-slibgcc-irix: Renamed from t-iris5-6. | |
115 | ||
c4cdb8e1 RE |
116 | 2004-08-20 Richard Earnshaw <rearnsha@arm.com> |
117 | ||
118 | * postreload.c (reload_cse_move2add): Allow any condjump, but check | |
119 | that the implicit set isn't clobbered in the jump insn. | |
120 | ||
d55ab31d MM |
121 | 2004-08-19 Mark Mitchell <mark@codesourcery.com> |
122 | ||
123 | * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove. | |
124 | * optabs.c (init_optabs): Don't check it. | |
125 | * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define. | |
126 | * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove. | |
127 | ||
d75f90f1 AK |
128 | 2004-08-18 Andreas Krebbel <krebbel1@de.ibm.com> |
129 | ||
130 | * config/s390/s390.md (s390_warn_framesize_string) | |
131 | (s390_warn_dynamic_string, s390_stack_size_string) | |
132 | (s390_stack_guard_string): New global string variables. | |
133 | (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size) | |
134 | (s390_stack_guard): New global variables. | |
135 | (override_options): Added checks for the new options. | |
136 | (s390_emit_prologue): Emit stack check and trap code and perform | |
137 | compile time stack size checking. | |
138 | ||
139 | * config/s390/s390.h (TARGET_OPTIONS): Added new options | |
140 | "warn-framesize", "warn-dynamicstack", "stack-size" and | |
141 | "stack-guard". | |
142 | ||
143 | * doc/invoke.texi: Added documentation for the new options. | |
144 | ||
ca29916b UW |
145 | 2004-08-19 Ulrich Weigand <uweigand@de.ibm.com> |
146 | ||
147 | * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen | |
148 | to eliminate warning. | |
149 | (linear_search_fdes): Declare p as unsigned. | |
150 | (binary_search_mixed_encoding_fdes): Likewise. | |
151 | * unwind-dw2.c (get_cie_encoding): Cast argument to strlen | |
152 | to eliminate warning. | |
153 | * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing | |
154 | type cast. | |
155 | ||
e1d5ee28 UW |
156 | 2004-08-19 Ulrich Weigand <uweigand@de.ibm.com> |
157 | ||
158 | * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype. | |
159 | * config/s390/s390.c (preferred_la_operand_p): Accept two operands | |
160 | instead of one. Check for strictly legitimate address. | |
161 | * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call | |
162 | to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate. | |
163 | ||
19114537 EC |
164 | 2004-08-19 Eric Christopher <echristo@redhat.com> |
165 | ||
166 | * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove. | |
167 | * langhooks.h (unsave_expr_now): Ditto. | |
168 | * tree.h (unsave_expr_1): Remove prototype. | |
169 | (lhd_unsave_expr_now): Rename to unsave_expr_now. | |
170 | * tree-inline.c (unsave_expr_1): Move here | |
171 | from tree.c. Make static. | |
172 | (unsave_expr_now): Rename from lhd_unsave_expr_now. | |
173 | * tree-sra.c: Fix up for rename. | |
174 | * tree-ssa-copy.c: Ditto. | |
175 | * tree-eh.c: Ditto. | |
176 | * tree.c (unsave_expr_1): Move to tree-inline.c. | |
177 | ||
d5bfecf2 CT |
178 | 2004-08-19 Caroline Tice <ctice@apple.com> |
179 | ||
180 | * config/i386/cygming.h (switch_to_section): Fix typo (change | |
181 | in_unlikely_text_section to in_unlikely_executed_text). | |
19114537 | 182 | |
58152808 DB |
183 | 2004-08-19 Daniel Berlin <dberlin@dberlin.org> |
184 | ||
185 | * vec.h (VEC_lower_bound): New macro. | |
19114537 | 186 | |
ae043003 RS |
187 | 2004-08-19 Richard Sandiford <rsandifo@redhat.com> |
188 | ||
189 | PR target/16446 | |
190 | * config/mips/mips.c (struct mips_arg_info): Delete num_bytes. | |
191 | (mips_arg_info): Update accordingly. Remove common treatment of fpr_p; | |
192 | treat each ABI separately. Deal with n32/n64 complex float arguments. | |
193 | (function_arg): Add associated complex handling here. | |
194 | ||
50ed9cea RH |
195 | 2004-08-19 Richard Henderson <rth@redhat.com> |
196 | ||
197 | * config/arm/arm.c (arm_gen_load_multiple): Use | |
198 | adjust_automodify_address. Take base memory and offset instead | |
199 | of unchanging/struct/scalar bits. | |
200 | (arm_gen_store_multiple): Likewise. | |
201 | (arm_gen_movmemqi): Use adjust_automodify_address. | |
202 | * config/arm/arm-protos.h: Update decls. | |
203 | * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call. | |
204 | (store_multiple): Similarly. | |
205 | ||
74ae207d R |
206 | 2004-08-19 J"orn Rennecke <joern.rennecke@superh.com> |
207 | ||
208 | * regclass.c (globalize_reg): Update call_really_used_regs. | |
209 | ||
89b0433e NS |
210 | 2004-08-19 Nathan Sidwell <nathan@codesourcery.com> |
211 | ||
31ebd7c8 NS |
212 | * doc/invoke.texi (integer-share-limit): Document. |
213 | ||
89b0433e NS |
214 | * tree.h (TYPE_CACHED_VALUES_P): New. |
215 | (TYPE_CACHED_VALUES): New. | |
216 | (TYPE_ORIG_SIZE_TYPE): Adjust. | |
217 | * tree.def (INTEGER_CST): Update documentation. | |
218 | * tree.c: Inlcude params.h. | |
219 | (build_int_cst): Cache small values. | |
220 | (build_type_copy): Do not copy the value cache. | |
221 | * c-common.c (c_common_nodes_and_builtins): Add comment, remove | |
222 | unneeded zeroing. | |
223 | * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting. | |
224 | * expmed.c (const_mult_add_overflow_p): Clear type copy's value | |
225 | cache. | |
226 | * fold-const.c (force_fit_type): Copy value when setting | |
227 | overflows. | |
228 | (int_const_binop): Likewise. | |
229 | * stor-layout.c: Include params.h | |
230 | (set_sizetype): Create values cache. | |
231 | (fixup_unsigned_type): Set UNSIGNED_P before caching any values. | |
232 | * params.def (PARAM_INTEGER_SHARE_LIMIT): New. | |
233 | * params.h (INTEGER_SHARE_LIMIT): New. | |
234 | * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H. | |
19114537 | 235 | |
c2504783 PB |
236 | 2004-08-19 Paolo Bonzini <bonzini@gnu.org> |
237 | ||
238 | * gimplify.c (gimplify_minimax_expr): Remove. | |
239 | (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling. | |
240 | ||
7a8554ce DN |
241 | 2004-08-19 Dorit Naishlos <dorit@il.ibm.com> |
242 | ||
19114537 | 243 | * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace |
7a8554ce DN |
244 | STACK_BOUDARY with PREFERRED_STACK_BOUNDARY. |
245 | ||
1905f33d MM |
246 | 2004-08-19 Mark Mitchell <mark@codesourcery.com> |
247 | ||
248 | * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP. | |
249 | ||
f1732751 AP |
250 | 2004-08-18 Andrew Pinski <apinski@apple.com> |
251 | ||
252 | * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty. | |
253 | ||
8c78a388 MM |
254 | 2004-08-18 Mark Mitchell <mark@codesourcery.com> |
255 | ||
256 | * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility. | |
257 | (__aeabi_ul2f): Likewise. | |
258 | ||
7eda7cda RH |
259 | 2004-08-18 Richard Henderson <rth@redhat.com> |
260 | ||
261 | * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block | |
262 | move to rtl completely. | |
263 | (struct meminsnbuf, xtensa_emit_block_move): Remove. | |
264 | (xtensa_find_mode_for_size): Remove. | |
265 | * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove. | |
266 | * config/xtensa/xtensa.md (movmemsi_internal): Remove. | |
267 | ||
88042663 RH |
268 | 2004-08-18 Richard Henderson <rth@redhat.com> |
269 | ||
270 | * config/mcore/mcore.c (mode_from_align): Remove DImode. | |
271 | (block_move_sequence): Rewrite to use adjust_address. | |
272 | (mcore_expand_block_move): Cleanup logic. Accept only operands. | |
273 | Return boolean indicating success/failure. | |
274 | * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl. | |
275 | * config/mcore/mcore.md (movmemsi): Update to match. | |
276 | ||
699c914a MS |
277 | 2004-08-18 Mike Stump <mrs@apple.com> |
278 | ||
279 | * doc/invoke.texi (-mfix-and-continue): Add support for | |
280 | fast turn around debugging. | |
281 | (-ffix-and-continue): Likewise. | |
282 | (-mindirect-data): Likewise. | |
283 | (-findirect-data): Likewise. | |
284 | * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise. | |
285 | (indirect_data): Likewise. | |
286 | (machopic_data_defined_p): Likewise. | |
287 | (machopic_output_indirection): Likewise. | |
288 | (darwin_encode_section_info): Likewise. | |
289 | (darwin_fix_and_continue): Likewise. | |
290 | (darwin_fix_and_continue_switch): Likewise. | |
291 | * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise. | |
292 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise. | |
293 | (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise. | |
294 | (SUBTARGET_OPTIONS): Likewise. | |
295 | (darwin_fix_and_continue): Likewise. | |
296 | (darwin_fix_and_continue_switch): Likewise. | |
297 | (TARGET_FIX_AND_CONTINUE): Likewise. | |
298 | * config/rs6000.c (rs6000_emit_prologue): Likewise. | |
299 | ||
300 | 2004-08-19 Steven Bosscher <stevenb@suse.de> | |
bd454efd SB |
301 | |
302 | * basic-block.h (struct edge_def): Remove crossing_edge. | |
303 | (EDGE_CROSSING): New define. | |
304 | (EDGE_ALL_FLAGS): Update. | |
305 | * bb-reorder.c (find_traces_1_round, better_edge_p, | |
306 | find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges, | |
307 | find_jump_block, fix_crossing_conditional_branches, | |
308 | fix_crossing_unconditional_branches, add_reg_crossing_jump_notes): | |
309 | Replace all occurences of crossing_edge with an edge flag check | |
310 | or set/reset. | |
311 | * cfgcleanup.c (try_simplify_condjump, try_forward_edges, | |
312 | try_crossjump_bb): Likewise. | |
313 | * cfglayout.c (fixup_reorder_chain): Likewise. | |
314 | * cfgrtl.c (force_nonfallthru_and_redirect, | |
315 | commit_one_edge_insertion): Likewise. | |
316 | ||
317 | * Makefile.in (cfganal.o): Depend on TIMEVAR_H. | |
318 | * tree-flow.h (compute_dominance_frontiers): Move prototype... | |
319 | * basic-block.h: ...here. | |
320 | * tree-cfg.c (compute_dominance_frontiers_1, | |
321 | compute_dominance_frontiers): Move from here... | |
322 | * cfganal.c: ...to here. Include timevar.h. | |
323 | ||
9ff6992e JW |
324 | 2004-08-18 James E Wilson <wilson@specifixinc.com> |
325 | ||
c831f54b | 326 | * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=. |
a1627d80 JW |
327 | * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes. |
328 | ||
9ff6992e JW |
329 | * config/mips/mips.md (type): Add frdiv. |
330 | (divsf3+1, divsf3+2): Change type to frdiv. | |
331 | * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe, | |
332 | ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New. | |
19114537 | 333 | |
9ff6992e JW |
334 | * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv. |
335 | * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise. | |
336 | * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise. | |
337 | * config/mips/5000.md (r5k_fdiv_single): Likewise. | |
338 | * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise. | |
339 | * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise. | |
340 | * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise. | |
341 | * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise. | |
342 | * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise. | |
343 | * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double): | |
344 | Likewise. | |
345 | * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise. | |
346 | ||
c16eb900 RB |
347 | 2004-08-18 Robert Bowdidge <bowdidge@apple.com> |
348 | ||
349 | * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to | |
350 | get regression tester working again. | |
351 | ||
826c9564 ZW |
352 | 2004-08-18 Zack Weinberg <zack@codesourcery.com> |
353 | ||
354 | * insn-notes.def, reg-notes.def: New files. | |
355 | * rtl.h: Use them to define enum insn_note and enum reg_note. | |
356 | * rtl.c: Use them to define note_insn_name and reg_note_name. | |
4b179e92 | 357 | * Makefile.in (RTL_BASE_H): Update. |
826c9564 ZW |
358 | |
359 | * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK | |
360 | renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK. | |
361 | ||
21b5653c RE |
362 | 2004-08-18 Richard Earnshaw <rearnsha@arm.com> |
363 | ||
364 | * arm.c (arm_size_rtx_costs): New function. | |
365 | (arm_override_options): Use it if optimizing for space. | |
366 | ||
542a8afa RH |
367 | 2004-08-18 Richard Henderson <rth@redhat.com> |
368 | ||
369 | * emit-rtl.c (gen_const_mem): New. | |
370 | * rtl.h (gen_const_mem): Declare. | |
371 | * expr.c (do_tablejump): Use it. | |
372 | * varasm.c (force_const_mem): Likewise. | |
373 | * config/darwin.c (machopic_indirect_data_reference): Likewise. | |
374 | (machopic_legitimize_pic_address): Likewise. | |
375 | * config/arm/arm.c (legitimize_pic_address): Likewise. | |
376 | * config/i386/i386.c (legitimize_pic_address): Likewise. | |
377 | (legitimize_tls_address): Likewise. | |
378 | * config/ia64/ia64.c (ia64_expand_tls_address): Likewise. | |
379 | * config/ia64/ia64.md (load_fptr): Likewise. | |
380 | * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise. | |
381 | * config/pa/pa.c (legitimize_pic_address): Likewise. | |
382 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise. | |
383 | (rs6000_emit_move): Likewise. | |
384 | * config/s390/s390.c (legitimize_pic_address): Likewise. | |
385 | (legitimize_tls_address): Likewise. | |
386 | * config/s390/s390.md (casesi): Likewise. | |
387 | * config/sh/sh.c (sh_reorg): Likewise. | |
388 | * config/sparc/sparc.c (legitimize_pic_address): Likewise. | |
389 | * config/v850/v850.md (casesi): Likewise. | |
390 | ||
391 | * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P. | |
392 | * config/sh/sh.c (prepare_move_operands): Remove incorrect | |
393 | use of MEM_READONLY_P. | |
394 | ||
0516f6fe SB |
395 | 2004-08-18 Steven Bosscher <stevenb@suse.de> |
396 | ||
397 | * Makefile.in (OBJS-common): Add postreload-gcse.c. | |
398 | Add new postreload-gcse.o. | |
399 | * cse.c (SAFE_HASH): Define as wrapper around safe_hash. | |
400 | (lookup_as_function, insert, rehash_using_reg, use_related_value, | |
401 | equiv_constant): Use SAFE_HASH instead of safe_hash. | |
402 | (exp_equiv_p): Export. Add for_gcse argument when comparing | |
403 | for GCSE. | |
404 | (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr, | |
405 | find_comparison_args, fold_rtx, cse_insn): Update callers. | |
406 | (hash_rtx): New function derived from old canon_hash and bits | |
407 | from gcse.c hash_expr_1. | |
408 | (canon_hash_string): Rename to hash_rtx_string. | |
409 | (canon_hash, safe_hash): Make static inline. Call hash_rtx. | |
410 | * cselib.c (hash_rtx): Rename to cselib_hash_rtx. | |
411 | (cselib_lookup): Update this caller. | |
412 | * gcse.c (modify_mem_list_set, canon_modify_mem_list_set): | |
413 | Make static. | |
414 | (hash_expr): Call hash_rtx. | |
415 | (ldst_entry): Likewise. | |
416 | (expr_equiv_p): Call exp_equiv_p. | |
417 | (struct unoccr, hash_expr_1, hash_string_1, lookup_expr, | |
418 | reg_used_on_edge, reg_set_between_after_reload_p, | |
419 | reg_used_between_after_reload_p, get_avail_load_store_reg, | |
420 | is_jump_table_basic_block, bb_has_well_behaved_predecessors, | |
421 | get_bb_avail_insn, hash_scan_set_after_reload, | |
422 | compute_hash_table_after_reload, | |
423 | eliminate_partially_redundant_loads, gcse_after_reload, | |
424 | get_bb_avail_insn, gcse_after_reload_main): Remove. | |
425 | * postreload-gcse.c: New file, reincarnating most of the above. | |
426 | * rtl.h (exp_equiv_p, hash_rtx): New prototypes. | |
427 | (gcse_after_reload_main): Update prototype. | |
428 | * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar. | |
429 | * passes.c (rest_of_handle_gcse2): Use it. | |
430 | ||
95013377 DN |
431 | 2004-08-18 Diego Novillo <dnovillo@redhat.com> |
432 | ||
433 | * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func. | |
434 | (pass_loop_done): Likewise. | |
435 | ||
ac9e2cff AP |
436 | 2004-08-18 Andrew Pinski <apinski@apple.com> |
437 | ||
826c9564 | 438 | * config/rs6000/darwin.md: Delete the altivec patterns which are |
ac9e2cff AP |
439 | handled differently now. |
440 | (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT | |
441 | (macho_correct_pic_di): Likewise. | |
442 | (call_indirect_nonlocal_darwin64): Likewise. | |
443 | Delete the save world/saveFP/saveVec patterns. | |
826c9564 | 444 | |
ac9e2cff | 445 | Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com> |
826c9564 ZW |
446 | * config/darwin.c (macho_indirect_data_reference): Add DImode case. |
447 | * config/rs6000/rs6000.md: Include darwin.md. | |
448 | (builtin_setjmp_receiver): Add DImode case. | |
449 | * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to | |
450 | Darwin bits. | |
ac9e2cff | 451 | |
92b9a671 MA |
452 | 2004-08-18 Matt Austern <austern@apple.com> |
453 | ||
454 | Dead code stripping | |
455 | * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped. | |
456 | * darwin.c (darwin_file_end): Mark file as potentially strippable. | |
826c9564 | 457 | |
4766261d RH |
458 | 2004-08-18 Richard Henderson <rth@redhat.com> |
459 | ||
460 | * alias.c (readonly_fields_p): Remove. | |
461 | (objects_must_conflict_p): Don't call it. | |
462 | * tree.h (readonly_fields_p): Remove. | |
463 | * langhooks.h (struct lang_hooks): Remove honor_readonly. | |
464 | * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove. | |
465 | ||
50dc9a88 DN |
466 | 2004-08-18 Diego Novillo <dnovillo@redhat.com> |
467 | ||
468 | * tree-dfa.c (add_referenced_var): Only global variables are | |
469 | call-clobbered. | |
470 | * tree-flow.h (struct ptr_info_def): Add field pt_global_mem. | |
471 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark | |
472 | all pointers dereferenced if the statement dereferences them. | |
473 | (create_name_tags): Do not create memory tags for pointers | |
474 | that have PT_ANYTHING set. | |
475 | Also check if PT_VARS is not empty before creating a name tag. | |
476 | (compute_flow_sensitive_aliasing): Don't mark call-clobbered | |
477 | variables that share the same alias set with a pointer that | |
478 | may point anywhere. | |
479 | (add_may_alias): Add FIXME comment to remove clobbering | |
480 | aliased variables and tags. | |
481 | (replace_may_alias): Likewise. | |
482 | (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED. | |
483 | (merge_pointed_to_info): If the original variable has not | |
484 | points-to information, call set_pt_anything. | |
485 | (add_pointed_to_var): Do not prevent adding a pointed-to | |
486 | variable if the pointers is PT_ANYTHING. | |
487 | If the variable is a global, set PT_GLOBAL_MEM. | |
488 | (collect_points_to_info_r): Don't assume that PLUS_EXPRs of | |
489 | pointer type only come in PTR+OFFSET flavours. | |
490 | Always call merge_pointed_to_info on PHI arguments that are | |
491 | SSA_NAMEs. | |
492 | (get_nmt_for): Mark call-clobbered tags whose pointer points | |
493 | to global memory. | |
494 | * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch | |
495 | values. | |
496 | (get_indirect_ref_operands): Always clear OPF_KILL_DEF from | |
497 | FLAGS. | |
498 | (add_stmt_operand): Abort if the caller tried to add a killing | |
499 | definition for a memory tag. | |
500 | * tree-ssa.c (verify_flow_sensitive_alias_info): Remove | |
501 | unnecessary checks. | |
502 | ||
62164eb4 R |
503 | 2004-08-18 J"orn Rennecke <joern.rennecke@superh.com> |
504 | ||
505 | * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers | |
506 | from call_used_regs. Update call_really_used_regs. | |
507 | (CALL_REALLY_USED_REGISTERS): Define. | |
508 | * sh.c (output_stack_adjust, shmedia_target_regs_stack_space): | |
509 | Replace call_used_regs with call_really_used_regs. | |
510 | (calc_live_regs, sh_media_register_for_return): Likewise. | |
511 | (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise. | |
512 | * sh.md (return_media): Likewise. | |
513 | ||
f9b0ac3b AP |
514 | 2004-08-18 Andrew Pinski <apinski@apple.com> |
515 | ||
826c9564 | 516 | * config/darwin.c (machopic_legitimize_pic_address): Only set |
ac9e2cff | 517 | MEM_READONLY_P in the non TARGET_TOC case. |
f9b0ac3b | 518 | |
f822d252 ZW |
519 | 2004-08-18 Zack Weinberg <zack@codesourcery.com> |
520 | ||
521 | * rtl.def (NIL): Delete. | |
522 | * read-rtl.c (read_rtx): Handle (nil) like (define_constants). | |
523 | Tighten the syntax a little. | |
524 | ||
525 | * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c | |
526 | * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h | |
527 | * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c | |
528 | * config/i386/predicates.md, config/m32r/m32r.h | |
529 | * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c | |
530 | * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h | |
531 | * config/sparc/sparc.h, doc/tm.texi: | |
532 | Replace all occurrences of NIL with UNKNOWN. | |
533 | ||
6aaf3dde ZW |
534 | 2004-08-18 Zack Weinberg <zack@codesourcery.com> |
535 | ||
536 | * dojump.c (do_jump <unordered_bcc>): Do not recursively call | |
537 | self with a TRUTH_ORIF_EXPR; generate the appropriate jump | |
538 | sequence inline. Move drop_through_label code into this | |
539 | block, being the only place it is used. Adjust comments. | |
540 | ||
d62294f5 FJ |
541 | 2004-08-18 Fariborz Jahanian <fjahanian@apple.com> |
542 | ||
6aaf3dde ZW |
543 | * config/rs6000/altivec.md: Add new patterns for calls to |
544 | save_world/rest_world functions. | |
545 | ||
546 | * config/rs6000/rs6000-protos.h: (save_world_operation, | |
547 | restore_world_operation) new declarations. | |
548 | ||
549 | * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p | |
550 | field added. | |
551 | (rs6000_stack_info): Set world_save_p field. | |
552 | (save_world_operation): New function. | |
553 | (restore_world_operation): New function. | |
554 | (compute_save_world_info): New function. | |
555 | (rs6000_stack_info): Call compute_save_world_info. | |
556 | (rs6000_emit_prologue): Check for world_save_p and generate | |
557 | pattern to call save_world for saving all non-volatile and | |
558 | special registers. | |
559 | (rs6000_emit_epilogue): Check for world_save_p and generate | |
560 | pattern to call rest_world to restore saved registers. | |
561 | ||
562 | config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO, | |
563 | FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined. | |
564 | (rs6000_reg_names): New entries added for save_world_operation and | |
565 | restore_world_operation. | |
d62294f5 | 566 | |
790ac0e1 CT |
567 | 2004-08-18 Caroline Tice <ctice@apple.com> |
568 | ||
6aaf3dde | 569 | * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add |
790ac0e1 CT |
570 | "-freorder-blocks-and-partition" to the flags used in second |
571 | stage of profiledbootstrap. | |
572 | * bb-reorder.c (push_to_next_round_p): Add new variable, | |
573 | next_round_is_last; set and use variable to make sure, when | |
574 | partitioning, that the last trace construction round consists | |
575 | of all (and only) cold basic blocks. | |
576 | (rotate_loop): Don't copy blocks that end in a section | |
577 | crossing jump. | |
578 | (copy_bb): Correctly initialize "partition" of duplicated bb. | |
579 | (add_unlikely_executed_notes): Add a comment. | |
580 | (find_rarely_executed_basic_blocks_and_crossing_edges): Modify | |
581 | to make sure, if function contains hot blocks, that the | |
582 | successors of ENTRY_BLOCK_PTR are hot; also, only look for | |
583 | crossing edges if the architecture supports named sections. | |
584 | (mark_bb_for_unlikely_executed_section): Modify to always | |
585 | insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after | |
586 | the basic block note insn. | |
587 | (fix_crossing_unconditional_branches): Remove extra space. | |
588 | (fix_edges_for_rarely_executed_code): Modify to only do | |
589 | partitioning work if the architecture supports named sections. | |
590 | (reorder_basic_blocks): Modify to only add | |
591 | NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture | |
592 | supports named sections. | |
593 | * c-common.c (handle_section_attribute): Initialize new global | |
594 | variable, user_defined_section_attribute, to true if user has | |
595 | specified one. | |
596 | * cfgcleanup.c (try_forward_edges): Modify to not attempt to | |
597 | forward edges that cross section boundaries. | |
598 | * cfglayout.c (fixup_reorder_chain): Modify to only fix up | |
599 | partitioning information if the architecture supports named | |
600 | sections. | |
601 | * cfgrtl.c (target.h): Add statement to include this. | |
602 | (rtl_split_block): Make sure newly created bb gets correct | |
603 | partition. | |
604 | (try_redirect_by_replacing_jump): Make sure redirection isn't | |
605 | attempting to cross section boundaries. | |
606 | (force_nonfallthru_and_redirect): Only do partition fix up if | |
607 | architecture supports named sections. | |
608 | (rtl_split_edge): Make sure newly created bb ends up in | |
609 | correct partition. | |
610 | (commit_one_edge_insertion): Remove code that incorrectly | |
611 | updated basic block partition; Make sure partition fix up only | |
612 | happens if architecture supports named sections and it's not | |
613 | already done. | |
614 | (rtl_verify_flow_info_1): Fix if-condition on test/error | |
615 | condition that fallthru edges are not allowed to cross section | |
616 | boundaries. | |
617 | * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this. | |
618 | * final.c (final_scan_insn): Remove redundant test from if-statement; | |
619 | change calls to text_section into calls to function_section; add code | |
620 | to only to partitioning fix up if architecture supports named | |
621 | sections. | |
622 | * ifcvt.c (find_if_case_1): Make sure newly created bb has correct | |
623 | partition. | |
624 | (if_convert): Add targetm.have_named_sections to test. | |
625 | * output.h (unlikely_section_label): Extern declaration for new global | |
626 | variable. | |
627 | (unlikely_text_section_name): Likewise. | |
628 | * opts.c (decode_options): If both partitioning and DWARF debugging | |
629 | are turned on, issue a warning that this doesn't work, and change | |
630 | partitiong to basic block reordering (without hot/cold partitions). | |
6aaf3dde | 631 | * passes.c (rest_of_handle_final): Re-set new global variable, |
790ac0e1 CT |
632 | user_defined_section_attribute, to false. |
633 | (rest_of_compilation): Change options for calling partitioning | |
634 | function: Don't call if the user defined the section attribute, and | |
635 | don't call if DECL_ONE_ONLY is true for the current function. | |
636 | * predict.c (choose_function_section): Return immediately if we | |
637 | are doing hot/cold partitioning (i.e. let the basic block partitioning | |
638 | determine where the function belongs). | |
639 | * reg-stack.c (emit_swap_insn): Add condition to step over | |
640 | NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. | |
641 | * toplev.c (user_defined_section_attribute): New global variable. | |
89b0433e NS |
642 | * toplev.h (user_defined_section_attribute): Extern declaration |
643 | for new global variable. | |
790ac0e1 CT |
644 | * varasm.c (unlikely_section_label): New global variable. |
645 | (unlikely_text_section_name): New global variable. | |
89b0433e NS |
646 | (unlikely_text_section): Add code to initialize |
647 | unlikely_text_section_name if necessary; modify to use | |
648 | unlikely_text_section_name and unlikely_section_label; also to use | |
649 | named_section properly. | |
650 | (in_unlikely_text_section): Modify to work correctly with | |
651 | named_section and to use unlikely_text_section_name. | |
790ac0e1 CT |
652 | (named_section): Add code to work properly with cold section. |
653 | (function_section): Clean up if-statement. | |
89b0433e NS |
654 | * config/darwin.c (darwin_asm_named_section): Return to original |
655 | code, removing use of SECTION_FORMAT_STRING. | |
6aaf3dde | 656 | * config/arm/pe.h (switch_to_section): Add case for |
790ac0e1 CT |
657 | in_unlikely_executed_text to switch statement. |
658 | * config/i386/cygming.h (switch_to_section): Likewise. | |
659 | * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove. | |
660 | (SECTION_FORMAT_STRING): Likewise. | |
661 | * config/mcore/mcore.h (switch_to_section): Likewise. | |
662 | * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove. | |
663 | (SECTION_FORMAT_STRING): Remove. | |
664 | ||
3a4416fb RS |
665 | 2004-08-18 Roger Sayle <roger@eyesopen.com> |
666 | ||
667 | * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be | |
668 | -ffixed-reg safe, by preserving the meanings of zero and one. | |
669 | (CALL_USED_REGISTERS): Likewise. | |
670 | (CONDITIONAL_REGISTER_USAGE): Update to process new encodings. | |
671 | ||
03904fb3 KK |
672 | 2004-08-18 Kaz Kojima <kkojima@gcc.gnu.org> |
673 | ||
674 | * config/sh/sh.c (split_branches): Check the result of | |
675 | next_active_insn. | |
676 | (sh_output_mi_thunk): Call init_flow if basic_block_info is null. | |
677 | Call rtl_register_cfg_hooks. | |
678 | ||
389fdba0 RH |
679 | 2004-08-18 Richard Henderson <rth@redhat.com> |
680 | ||
681 | * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. | |
682 | * alias.c (true_dependence): Update to match new semantics. | |
683 | (canon_true_dependence, write_dependence_p): Likewise. | |
684 | (anti_dependence, output_dependence): Update write_dependence_p args. | |
685 | (unchanging_anti_dependence): Remove. | |
686 | * calls.c (purge_mem_unchanging_flag): Remove. | |
687 | (fixup_tail_calls): Don't call it. | |
688 | (expand_call): Don't add unchanging memory to function usage. | |
689 | * expr.c (emit_block_move_via_libcall): Likewise. | |
690 | (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems. | |
691 | (get_subtarget): Don't use RTX_UNCHANGING_P. | |
692 | (expand_assignment, store_constructor, expand_expr_real_1): Likewise. | |
693 | (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P. | |
694 | * combine.c (get_last_value_validate): Use MEM_READONLY_P. | |
695 | * cse.c (insert): Don't use RTX_UNCHANGING_P. | |
696 | (cse_insn, canon_hash): Use MEM_READONLY_P. | |
697 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P | |
698 | instead of RTX_UNCHANGING_P. | |
699 | * explow.c (maybe_set_unchanging): Remove. | |
700 | * expr.h (maybe_set_unchanging): Remove. | |
701 | * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence. | |
702 | * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P. | |
703 | (assign_parm_setup_reg, expand_function_start): Likewise. | |
704 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
705 | * ra-rewrite.c (emit_colors): Likewise. | |
706 | * regmove.c (copy_src_to_dest, regmove_optimize): Likewise. | |
707 | (fixup_match_1): Likewise. | |
708 | * reload1.c (reload, alter_reg): Likewise. | |
709 | * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P, | |
710 | not RTX_UNCHANGING_P. | |
711 | (equiv_init_varies_p): Likewise. | |
712 | * loop-invariant.c (check_maybe_invariant): Likewise. | |
713 | * resource.c (mark_referenced_resources, mark_set_resources): Likewise. | |
714 | * loop.c (note_addr_stored): Likewise. | |
715 | (prescan_loop): Likewise. Don't check function usage for clobbered | |
716 | unchanging memory. | |
717 | * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P, | |
6aaf3dde | 718 | not RTX_UNCHANGING_P. |
389fdba0 RH |
719 | (rtx_varies_p, modified_between_p, modified_in_p): Likewise. |
720 | * varasm.c (force_const_mem): Likewise. | |
721 | * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P. | |
722 | * web.c (entry_register): Likewise. | |
723 | * tree-gimple.h (get_base_address): Move decl ... | |
724 | * tree.h: ... here. | |
725 | * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P. | |
726 | ||
727 | * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be | |
728 | called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too. | |
729 | (alpha_set_memflags): Update to match. | |
730 | ||
731 | * config/darwin.c (machopic_indirect_data_reference): Set | |
732 | MEM_READONLY_P instead of RTX_UNCHANGING_P. | |
733 | (machopic_indirect_call_target): Likewise. | |
734 | (machopic_legitimize_pic_address): Likewise. | |
6aaf3dde | 735 | * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple, |
389fdba0 RH |
736 | arm_gen_store_multiple, arm_gen_movmemqi): Likewise. |
737 | * config/arm/arm.md (load_multiple, store_multiple): Likewise. | |
738 | * config/frv/frv.md (symGOT2reg): Likewise. | |
739 | * config/i386/i386.c (legitimize_pic_address, | |
740 | legitimize_tls_address, ix86_split_to_parts): Likewise. | |
741 | * config/ia64/ia64.c (ia64_expand_tls_address): Likewise. | |
742 | * config/ia64/ia64.md (load_fptr): Likewise. | |
743 | * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise. | |
744 | * config/m68k/m68k.c (legitimize_pic_address): Likewise. | |
745 | * config/mcore/mcore.c (block_move_sequence): Likewise. | |
746 | * config/mn10300/mn10300.md (symGOT2reg): Likewise. | |
747 | * config/pa/pa.c (legitimize_pic_address): Likewise. | |
748 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise. | |
749 | (rs6000_emit_move): Likewise. | |
750 | * config/s390/s390.c (legitimize_pic_address): Likewise. | |
751 | (legitimize_tls_address): Likewise. | |
752 | * config/s390/s390.md (casesi): Likewise. | |
753 | * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise. | |
754 | * config/sh/sh.md (symGOT2reg): Likewise. | |
755 | * config/sparc/sparc.c (legitimize_pic_address): Likewise. | |
756 | * config/v850/v850.md (casesi): Likewise. | |
757 | ||
758 | * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P. | |
759 | * config/iq2000/iq2000.c (save_restore_insns): Likewise. | |
760 | * config/mips/mips.c (mips_restore_gp): Likewise. | |
761 | (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise. | |
762 | * config/sh/sh.c (sh_reorg): Likewise. | |
763 | ||
17ad5b5e RH |
764 | 2004-08-18 Richard Henderson <rth@redhat.com> |
765 | ||
766 | * tree.h (struct tree_decl): Add gimple_formal_temp. | |
767 | (DECL_GIMPLE_FORMAL_TEMP_P): New. | |
768 | * gimplify.c (pop_gimplify_context): Clear it. | |
769 | (lookup_tmp_var): Set it, if is_formal. | |
770 | (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX. | |
771 | Use is_gimple_val for VECTOR. Simplify return value. | |
772 | (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P. | |
773 | (gimplify_expr): Likewise. | |
774 | * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from | |
775 | is_gimple_tmp_rhs for clarity. Update all callers. | |
776 | (is_gimple_reg_rhs): Simplify logic. | |
777 | (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for | |
778 | clarity; use DECL_GIMPLE_FORMAL_TEMP_P. | |
779 | (is_gimple_formal_tmp_reg): Similarly. | |
780 | * tree-gimple.h: Update decls. | |
781 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use | |
782 | DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting. | |
783 | * tree-ssa-live.c (var_union, type_var_init): Likewise. | |
784 | ||
5b0eba61 PB |
785 | 2004-08-18 Paolo Bonzini <bonzini@gnu.org> |
786 | ||
787 | * c4x.c (legitimize_operands): Remove calls to | |
788 | preserve_subexpressions_p. | |
789 | ||
07e15286 DE |
790 | 2004-08-18 David Edelsohn <edelsohn@gnu.org> |
791 | ||
792 | * varasm.c (MAX_OFILE_ALIGNMENT): Move ... | |
793 | * defaults.h (MAX_OFILE_ALIGNMENT): ... here. | |
794 | ||
ad8c162b ZL |
795 | 2004-08-18 Ziemowit Laski <zlaski@apple.com> |
796 | ||
797 | * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" | |
798 | Objective-C++ extensions. | |
799 | * gengtype.c (get_file_basename): Match entire subdirectory name | |
800 | ('cp', 'objc', 'objcp') rather than just its suffix. | |
801 | (get_base_file_bitmap): Allow for files to belong to more than one | |
802 | language. | |
803 | (get_output_file_with_visibility): Treat objc/objc-act.h as a header | |
804 | used by more than one front-end. | |
805 | ||
d56993f2 RE |
806 | 2004-08-18 Richard Earnshaw <rearnsha@arm.com> |
807 | ||
808 | * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to | |
809 | avoid use of preserve_subexpressions_p. | |
810 | ||
504c0e4f RH |
811 | 2004-08-17 Richard Henderson <rth@redhat.com> |
812 | ||
813 | PR 17051 | |
814 | * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too. | |
815 | ||
54e9a19d DD |
816 | 2004-08-17 DJ Delorie <dj@redhat.com> |
817 | ||
818 | * doc/extend.texi: Document new xstormy16 attribute. | |
819 | ||
820 | * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New. | |
821 | (xstormy16_splittable_below100_or_register): New. | |
822 | (combine_bnp): New. | |
823 | (xstormy16_reorg): New. | |
824 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
825 | ||
826 | ||
827 | * config/stormy16/stormy16.md (movqi_internal): Make name public. | |
828 | (movhi_internal): Likewise. | |
829 | (cbhranchhi): Likewise. | |
830 | (cbhranchhi_neg): Likewise. | |
831 | (andhi3): Only allow splittable below100 operands. | |
832 | (iorhi3): Likewise. | |
833 | (peephole2): New and/zero_extend->and peephole. | |
834 | (peephole2): New load/ior/save->set1 peephole. | |
835 | (peephole2): New load/and/save->clr1 peephole. | |
836 | (bclrx, bclrx2, bclr7, bclr15): New. | |
837 | (bsetx, bsetx2, bset7, bset15): New. | |
838 | ||
839 | * config/stormy16/stormy16.c (xstormy16_print_operand): Be more | |
840 | liberal about acceptable 'B' masks. | |
841 | ||
842 | * config/stormy16/stormy16-protos.h | |
843 | (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol, | |
844 | xstormy16_below100_operand, xstormy16_below100_or_register, | |
845 | xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New. | |
846 | (PREDICATE_CODES): Add new predicates. | |
6aaf3dde | 847 | |
54e9a19d DD |
848 | * config/stormy16/stormy16.c |
849 | (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol, | |
850 | xstormy16_below100_operand, xstormy16_below100_or_register, | |
851 | xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New. | |
852 | (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New. | |
853 | (xstormy16_legitimate_address_p): Allow below100 symbols. | |
854 | (xstormy16_extra_constraint_p): Add 'W' for below100 operands. | |
855 | (xstormy16_expand_move): Leave below100 operands as-is. | |
856 | (xstormy16_encode_section_info): Encode below100 symbols. | |
857 | (xstormy16_strip_name_encoding): New. | |
858 | (xstormy16_print_operand): Print 'b' as shift mask. | |
859 | (xstormy16_attribute_table): Add below100 attributes. | |
860 | (xstormy16_handle_below100_attribute): New. | |
861 | ||
862 | * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100. | |
863 | (XSTORMY16_SECTION_FUNCTION): New. | |
864 | (EXTRA_SECTION_FUNCTIONS): Define using the above. | |
865 | (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. | |
866 | (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols. | |
867 | (ASM_OUTPUT_LABELREF): Define. | |
868 | ||
869 | * config/stormy16/stormy16.md (movqi_internal): Add below100 support. | |
870 | (movhi_internal): Add below100 support. | |
871 | (andhi3): Add below100 support. | |
872 | (iorhi3): Add below100 support. | |
873 | (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New. | |
874 | ||
4ef47bd8 JW |
875 | 2004-08-17 James E Wilson <wilson@specifixinc.com> |
876 | ||
877 | * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead | |
878 | of VOIDmode for comparison code mode. | |
879 | * config/mips/mips.md: For conditional move patterns, use mode of | |
880 | first compare operand for comparison mode, instead of VOIDmode. | |
e17c734b JW |
881 | |
882 | * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both | |
883 | normal and -ffast-math code. | |
884 | ||
1a10290c MM |
885 | 2004-08-17 Mark Mitchell <mark@codesourcery.com> |
886 | ||
887 | PR c++/15871 | |
888 | * doc/invoke.texi (-fkeep-inline-functions): Update documentation. | |
889 | ||
f4e736dd | 890 | 2004-08-17 Robert Bowdidge <bowdidge@apple.com> |
6aaf3dde ZW |
891 | |
892 | * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags. | |
f4e736dd | 893 | |
13a98f14 AT |
894 | 2004-08-17 Andreas Tobler <a.tobler@schweiz.ch> |
895 | ||
896 | * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause | |
897 | for non Darwin targets. | |
898 | (*call_value_nonlocal_darwin64): Likewise. | |
899 | ||
d0b2079e FJ |
900 | 2004-08-17 Fariborz Jahanian <fjahanian@apple.com> |
901 | ||
902 | * config/rs6000/rs6000.c (rs6000_function_value): Check for | |
903 | altivec mode for altivec return register. | |
904 | ||
feb3dc8b DE |
905 | 2004-08-17 David Edelsohn <edelsohn@gnu.org> |
906 | ||
907 | Revert 2004-08-16 Stan Shebs <shebs@apple.com> | |
ef0e2729 | 908 | * config/darwin.c (macho_indirect_data_reference): Add DImode case. |
feb3dc8b DE |
909 | * config/rs6000/rs6000.md: Include darwin.md. |
910 | (builtin_setjmp_receiver): Add DImode case. | |
911 | * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to | |
912 | Darwin bits. | |
913 | ||
79fe1b3b DN |
914 | 2004-08-17 Dorit Naishlos <dorit@il.ibm.com> |
915 | ||
89b0433e NS |
916 | * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE |
917 | trees. | |
79fe1b3b DN |
918 | * tree-vectorizer.h: New File: Same. |
919 | * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files. | |
920 | * common.opt (ftree-vectorize): New flag to enable vectorization. | |
89b0433e NS |
921 | * timevar.def (TV_TREE_VECTORIZATION): New dump file for |
922 | vectorization pass. | |
79fe1b3b DN |
923 | * tree-data-ref.h (init_data_ref): Additional argument. |
924 | (array_base_name_differ_p): Moved to tree-data-ref.c. | |
925 | * tree-data-ref.c (array_base_name_differ_p): Revised. | |
926 | (initialize_data_dependence_relation): Call array_base_name_differ_p | |
927 | with an extra argument. | |
928 | (analyze_all_data_dependences): Same. | |
929 | (init_data_ref): Additional argument is_read to set DR_IS_READ. | |
89b0433e NS |
930 | * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this |
931 | file. | |
79fe1b3b DN |
932 | * tree-flow.h (vectorize_loops, empty_block_p): Add declaration. |
933 | * tree-optimize.c (pass_vectorize): Schedule the vectorization pass. | |
6aaf3dde | 934 | * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new |
79fe1b3b DN |
935 | vectorization pass. |
936 | * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize. | |
937 | (tree_ssa_loop_done): Call scev_finalize. | |
938 | (tree_vectorize): Define the new vectorization pass. | |
89b0433e NS |
939 | * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the |
940 | size of the vector they support (until support for multiple vector | |
941 | sizes is added to the vectorizer). | |
79fe1b3b DN |
942 | * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define. |
943 | * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define. | |
944 | * invoke.texi (fdump-tree-vect, ftree-vectorize): Add | |
945 | documentation. | |
946 | ||
e15987c1 NS |
947 | 2004-08-17 Nathan Sidwell <nathan@codesourcery.com> |
948 | ||
949 | * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst | |
950 | usage. | |
951 | (generate_protocol_list, handle_impent): Likewise. | |
952 | ||
e3cadb61 RS |
953 | 2004-08-17 Roger Sayle <roger@eyesopen.com> |
954 | ||
955 | * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to | |
956 | ensure that call_used_regs is a superset of both fixed_regs and | |
957 | call_really_used_regs. | |
958 | ||
108a579c DB |
959 | 2004-08-17 Daniel Bornstein <danfuzz@milk.com> |
960 | ||
961 | PR target/17019 | |
962 | * arm.md (addsi3_cbranch_scratch): Correct case labels. | |
963 | ||
62fc1d7d PB |
964 | 2004-08-17 Paolo Bonzini <bonzini@gnu.org> |
965 | ||
966 | PR middle-end/17036 | |
967 | * fold-const.c (fold): Check for integer operand when | |
968 | folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew | |
969 | Pinski <pinskia@physics.uc.edu>. | |
970 | ||
7c27e184 PB |
971 | 2004-08-17 Paolo Bonzini <bonzini@gnu.org> |
972 | ||
973 | * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO. | |
974 | No need to check if in a cross configuration. | |
975 | * configure: Regenerate. | |
976 | ||
977 | * calls.c (precompute_register_parameters): | |
978 | Inline preserve_subexpressions_p (). | |
979 | * expmed.c (expand_mult_const, emit_store_flag): Likewise. | |
980 | * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn): | |
981 | Likewise. | |
982 | * expr.c (get_subtarget): Likewise. | |
983 | * rtl.h (preserve_subexpressions_p): Remove. | |
984 | * stmt.c (preserve_subexpressions_p): Remove. | |
985 | ||
986 | * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR, | |
987 | TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>: | |
988 | Abort on gimplified cases. | |
989 | ||
d97c6333 JW |
990 | 2004-08-16 James E Wilson <wilson@specifixinc.com> |
991 | ||
992 | * tree.h (VECTOR_FLOAT_TYPE_P): New. | |
993 | (FLOAT_TYPE_P): Use it. | |
994 | * c-typeck.c (build_binary_op): After convert calls, check for | |
995 | check for ERROR_MARK operands. | |
996 | ||
45c8116d ZW |
997 | 2004-08-16 Zack Weinberg <zack@codesourcery.com> |
998 | ||
999 | * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete. | |
1000 | (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update. | |
1001 | (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o. | |
1002 | (genobjs static pattern rule): Remove %.c dependency. | |
1003 | ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o): | |
1004 | Rename rules; delete commands; fix dependencies. | |
1005 | (mostlyclean): Do not delete temporary source copies. | |
1006 | * configure.ac: Delete all references to BUILD_PREFIX and | |
1007 | BUILD_PREFIX_1. | |
1008 | * configure: Regenerate. | |
1009 | ||
1010 | * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE. | |
1011 | Do not include tree.h, real.h, flags.h, hard-reg-set.h, or | |
1012 | basic-block.h #ifdef GENERATOR_FILE. Surround some more code | |
1013 | with #ifndef GENERATOR_FILE so that nothing from those headers | |
1014 | is used. | |
1015 | ||
1016 | * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE. | |
1017 | ||
4d73e20b AN |
1018 | 2004-08-16 Adam Nemet <anemet@lnxw.com> |
1019 | ||
1020 | * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB). | |
6aaf3dde | 1021 | |
62114438 AP |
1022 | 2004-08-16 Andrew Pinski <apinski@apple.com> |
1023 | ||
1024 | * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove | |
1025 | extraneous semicolon. | |
1026 | ||
8e3e233b DP |
1027 | 2004-08-16 Devang Patel <dpatel@apple.com> |
1028 | ||
1029 | * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P. | |
1030 | * print-tree.c (print_node): Print DECL_PRESERVE_P. | |
1031 | * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define. | |
1032 | (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED | |
1033 | * target.h (struct gcc_target): New member, mark_decl_preserved. | |
45c8116d ZW |
1034 | * hooks.c (hook_void_charptr): Rename to ... |
1035 | (hook_void_constcharptr): ... new name. | |
1036 | * hooks.h (hook_void_charptr): Rename to .. | |
1037 | (hook_void_constcharptr): ... new name. | |
8e3e233b DP |
1038 | * tree.h (DECL_PRESERVE_P): New #define. |
1039 | (struct tree_decl): New member, preserve_flag. | |
1040 | * varasm.c (assemble_start_function): Mark decl preserved. | |
1041 | (assemble_variable): Same. | |
1042 | * darwin.c (darwin_mark_decl_preserved): New function. | |
1043 | * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define. | |
1044 | * darwin-protos.h (darwin_mark_decl_preserved): New decl. | |
1045 | * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document. | |
1046 | ||
580b3958 JM |
1047 | 2004-08-16 Joseph S. Myers <jsm@polyomino.org.uk> |
1048 | ||
1049 | * c-decl.c (grokdeclarator): Allow for function definition where | |
1050 | innermost declarator has attributes. | |
1051 | ||
93f90be6 FJ |
1052 | 2004-08-16 Fariborz Jahanian <fjahanian@apple.com> |
1053 | ||
1054 | * except.c (get_exception_filter, build_post_landing_pads, | |
1055 | dw2_build_landing_pads): Use target-specific mode for 'filter'. | |
1056 | * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used. | |
1057 | * target.h (eh_return_filter_mode): New field added. | |
1058 | * targhooks.c (default_eh_return_filter_mode): Defined. | |
1059 | * targhooks.h (default_eh_return_filter_mode): Declared. | |
1060 | * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined. | |
1061 | ||
392765bf NN |
1062 | 2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org> |
1063 | ||
1064 | * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with | |
1065 | ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST. | |
1066 | * configure: Regenerate. | |
1067 | ||
49bd1d27 SS |
1068 | 2004-08-16 Stan Shebs <shebs@apple.com> |
1069 | ||
1070 | Basic support for 64-bit Darwin. | |
1071 | * config/darwin.c (macho_indirect_data_reference): Add DImode case. | |
1072 | (machopic_legitimize_pic_address): Similarly, plus use Pmode | |
1073 | instead of SImode. | |
1074 | * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit. | |
1075 | (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro. | |
1076 | (SUBTARGET_SWITCHES): Add -m32 and -m64 flags. | |
1077 | (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64. | |
1078 | (PROCESSOR_DEFAULT64): Define. | |
1079 | * config/rs6000/darwin.md: New file, patterns specific to 64-bit | |
1080 | Darwin. | |
1081 | * config/rs6000/rs6000.md: Include darwin.md. | |
1082 | (builtin_setjmp_receiver): Add DImode case. | |
1083 | * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for | |
1084 | Darwin. | |
1085 | (TARGET_ASM_ALIGNED_DI_OP): Ditto. | |
1086 | (rs6000_emit_move): Add DImode case to Darwin bits. | |
1087 | (machopic_output_stub): Use .quad if 64-bit. | |
1088 | * invoke.texi: Document -m32 and -m64. | |
1089 | ||
4e6e4e4c JJ |
1090 | 2004-08-16 Janis Johnson <janis187@us.ibm.com> |
1091 | ||
1092 | * doc/extend.texi (AltiVec builtins): Document additional differences | |
1093 | from the Motorola AltiVec PIM. | |
1094 | ||
092313ae NS |
1095 | 2004-08-16 Nathan Sidwell <nathan@codesourcery.com> |
1096 | ||
1097 | * c-typeck.c (build_c_cast): Only copy overflow from expr nodes. | |
1098 | * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify. | |
1099 | (struct tree_common): Update public_flag documentation. | |
1100 | ||
dffc9ae5 NN |
1101 | 2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org> |
1102 | ||
1103 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): | |
62fc1d7d | 1104 | Check for artificial variables, not is_gimple_tmp_var. |
dffc9ae5 NN |
1105 | * tree-ssa-live.c (var_union): Likewise. |
1106 | ||
16e9be4c NS |
1107 | 2004-08-16 Nathan Sidwell <nathan@codesourcery.com> |
1108 | ||
1109 | * calls.c (load_register_parameters): Remove spurious FIXME token. | |
1110 | ||
9a4d6480 ZL |
1111 | 2004-08-15 Ziemowit Laski <zlaski@apple.com> |
1112 | ||
1113 | * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h. | |
1114 | (c-lang.o): Depend on c-objc-common.h. | |
45c8116d | 1115 | (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and |
9a4d6480 ZL |
1116 | c-objc-common.h; remove duplicate $(C_TREE_H) dependency. |
1117 | * c-lang.c: Include c-objc-common.h. | |
1118 | (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS, | |
1119 | LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION, | |
1120 | LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS, | |
45c8116d ZW |
1121 | LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P, |
1122 | LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE, | |
9a4d6480 ZL |
1123 | LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION, |
1124 | LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL, | |
45c8116d | 1125 | LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, |
9a4d6480 ZL |
1126 | LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, |
1127 | LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED, | |
1128 | LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, | |
1129 | LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT, | |
1130 | LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, | |
1131 | LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, | |
1132 | LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, | |
1133 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
1134 | LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING, | |
1135 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
1136 | LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN, | |
1137 | LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE, | |
1138 | LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE, | |
1139 | LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE, | |
1140 | LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO, | |
1141 | LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS): | |
1142 | Move to c-objc-common.h. | |
1143 | * c-objc-common.c: Include c-objc-common.h. | |
1144 | * c-objc-common.h: New file. | |
1145 | ||
869464ba AT |
1146 | 2004-08-15 Andreas Tobler <a.tobler@schweiz.ch> |
1147 | Andrew Pinski <pinskia@physics.uc.edu> | |
1148 | ||
1149 | PR target/14931 | |
1150 | * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub | |
1151 | style. | |
1152 | ||
4a90aeeb NS |
1153 | 2004-08-15 Nathan Sidwell <nathan@codesourcery.com> |
1154 | ||
1155 | * tree.h (build_int_cst): New. | |
1156 | (build_int_2): Remove. | |
1157 | * tree.c (build_int_2): Remove. | |
1158 | (build_int_cst): New. | |
1159 | (make_vector_type, build_common_tree_nodes, | |
1160 | build_common_tree_nodes_2): Use build_int_cst. | |
1161 | * builtins.c (expand_builtin_prefetch, expand_builtin_strstr, | |
1162 | expand_builtin_strpbrk, expand_builtin_fputs, | |
1163 | build_string_literal, expand_builtin_printf, | |
1164 | expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop, | |
1165 | fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii, | |
1166 | fold_builtin_isdigit, simplify_builtin_strstr, | |
1167 | simplify_builtin_strpbrk, fold_builtin_fputs, | |
1168 | simplify_builtin_sprintf): Use build_int_cst. | |
1169 | * c-common.c (start_fname_decls, fix_string_type, | |
1170 | c_common_nodes_and_builtins, c_init_attributes, | |
1171 | shorten_compare): Likewise. | |
1172 | * c-decl.c (complete_array_type, | |
1173 | check_bitfield_type_and_width): Likewise. | |
1174 | * c-lex.c (interpret_integer, lex_charconst): Likewise. | |
1175 | * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise. | |
1176 | * c-pretty-print.c (pp_c_integer_constant): Likewise. | |
1177 | * c-typeck.c (really_start_incremental_init, push_init_level, | |
1178 | set_nonincremental_init_from_string): Likewise. | |
1179 | * calls.c (load_register_parameters): Likewise. | |
1180 | * convert.c (convert_to_pointer): Likewise. | |
1181 | * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref, | |
1182 | build_fn_info_type, build_ctr_info_value, build_gcov_info): | |
1183 | Likewise. | |
1184 | * except.c (init_eh, assign_filter_values, assign_filter_values): | |
1185 | Likewise. | |
1186 | * expmed.c (store_fixed_bit_field, extract_bit_field, | |
1187 | extract_fixed_bit_field, extract_split_bit_field, expand_shift, | |
1188 | expand_mult_const, expand_mult_highpart_adjust, extract_high_half, | |
1189 | expand_sdiv_pow2, expand_divmod, make_tree): Likewise. | |
1190 | * expr.c (convert_move, emit_group_load, emit_group_store, | |
1191 | expand_assignment, store_constructor, store_field, | |
1192 | expand_expr_real_1, reduce_to_bit_field_precision): Likewise. | |
1193 | * fold-const.c (force_fit_type, int_const_binop, fold_convert_const, | |
1194 | invert_truthvalue, optimize_bit_field_compare, | |
1195 | decode_field_reference, all_ones_mask_p, constant_boolean_node, | |
1196 | fold_div_compare, fold, fold_read_from_constant_string, | |
1197 | fold_negate_const, fold_abs_const, fold_not_const): Likewise. | |
1198 | * function.c (assign_parm_setup_block): Likewise. | |
1199 | * stmt.c (shift_return_value, expand_end_case_type, | |
1200 | estimate_case_costs): Likewise. | |
1201 | * stor-layout.c (layout_type, initialize_sizetypes, | |
1202 | set_min_and_max_values_for_integral_type): Likewise. | |
1203 | * tree-chrec.c (chrec_fold_multiply_poly_poly, | |
1204 | reset_evolution_in_loop): Likewise. | |
1205 | * tree-chrec.h (build_polynomial_chrec): Likewise. | |
1206 | * tree-complex.c (build_replicated_const): Likewise. | |
1207 | * tree-eh.c (honor_protect_cleanup_actions, | |
1208 | lower_try_finally_onedest, lower_try_finally_copy, | |
1209 | lower_try_finally_switch): Likewise. | |
1210 | * tree-mudflap.c (mf_build_string, mx_register_decls, | |
1211 | mudflap_register_call, mudflap_enqueue_constant): Likewise. | |
1212 | * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise. | |
1213 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
1214 | * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref): | |
1215 | Likewise. | |
1216 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. | |
1217 | * tree-ssa-loop-niter.c (number_of_iterations_cond, | |
1218 | loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type): | |
1219 | Likewise. | |
45c8116d | 1220 | |
4a90aeeb NS |
1221 | * config/alpha/alpha.c (alpha_initialize_trampoline, |
1222 | alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst. | |
1223 | * config/arm/arm.c (arm_get_cookie_size): Likewise. | |
1224 | * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise. | |
1225 | * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
1226 | * config/i860/i860.c (i860_va_start): Likewise. | |
1227 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. | |
1228 | * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start, | |
1229 | mips_gimplify_va_arg_expr): Likewise. | |
1230 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise. | |
1231 | * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg, | |
1232 | add_compiler_branch_island): Likewise. | |
1233 | * config/s390/s390.c (s390_va_start): Likewise. | |
1234 | * config/sh/sh.c (sh_va_start): Likewise. | |
1235 | * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): | |
1236 | Likewise. | |
1237 | * config/xtensa/xtensa.c (xtensa_va_start, | |
1238 | xtensa_gimplify_va_arg_expr): Likewise. | |
45c8116d | 1239 | |
4a90aeeb NS |
1240 | * objc/objc-act.c (build_objc_string_object, |
1241 | build_objc_symtab_template, init_def_list, init_objc_symtab, | |
1242 | init_module_descriptor, generate_static_references, | |
1243 | build_selector_translation_table, get_proto_encoding, | |
1244 | build_typed_selector_reference, build_selector_reference, | |
1245 | build_next_objc_exception_stuff, | |
1246 | build_method_prototype_list_template, generate_descriptor_table, | |
1247 | generate_protocols, build_protocol_initializer, | |
1248 | build_ivar_list_template, build_method_list_template, | |
1249 | build_ivar_list_initializer, generate_ivars_list, | |
1250 | generate_dispatch_table, generate_protocol_list, | |
1251 | build_category_initializer, build_shared_structure_initializer, | |
1252 | generate_shared_structures, handle_impent, | |
1253 | generate_objc_image_info): Use build_int_cst. | |
1254 | ||
2a68a7de BE |
1255 | 2004-08-15 Ben Elliston <bje@au.ibm.com> |
1256 | ||
1257 | * vec.h: Comment improvements. | |
1258 | ||
53fb4de3 RS |
1259 | 2004-08-14 Roger Sayle <roger@eyesopen.com> |
1260 | ||
1261 | * c-common.c (shorten_compare, pointer_int_sum, | |
1262 | c_common_truthvalue_conversion, boolean_increment): Replace calls | |
1263 | to build with calls to buildN. | |
1264 | * c-decl.c (complete_array_type, grokdeclarator): Likewise. | |
1265 | * c-gimplify.c (c_build_bind_expr, gimplify_c_loop, | |
1266 | gimplify_switch_stmt): Likewise. | |
1267 | * c-typeck.c (default_function_array_conversion, | |
1268 | build_component_ref, build_array_ref, build_function_call, | |
1269 | pointer_diff, build_unary_op, build_conditional_expr, | |
1270 | build_compound_expr, build_modify_expr, c_finish_goto_label, | |
1271 | c_finish_goto_ptr, c_finish_return, c_finish_loop, | |
1272 | c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt, | |
1273 | build_binary_op): Likewise. | |
1274 | ||
254b17dd SB |
1275 | 2004-08-15 Steven Bosscher <stevenb@suse.de> |
1276 | ||
1277 | * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK. | |
1278 | ||
a5252c84 JDA |
1279 | 2004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1280 | ||
1281 | * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h, | |
1282 | curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h. | |
1283 | * fixinc/fixincl.x: Rebuilt. | |
1284 | ||
96a30b18 RS |
1285 | 2004-08-14 Richard Sandiford <rsandifo@redhat.com> |
1286 | ||
1287 | * config/mips/mips-protos.h (mips_symbolic_constant_p) | |
1288 | (mips_atomic_symbolic_constant_p, mips_stack_address_p) | |
1289 | (mips_small_data_pattern_p): Declare. | |
1290 | * config/mips/mips.h (CONST_GP_P): Moved from mips.c. | |
1291 | (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete. | |
1292 | * config/mips/mips.c (mips_symbolic_constant_p): Make global. | |
1293 | (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions. | |
1294 | (uns_arith_operand, const_arith_operand, arith_operand, sle_operand) | |
1295 | (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand) | |
1296 | (reg_or_const_float_1_operand, hilo_operand, extend_operator) | |
1297 | (macc_msac_operand, equality_op, cmp_op, trap_cmp_op) | |
1298 | (pc_or_label_operand, call_insn_operand, move_operand) | |
1299 | (consttable_operand, symbolic_operand, general_symbolic_operand) | |
1300 | (global_got_operand, local_got_operand, stack_operand) | |
1301 | (fp_register_operand, lo_operand, fcc_register_operand): Delete. | |
1302 | (mips_small_data_pattern_1): Renamed from small_data_pattern_1. | |
1303 | (mips_small_data_pattern_p): Replace previous small_data_pattern | |
1304 | predicate. Turn into a bool () (rtx) function. | |
1305 | * config/mips/predicates.md: New file. | |
1306 | * config/mips/mips.md: Include it. Use the target-independent | |
1307 | comparison_operator instead of cmp_op. Rename trap_cmp_op to | |
1308 | trap_comparison_operator and equality_op to equality_operator. | |
1309 | Replace uses of small_int with the equivalent const_arith_operand. | |
1310 | Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename | |
1311 | const_float_1_operand to const_1_operand. Rename fcc_register_operand | |
1312 | to fcc_reload_operand. | |
1313 | * config/mips/sb1.md: Rename fp_register_operand to fpr_operand. | |
1314 | ||
e41c9fcb JDA |
1315 | 2004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1316 | ||
1317 | PR libstdc++/17005 partial fix. | |
1318 | * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE | |
1319 | except when generating ANSI/C89 code. | |
1320 | ||
af9c6659 NS |
1321 | 2004-08-14 Nathan Sidwell <nathan@codesourcery.com> |
1322 | ||
1323 | * c-common.c (shorten_compare): Use force_fit_type directly. | |
1324 | ||
37de1373 GP |
1325 | 2004-08-14 Gerald Pfeifer <gerald@pfeifer.com> |
1326 | Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr> | |
1327 | Dave Korn <dk@artimi.com> | |
1328 | ||
1329 | * doc/install.texi (Building): Avoid duplicate reference to GNU | |
1330 | make requirement. | |
1331 | (*-*-solaris2*): Do not recommend GNU make any longer. Simplify. | |
1332 | ||
06d69cd3 RH |
1333 | 2004-08-14 Richard Henderson <rth@redhat.com> |
1334 | ||
1335 | * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types. | |
1336 | * config/alpha/alpha.c (function_value): Use PROMOTE_MODE. | |
1337 | ||
e427abbf RH |
1338 | 2004-08-13 Richard Henderson <rth@redhat.com> |
1339 | ||
1340 | * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode | |
1341 | for constant_call_address_operand. | |
1342 | (call_value_pop_1, call_value_1): Likewise. | |
1343 | (sibcall_value_1, call_value_1_rex64): Likewise. | |
1344 | ||
2b407936 JW |
1345 | 2004-08-13 James E Wilson <wilson@specifixinc.com> |
1346 | ||
1347 | * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe): | |
1348 | Correct mode from SFmode to DFmode. | |
1349 | ||
3e0d5ae2 ZL |
1350 | 2004-08-13 Ziemowit Laski <zlaski@apple.com> |
1351 | ||
1352 | * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup, | |
1353 | __cstring_object and __image_info sections with the no_dead_strip | |
1354 | attribute. | |
1355 | ||
e0704143 RS |
1356 | 2004-08-13 Roger Sayle <roger@eyesopen.com> |
1357 | David Billinghurst <David.Billinghurst@riotinto.com> | |
1358 | ||
1359 | PR libgfortran/15930 | |
1360 | * fixinc/inclhack.def (irix___generic1, irix___generic2): New. | |
1361 | * fixinc/fixincl.x: Regenerate. | |
1362 | * fixinc/tests/base/internal/math_core.h: New file. | |
1363 | ||
8768c655 RH |
1364 | 2004-08-13 Richard Henderson <rth@redhat.com> |
1365 | ||
1366 | * dbxout.c (NO_DBX_FUNCTION_END): Default to zero. | |
1367 | (dbxout_function_end): Remove ifdefs for it. | |
1368 | (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions. | |
1369 | ||
201312c2 RH |
1370 | 2004-08-13 Richard Henderson <rth@redhat.com> |
1371 | ||
1372 | * Makefile.in (insn-preds.o): Depend on TREE_H. | |
1373 | * genpreds.c (write_insn_preds_c): Include tree.h. | |
1374 | * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand, | |
1375 | reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand, | |
1376 | const48_operand, and_operand, or_operand, mode_width_operand, | |
1377 | mode_mask_operand, mul8_operand, const0_operand, | |
1378 | hard_fp_register_operand, hard_int_register_operand, | |
1379 | reg_or_cint_operand, some_operand, some_ni_operand, input_operand, | |
1380 | samegp_function_operand, direct_call_operand, small_symbolic_operand, | |
45c8116d | 1381 | global_symbolic_operand, call_operand, symbolic_operand, |
201312c2 RH |
1382 | dtp16_symbolic_operand, dtp32_symbolic_operand, |
1383 | gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand, | |
1384 | gottp_symbolic_operand, alpha_comparison_operator, | |
1385 | alpha_zero_comparison_operator, alpha_swapped_comparison_operator, | |
1386 | signed_comparison_operator, alpha_fp_comparison_operator, | |
1387 | divmod_operator, fix_operator, aligned_memory_operand, | |
1388 | unaligned_memory_operand, reg_or_unaligned_mem_operand, | |
1389 | any_memory_operand, reg_not_elim_operand, normal_memory_operand, | |
1390 | reg_no_subreg_operand, addition_operation): Move to predicates.md. | |
1391 | (reg_or_const_int_operand): Remove. Replace all users with | |
1392 | reg_or_cint_operand. | |
1393 | (tls_symbolic_operand_1): Export. Don't check mode or for CONST. | |
1394 | (resolve_reload_operand): Split out of aligned_memory_operand. | |
1395 | * config/alpha/alpha-protos.h: Update for exports. | |
1396 | * config/alpha/alpha.h (PREDICATE_CODES): Remove. | |
1397 | * config/alpha/alpha.md: Include predicates.md. | |
1398 | * config/alpha/predicates.md: New file. | |
1399 | ||
1e9c8405 RS |
1400 | 2004-08-13 Richard Sandiford <rsandifo@redhat.com> |
1401 | ||
1402 | * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno | |
1403 | fields with a pointer to the instruction definition. | |
1404 | (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent) | |
1405 | (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get) | |
1406 | (write_attr_case, write_const_num_delay_slots): Update accordingly. | |
1407 | (write_attr_case, write_const_num_delay_slots): Write the name of | |
1408 | an insn next to its case statement. | |
1409 | * genoutput.c (data): Add a filename field. | |
1410 | (gen_insn, gen_peephole, gen_expand, gen_split): Set it. | |
1411 | (output_insn_data): Print the location of each insn definition. | |
1412 | * genrecog.c (write_action): Print the name of an insn above | |
1413 | the statement that returns its code. | |
1414 | ||
1e5f1716 AP |
1415 | 2004-08-12 Andrew Pinski <pinskia@physics.uc.edu> |
1416 | ||
1417 | * config/darwin-c.c (find_subframework_file): Fix spelling of cannot. | |
1418 | * config/libgloss.h: Likewise. | |
1419 | * config/arm/arm.c (arm_gen_load_multiple): Likewise. | |
1420 | * c4x/c4x-modes.def: Likewise. | |
1421 | * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise. | |
1422 | (c4x_rptb_nop_p): Likewise. | |
1423 | (c4x_rptb_valid_p): Likewise. | |
1424 | (c4x_rptb_insert): Likewise. | |
1425 | (c4x_address_conflict): Likewise. | |
1426 | * config/c4x/c4x.md: Likewise. | |
1427 | * config/frv/frv.md: Likewise. | |
1428 | * config/i386/athlon.md: Likewise. | |
1429 | * config/i386/i386.md: Likewise. | |
1430 | * config/i386/predicates.md: Likewise. | |
1431 | * config/ia64/ia64.c: Likewise. | |
1432 | * config/ia64/itanium1.md: Likewise. | |
1433 | * config/ia64/itanium2.md: Likewise. | |
1434 | * config/iq2000/iq2000.md: Likewise. | |
1435 | * config/mcore/mcore.c: Likewise. | |
1436 | * config/mips/mips.c: Likewise. | |
1437 | * config/mips/r3900.h: Likewise. | |
1438 | * config/mips/sb1.md: Likewise. | |
1439 | * config/pa/milli64.S: Likewise. | |
1440 | * config/pa/pa.c: Likewise. | |
1441 | * config/pa/pa.h: Likewise. | |
1442 | * config/rs6000/8540.md: Likewise. | |
1443 | ||
9bcc9490 DB |
1444 | 2004-08-13 Daniel Berlin <dberlin@dberlin.org> |
1445 | ||
1446 | * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU. | |
1447 | ||
68fe56fc R |
1448 | 2004-08-13 J"orn Rennecke <joern.rennecke@superh.com> |
1449 | ||
1450 | * sh.md (cbranch define_delay) Use cond_delay_slot for | |
1451 | non-anulled condition too. | |
1452 | ||
85d346f1 DE |
1453 | 2004-08-12 David Edelsohn <edelsohn@gnu.org> |
1454 | ||
1455 | * config/rs6000/rs6000.c (any_parallel_operand): New predicate. | |
1456 | * config/rs6000/rs6000.h (PREDICATE_CODES): Add | |
1457 | any_parallel_operand, lmw_operation, stmw_operation, | |
a688b3ac | 1458 | mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand. |
85d346f1 DE |
1459 | * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use |
1460 | any_parallel_operand. | |
1461 | (return_and_restore_fpregs_{si,di}): Same. | |
1462 | ||
47d2cee5 ZW |
1463 | 2004-08-12 Zack Weinberg <zack@codesourcery.com> |
1464 | ||
1465 | * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL, | |
1466 | if pred->singleton != PARALLEL, issue a warning and pretend it was. | |
1467 | Also issue a warning for any predicate we don't know about. | |
1468 | ||
8fe75e43 RH |
1469 | 2004-08-12 Richard Henderson <rth@redhat.com> |
1470 | ||
1471 | * config/i386/i386.c (internal_label_prefix): Export. | |
1472 | (internal_label_prefix_len, struct ix86_address, | |
1473 | ix86_decompose_address, maybe_get_pool_constant, | |
1474 | ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes, | |
1475 | memory_address_length): Export. | |
47d2cee5 | 1476 | (any_fp_register_operand, fp_register_operand, |
8fe75e43 | 1477 | register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand, |
47d2cee5 | 1478 | x86_64_general_operand, x86_64_szext_general_operand, |
8fe75e43 RH |
1479 | x86_64_nonmemory_operand, x86_64_movabs_operand, |
1480 | x86_64_szext_nonmemory_operand, x86_64_immediate_operand, | |
1481 | x86_64_zext_immediate_operand, const_int_1_31_operand, | |
1482 | symbolic_operand, pic_symbolic_operand, local_symbolic_operand, | |
1483 | tls_symbolic_operand, global_dynamic_symbolic_operand, | |
1484 | local_dynamic_symbolic_operand, initial_exec_symbolic_operand, | |
1485 | local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand, | |
1486 | constant_call_address_operand, const0_operand, const1_operand, | |
1487 | const248_operand, const_0_to_3_operand, const_0_to_7_operand, | |
1488 | const_0_to_15_operand, const_0_to_255_operand, incdec_operand, | |
1489 | shiftdi_operand, reg_no_sp_operand, mmx_reg_operand, | |
1490 | general_no_elim_operand, nonmemory_no_elim_operand, | |
1491 | index_register_operand, q_regs_operand, flags_reg_operand, | |
1492 | non_q_regs_operand, zero_extended_scalar_load_operand, | |
1493 | vector_move_operand, no_seg_address_operand, sse_comparison_operator, | |
47d2cee5 | 1494 | ix86_comparison_operator, ix86_carry_flag_operator, |
8fe75e43 RH |
1495 | fcmov_comparison_operator, promotable_binary_operator, |
1496 | cmp_fp_expander_operand, ext_register_operand, binary_fp_operator, | |
47d2cee5 | 1497 | mult_operator, div_operator, arith_or_logical_operator, |
8fe75e43 RH |
1498 | memory_displacement_operand, cmpsi_operand, long_memory_operand, |
1499 | aligned_operand): Move to predicates.md as define_predicates. | |
1500 | (tls_symbolic_operand_1): Remove. | |
1501 | (x86_64_sign_extended_value): Merge into x86_64_immediate_operand. | |
1502 | (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand. | |
1503 | (legitimize_address): Merge tls_symbolic_operand contents. | |
1504 | (ix86_expand_move): Likewise. | |
1505 | * config/i386/i386-protos.h: Update for exports. | |
1506 | * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames. | |
1507 | (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove. | |
1508 | * config/i386/i386.md: Include predicates.md. | |
1509 | * config/i386/predicates.md: New file. | |
1510 | ||
ea3d83a7 MM |
1511 | 2004-08-13 Mark Mitchell <mark@codesourcery.com> |
1512 | ||
1513 | PR c++/16924 | |
1514 | * config/i386/winnt.c (i386_pe_mark_dllexport): Set | |
1515 | SYMBOL_REF_DECL. | |
1516 | (i386_pe_mark_dllimport): Likewise. | |
1517 | (i386_pe_encode_section_info): Likewise, when overriding | |
1518 | dllimport attribute. | |
1519 | ||
414adbdd GK |
1520 | 2004-08-12 Geoffrey Keating <geoffk@apple.com> |
1521 | ||
1522 | * configure.ac: When testing for flex, nm, ar, and bison, check | |
1523 | that they will actually be built. | |
1524 | * configure: Regenerate. | |
1525 | ||
c5443745 UW |
1526 | 2004-08-12 Ulrich Weigand <uweigand@de.ibm.com> |
1527 | ||
1528 | * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define. | |
1529 | (MOVE_MAX_PIECES): Define. | |
1530 | ||
8fa5469d DP |
1531 | 2004-08-12 Devang patel <dpatel@apple.com> |
1532 | ||
1533 | * dbxout.c (dbxout_begin_prologue): New function. | |
1534 | (dbx_debug_hooks): Use new begin prologue hook. | |
1535 | (dbxout_function_end): Emit N_ENSYM. | |
1536 | * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs. | |
47d2cee5 | 1537 | |
b0b343db JJ |
1538 | 2004-08-12 Janis Johnson <janis187@us.ibm.com> |
1539 | ||
e390eb0a JJ |
1540 | * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first |
1541 | argument is float*. | |
1542 | ||
e34b6648 JJ |
1543 | * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type |
1544 | for vec_dss. | |
1545 | ||
b0b343db JJ |
1546 | * doc/extend.texi (AltiVec builtins): Fix description for recent |
1547 | changes. Update operation list to match current support. | |
1548 | ||
adf39f8f AK |
1549 | 2004-08-12 Andreas Krebbel <krebbel1@de.ibm.com> |
1550 | ||
1551 | * config/s390/s390.c (struct s390_frame_layout): New struct as element | |
1552 | of struct machine_function. | |
1553 | (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and | |
1554 | changed all uses. | |
1555 | (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and | |
1556 | changed all uses. | |
1557 | (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size) | |
1558 | (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros. | |
1559 | (s390_frame_area, s390_register_info): New functions. | |
1560 | (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check | |
1561 | for base register. | |
1562 | (s390_return_addr_rtx, s390_return_address_offset) | |
1563 | (s390_va_start, s390_gimplify_va_arg) | |
1564 | (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack | |
1565 | layouts. | |
1566 | (s390_frame_info): Functionality partly moved to s390_register_info. | |
1567 | Made adaptions for new stack layout. | |
1568 | (save_gprs, restore_gprs): Changed meaning of second parameter and | |
1569 | adapted all callers. | |
1570 | ||
1571 | * config/s390/s390.h (s390_backchain_string): New global variable. | |
1572 | (MASK_BACKCHAIN): Removed definition. | |
1573 | (TARGET_BACKCHAIN): Changed check. | |
1574 | (TARGET_KERNEL_BACKCHAIN): New macro. | |
1575 | (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain". | |
1576 | (TARGET_OPTIONS): Added "backchain", "no-backchain" and | |
1577 | "kernel-backchain". | |
1578 | (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts. | |
1579 | ||
1580 | * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN | |
1581 | as condition. Adjusted for new stack layout. | |
1582 | ||
1583 | * doc/invoke.texi: Added documentation for new option | |
1584 | "-mkernel-backchain" and adjusted documentation of "-mbackchain" and | |
1585 | "-mno-backchain". | |
1586 | ||
db151e9d PB |
1587 | 2004-08-12 Paul Brook <paul@codesourcery.com> |
1588 | ||
1589 | * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name. | |
1590 | (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation. | |
1591 | ||
02b75262 DD |
1592 | 2004-08-12 David Daney <ddaney@avtrex.com> |
1593 | ||
db151e9d | 1594 | * java/gcj.texi: Add subsection on signal usage. |
02b75262 | 1595 | |
f64d6991 DE |
1596 | 2004-08-12 David Edelsohn <edelsohn@gnu.org> |
1597 | ||
1598 | * expr.c (move_by_pieces): Set alignment for move to minimum of | |
1599 | MOVE_MAX_PIECES mode alignment and the largest non-slow mode | |
1600 | alignment, but not less than the original alignment. | |
1601 | (move_by_pieces_ninsns): Same. | |
1602 | (can_store_by_pieces): Similar for store with STORE_MAX_PIECES. | |
1603 | (store_by_pieces_1): Same. | |
1604 | ||
c597ef4e DN |
1605 | 2004-08-12 Diego Novillo <dnovillo@redhat.com> |
1606 | ||
1607 | PR tree-optimization/16867 | |
1608 | * tree.c (is_global_var): New function. | |
1609 | (needs_to_live_in_memory): Check for TREE_ADDRESSABLE. | |
1610 | Call is_global_var. | |
1611 | * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove. | |
1612 | Update all users. | |
1613 | (is_global_var): Declare. | |
1614 | * tree-dfa.c (dump_variable): Display global and addressable | |
1615 | attributes. | |
1616 | (add_referenced_var): Clarify documentation when marking | |
1617 | variables call-clobbered. | |
1618 | * tree-flow-inline.h (is_call_clobbered): Call is_global_var | |
1619 | instead of needs_to_live_in_memory. | |
1620 | (mark_call_clobbered): If the variable is a tag, mark it | |
1621 | DECL_EXTERNAL. | |
1622 | * tree-gimple.c (is_gimple_reg): Don't check for | |
1623 | TREE_ADDRESSABLE. | |
1624 | (is_gimple_non_addressable): Likewise. | |
1625 | * tree-ssa-alias.c (get_nmt_for): Always check whether the tag | |
1626 | needs to be marked call-clobbered. | |
1627 | (setup_pointers_and_addressables): Call is_global_var instead | |
1628 | of needs_to_live_in_memory. | |
1629 | * tree-ssa-dce.c (need_to_preserve_store): Remove. | |
1630 | Update all users with is_global_var. | |
1631 | (mark_stmt_if_obviously_necessary): Fix processing of aliased | |
1632 | stores. Don't check the virtual definitions. Rather, check | |
1633 | whether the store is going into global memory. | |
1634 | (find_obviously_necessary_stmts): Get the symbol from the PHI | |
1635 | result. | |
1636 | * tree-ssa-operands.c (get_call_expr_operands): Do not add | |
1637 | clobbering may-defs if the call does not have side effects. | |
1638 | ||
ab5c8549 JJ |
1639 | 2004-08-12 Jakub Jelinek <jakub@redhat.com> |
1640 | ||
1641 | PR c++/16276 | |
1642 | * output.h (default_function_rodata_section, | |
1643 | default_no_function_rodata_section): New prototypes. | |
1644 | * target.h (struct gcc_target): Add asm_out.function_rodata_section. | |
1645 | * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define. | |
1646 | (TARGET_ASM_OUT): Add it. | |
1647 | * varasm.c (default_function_rodata_section, | |
1648 | default_no_function_rodata_section): New functions. | |
1649 | * final.c (final_scan_insn): Call | |
1650 | targetm.asm_out.function_rodata_section instead of | |
1651 | readonly_data_section. | |
1652 | * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define. | |
1653 | * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
1654 | * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
1655 | * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION): | |
1656 | Likewise. | |
1657 | * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
1658 | * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION): | |
1659 | Likewise. | |
1660 | * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION): | |
1661 | Likewise. | |
1662 | * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
1663 | * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
1664 | * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document. | |
1665 | ||
5cf58f28 PB |
1666 | 2004-08-12 Paul Brook <paul@codesourcery.com> |
1667 | ||
1668 | * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh | |
1669 | frame info. | |
1670 | * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and | |
1671 | DWARF2_UNWIND_INFO. | |
1672 | ||
87e184d1 BE |
1673 | 2004-08-12 Ben Elliston <bje@au.ibm.com> |
1674 | ||
1675 | PR target/16286 | |
1676 | * config/rs6000/altivec.h: Change vector to __vector throughout. | |
1677 | (Except for the `vector' macro itself). | |
1678 | ||
e543e219 ZW |
1679 | 2004-08-12 Zack Weinberg <zack@codesourcery.com> |
1680 | ||
1681 | * genpreds.c: Add capability to generate predicate bodies as | |
1682 | well as function prototypes. Write function prototypes for | |
1683 | the generic predicates too. | |
1684 | (process_define_predicate, write_tm_preds_h, write_insn_preds_c) | |
1685 | (write_predicate_subfunction, mark_mode_tests, add_mode_tests) | |
1686 | (write_match_code, write_predicate_expr, write_one_predicate_function) | |
1687 | (parse_option): New functions. | |
1688 | (output_predicate_decls): Delete. | |
1689 | (main): Read the machine description, process DEFINE_PREDICATE or | |
1690 | DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c | |
1691 | as appropriate. | |
1692 | ||
1693 | * genrecog.c (struct decision_test): Replace index with | |
1694 | struct pred_data pointer. | |
1695 | (next_index): Remove, unused. | |
1696 | (pred_table, preds, special_mode_pred_table): Delete. | |
1697 | (compute_predicate_codes, process_define_predicate): New functions. | |
1698 | (validate_pattern, add_to_sequence, write_switch): Update for | |
1699 | new data structures. | |
1700 | (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE. | |
1701 | Check both error_count and have_error. | |
1702 | ||
1703 | * gensupport.c (in_fname, first_predicate): New globals. | |
1704 | (define_pred_queue, define_pred_tail): New RTL-pattern queue. | |
1705 | (predicate_table, last_predicate, old_pred_table) | |
1706 | (old_special_pred_table): New statics. | |
1707 | (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate) | |
1708 | (add_predicate, init_predicate_table): New functions. | |
1709 | (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE. | |
1710 | (init_md_reader_args_cb): Use the global in_fname. No need to zero | |
1711 | it or max_include_len. Call init_predicate_table. | |
1712 | (read_rtx): Run the predicate queue after the attribute queue | |
1713 | but before all the others. | |
1714 | * gensupport.h (in_fname, struct pred_data, first_predicate) | |
1715 | (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare. | |
1716 | * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE) | |
1717 | (DEFINE_SPECIAL_PREDICATE): New RTL codes. | |
1718 | * dummy-conditions.c: Don't include bconfig.h, system.h, | |
1719 | coretypes.h, tm.h, or system.h. Do include stddef.h. | |
1720 | Duplicate declaration of struct c_test from gensupport.h. | |
1721 | ||
1722 | * Makefile.in (OBJS-common): Add insn-preds.o. | |
1723 | (STAGESTUFF, .PRECIOUS): Add insn-preds.c. | |
1724 | (insn-preds.c, insn-preds.o): New rules. | |
1725 | (s-preds): Also generate insn-preds.c. | |
1726 | (dummy-conditions.o, genpreds$(build_exeext), genpreds.o): | |
1727 | Update dependencies. | |
1728 | (print-rtl.o, print-rtl1.o): Correct dependencies. | |
1729 | ||
1730 | * recog.h: Delete prototypes of predicate functions. | |
1731 | ||
1732 | * doc/md.texi (Predicates): New section with complete | |
1733 | documentation of operand/operator predicates. Remove some | |
1734 | incomplete documentation of predicates from other places. | |
1735 | * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to | |
1736 | PREDICATE_CODES; indicate that both are deprecated in favor | |
1737 | of define_predicate/define_special_predicate. | |
1738 | ||
1739 | * config/ia64/ia64.c: All predicate function definitions moved | |
1740 | to ia64.md, except | |
1741 | (small_addr_symbolic_operand, tls_symbolic_operand): Delete. | |
1742 | (ia64_expand_load_address, ia64_expand_move): | |
1743 | Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand. | |
1744 | ||
1745 | * config/ia64/ia64.md: All predicates now defined here. | |
1746 | (symbolic_operand): Is now a special predicate. | |
1747 | ||
1748 | * config/ia64/ia64.h: Declare ia64_section_threshold. | |
1749 | (PREDICATE_CODES): Delete. | |
1750 | ||
174283a3 RH |
1751 | 2004-08-12 Richard Henderson <rth@redhat.com> |
1752 | ||
1753 | * c-common.h (STATEMENT_LIST_HAS_LABEL): New. | |
1754 | * c-semantics.c (add_stmt): Set it. | |
1755 | * c-decl.c (finish_decl): Use it to create a new BIND_EXPR | |
1756 | before instantiating a variable sized type. | |
1757 | ||
15931954 RH |
1758 | 2004-08-12 Richard Henderson <rth@redhat.com> |
1759 | ||
1760 | * stor-layout.c (round_up, round_down): Move ... | |
e543e219 | 1761 | * fold-const.c (round_up, round_down): ... here. Use |
15931954 RH |
1762 | multiple_of_p to avoid any arithmetic at all. |
1763 | ||
57d1dd87 RH |
1764 | 2004-08-12 Richard Henderson <rth@redhat.com> |
1765 | ||
1766 | * gimplify.c (struct gimplify_init_ctor_preeval_data): New. | |
1767 | (gimplify_init_ctor_preeval_1): New. | |
1768 | (gimplify_init_ctor_preeval): New. | |
1769 | (gimplify_init_ctor_eval): New. | |
1770 | (gimplify_init_constructor): Use them. Always gimplify the LHS | |
1771 | object first. | |
1772 | ||
46e34f96 ZL |
1773 | 2004-08-12 Ziemowit Laski <zlaski@apple.com> |
1774 | ||
1775 | (This patch is part of merge of objc-improvements-branch | |
1776 | into mainline.) | |
1777 | ||
1778 | * doc/frontends.texi: Mention Objective-C++ in addition to | |
1779 | Objective-C. | |
1780 | * doc/install.texi: Add 'obj-c++' to list of configurable | |
1781 | languages. | |
1782 | * doc/invoke.texi: Rename Objective-C option headings to | |
1783 | indicate they also apply to Objective-C++. List file | |
1784 | extensions for Objective-C++ sources. Mention that | |
1785 | ObjC and ObjC++ compilations may also use C and C++ options, | |
1786 | respectively. Point users to doc/standards.texi for | |
1787 | further info on ObjC and ObjC++. | |
1788 | * doc/sourcebuild.texi: Mention the objcp/ directory and | |
1789 | the Objective-C++ sources it contains. | |
1790 | * doc/standards.texi: Update link to Apple ObjC site; | |
1791 | add link to gcc readings.html WWW doc. | |
1792 | ||
07f12d8b AM |
1793 | 2004-08-12 Alan Modra <amodra@bigpond.net.au> |
1794 | ||
1795 | * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28 | |
1796 | and 2004-07-14 changes. | |
1797 | ||
89aa5a20 PB |
1798 | 2004-08-12 Paul Brook <paul@codesourcery.com> |
1799 | ||
1800 | * doc/invoke.texi: Fix typo. | |
1801 | ||
5079843a DP |
1802 | 2004-08-11 Devang Patel <dpatel@apple.com> |
1803 | ||
1804 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip | |
1805 | and -no_dead_strip_inits_and_terms. | |
1806 | (LINK_SPEC): Same. | |
1807 | * doc/invoke.texi (Darwin Options): Document -dead_strip and | |
1808 | -no_dead_strip_inits_and_terms. | |
e543e219 | 1809 | |
876f13b0 PB |
1810 | 2004-08-11 Paul Brook <paul@codesourcery.com> |
1811 | ||
1812 | * config/arm/arm-protos.h (arm_finalize_pic) Rename ... | |
1813 | (arm_load_pic_register): ... to this. | |
1814 | * config/arm/arm.c (arm_finalize_pic): Rename ... | |
1815 | (arm_load_pic_register): ... to this. Always output insns at the | |
1816 | current location. Load via low reg in thumb mode. | |
1817 | (arm_expand_prologue): Call arm_load_pic_register. | |
1818 | (thumb_expand_prologue): Ditto. | |
1819 | * config/arm/arm.h (FINALIZE_PIC): Remove. | |
1820 | * config/arm/arm.md (builtin_setjmp_receiver): Call | |
1821 | arm_load_pic_register. | |
1822 | ||
57934c39 PB |
1823 | 2004-08-11 Paul Brook <paul@codesourcery.com> |
1824 | ||
1825 | * arm.c (thumb_force_lr_save): Add prototype. | |
1826 | (thumb_compute_save_reg_mask): New function. | |
1827 | (thumb_find_work_register): New function. | |
1828 | (arm_get_frame_offsets): Use thumb_compute_save_reg_mask. | |
1829 | (thumb_unexpanded_epilogue): Ditto. Remove redundant code. | |
1830 | Don't clobber r3 when removing pretend args. | |
1831 | (thumb_expand_prologue): Use thumb_compute_save_reg_mask. | |
1832 | (thumb_output_function_prologue): Use new functions. | |
1833 | (thumb_set_return_address): Use thumb_compute_save_reg_mask. | |
1834 | * arm.h (THUMB_REG_PUSHED_P): Remove. | |
1835 | ||
af874237 JW |
1836 | 2004-08-11 James E Wilson <wilson@specifixinc.com> |
1837 | ||
1838 | PR rtl-optimization/16490 | |
1839 | * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and | |
1840 | global_live_at_end for new basic block if already set for other blocks. | |
1841 | ||
c1618c0c DE |
1842 | 2004-08-11 David Edelsohn <edelsohn@gnu.org> |
1843 | ||
1844 | * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define. | |
1845 | ||
1846 | * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8. | |
1847 | (mfcr rlwinm rlwinm patterns): Set length to 12. | |
1848 | ||
1a24f92f AM |
1849 | 2004-08-11 Andrew MacLeod <amacleod@redhat.com> |
1850 | ||
1851 | * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops, | |
1852 | get_vuse_ops,get_v_must_def_ops): Add operand structure reference. | |
1853 | (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct. | |
1854 | (start_ssa_stmt_operands): Delete. | |
e543e219 | 1855 | * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new |
1a24f92f AM |
1856 | struct stmt_operands_d. |
1857 | (build_ssa_operands): New extern entry point. | |
e543e219 | 1858 | * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand |
1a24f92f AM |
1859 | building code, replace with create_ssa_artficial_load_stmt(). |
1860 | * tree-ssa-operands.c (struct voperands_d): Delete. | |
1861 | (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector. | |
1862 | (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *). | |
e543e219 | 1863 | (free_uses, free_defs, free_vuses, free_v_may_defs, |
1a24f92f AM |
1864 | free_v_must_defs): Remove dealloc parameter. |
1865 | (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete. | |
1866 | (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs, | |
1867 | finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand | |
1868 | vector comparisons, ssa_name reuse, and allocations here. | |
1869 | (verify_start_operands): Delete. | |
1870 | (finalize_ssa_stmt_operands): Set new operands by calling finalize | |
1871 | routines. | |
1872 | (start_ssa_stmt_operands): Move from tree-flow-inline.h. | |
1873 | (append_def, append_usei): Simplify to simple accumulation. | |
1874 | (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding | |
1875 | duplicates and simple accumulation. | |
1876 | (free_ssa_operands): Free vectors in a stmt_operand structure. | |
1877 | (build_ssa_operands): New. Create a new stmt_operand structure from | |
e543e219 | 1878 | a stmt and an old set of stmt_operands. |
1a24f92f AM |
1879 | (get_stmt_operands): Simplify and call build_ssa_operands. |
1880 | (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands, | |
1881 | get_call_expr_operands, add_stmt_operand, add_call_clobber_ops, | |
1882 | add_call_read_ops): Don't pass prev_vops around anymore. | |
1883 | (note_addressable): Return if no stmt annotation. | |
1884 | (copy_virtual_operands): Access v_may_def operands through a struct. | |
1885 | (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's | |
1886 | hash tables without treating the stmt as a real stmt. | |
1887 | * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access | |
1888 | v_may_def def and use through a struct instead of 2 array elements. | |
1889 | (struct v_may_def_optype_d): Use v_may_def_operand_type. | |
1890 | (struct stmt_operands_d): New. Struct for storing all operand vectors. | |
1891 | ||
a77655b1 NC |
1892 | 2004-08-11 Nick Clifton <nickc@redhat.com> |
1893 | ||
1894 | * config/arm/arm.c (arm_is_longcall_p): Update comment describing | |
1895 | this funciton's behaviour. Return true when the current function | |
1896 | has a section attribute and -mlong-calls is in effect. | |
1897 | * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the | |
1898 | short-call marker when -mlong-calls is in effect and the function | |
1899 | has a section attribute. | |
1900 | ||
6f4a43e0 ZW |
1901 | 2004-08-10 Zack Weinberg <zack@codesourcery.com> |
1902 | ||
1903 | * stmt.c (expand_return): If asked to return the RESULT_DECL, | |
1904 | just call expand_value_return on result_rtl. | |
1905 | ||
1a186ec5 RH |
1906 | 2004-08-10 Richard Henderson <rth@redhat.com> |
1907 | ||
1908 | * builtins.def (BUILT_IN_STACK_ALLOC): Remove. | |
1909 | * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove. | |
1910 | * dwarf2out.c (loc_descriptor): Handle PARALLEL here ... | |
1911 | (add_location_or_const_value_attribute): ... not here. Use | |
1912 | loc_descriptor_from_tree if possible. | |
1913 | (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree. | |
1914 | Simplify address handling. Handle DECL_VALUE_EXPR. Handle register | |
1915 | values specially. | |
1916 | (loc_descriptor_from_tree): New. Update callers. | |
1917 | * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables. | |
1918 | * gimplify.c (gimplify_decl_expr): Lower variable sized types to | |
1919 | pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack. | |
1920 | (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC | |
1921 | and BUILT_IN_STACK_RESTORE. | |
1922 | (gimplify_expr): Lower DECL_VALUE_EXPR decls. | |
1923 | * stmt.c (expand_stack_alloc): Remove. | |
1924 | * tree-mudflap.c (mx_register_decls): Don't look for | |
1925 | BUILT_IN_STACK_ALLOC. | |
1926 | * tree-nested.c (convert_local_reference): Likewise. | |
1927 | * tree.h (DECL_VALUE_EXPR): New. | |
1928 | ||
7109c195 RH |
1929 | 2004-08-10 Richard Henderson <rth@redhat.com> |
1930 | ||
bf4ccdd6 RH |
1931 | * stor-layout.c (round_up): Check for 0/1 before dividing. |
1932 | (round_down): Likewise. | |
1933 | ||
7109c195 RH |
1934 | * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL. |
1935 | ||
b3f8d95d MM |
1936 | 2004-08-09 Mark Mitchell <mark@codesourcery.com> |
1937 | ||
1938 | * config.gcc (arm*-*-eabi*): New target. | |
1939 | * defaults.h (TARGET_LIBGCC_FUNCS): New macro. | |
1940 | (TARGET_LIB_INT_CMP_BIASED): Likewise. | |
1941 | * expmed.c (expand_divmod): Try a two-valued divmod function as a | |
1942 | last resort. | |
1943 | * gthr.h: Remove bogus tokens at end of #pragma. | |
1944 | * optabs.c (expand_twoval_binop_libfunc): New function. | |
1945 | (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case. | |
1946 | (prepare_float_lib_cmp): Try reversing the condition. | |
1947 | (debug_optab_libfuncs): New function. | |
1948 | * optabs.h (expand_twoval_binop_libfunc): Declare. | |
1949 | * config/arm/arm.c (arm_init_libfuncs): New function. | |
1950 | (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT. | |
1951 | (TARGET_INIT_LIBFUNCS): Define it. | |
1952 | * config/arm/arm.h (TARGET_BPABI): New macro. | |
1953 | * config/arm/arm-protos.h | |
1954 | (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT. | |
1955 | * config/arm/bpabi.S: New file. | |
1956 | * config/arm/bpabi.c: Likewise. | |
1957 | * config/arm/bpabi.h: Likewise. | |
1958 | * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias. | |
1959 | (__aeabi_drsub): Likewise. | |
1960 | (__aeabi_dsub): Likewise. | |
1961 | (__aeabi_dadd): Likewise. | |
1962 | (__aeabi_ui2d): Likewise. | |
1963 | (__aeabi_i2d): Likewise. | |
1964 | (__aeabi_f2d): Likewise. | |
1965 | (__aeabi_dmul): Likewise. | |
1966 | (__aeabi_ddiv): Likewise. | |
1967 | (__aeabi_cdrcmple): Likewise. | |
1968 | (__aeabi_cdcmpeq): Likewise. | |
1969 | (__aeabi_cdcmple): Likewise. | |
1970 | (__aeabi_dcmpeq): Likewise. | |
1971 | (__aeabi_dcmplt): Likewise. | |
1972 | (__aeabi_dcmple): Likewise. | |
1973 | (__aeabi_dcmpge): Likewise. | |
1974 | (__aeabi_dcmpgt): Likewise. | |
1975 | (__aeabi_dcmpun): Likewise. | |
1976 | (__aeabi_d2iz): Likewise. | |
1977 | (__aeabi_d2uiz): Likewise. | |
1978 | (__aeabi_d2f): Likewise. | |
1979 | * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias. | |
1980 | (__aeabi_frsub): Likewise. | |
1981 | (__aeabi_fsub): Likewise. | |
1982 | (__aeabi_fadd): Likewise. | |
1983 | (__aeabi_ui2f): Likewise. | |
1984 | (__aeabi_i2f): Likewise. | |
1985 | (__aeabi_fmul): Likewise. | |
1986 | (__aeabi_fdiv): Likewise. | |
1987 | (__aeabi_cfrcmple): Likewise. | |
1988 | (__aeabi_cfcmpeq): Likewise. | |
1989 | (__aeabi_cfcmple): Likewise. | |
1990 | (__aeabi_fcmpeq): Likewise. | |
1991 | (__aeabi_fcmplt): Likewise. | |
1992 | (__aeabi_fcmple): Likewise. | |
1993 | (__aeabi_fcmpge): Likewise. | |
1994 | (__aeabi_fcmpgt): Likewise. | |
1995 | (__aeabi_fcmpun): Likewise. | |
1996 | (__aeabi_f2iz): Likewise. | |
1997 | (__aeabi_f2uiz): Likewise. | |
1998 | * config/arm/lib1funcs.asm (ARM_CALL): New macro. | |
1999 | (__aeabi_uidivmod): New function or alias. | |
2000 | (__aeabi_idivmod): Likewise. | |
2001 | (__aeabi_idiv0): Likewise. | |
2002 | (__aeabi_ldiv0): Likewise. | |
2003 | (__aeabi_llsr): Likewise. | |
2004 | (__aeabi_lasr): Likewise. | |
2005 | (__aeabi_llsl): Likewise. | |
2006 | (bpabi.S): Include it. | |
2007 | * config/arm/libgcc-bpabi.ver: New file. | |
2008 | * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove. | |
2009 | (LINK_SPEC): Remove. | |
2010 | * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and | |
2011 | __aeabi_ulcmp. | |
2012 | * config/arm/t-bpabi: New file. | |
2013 | * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry. | |
2014 | (TARGET_LIB_INT_CMP_BIASED): Likewise. | |
6f4a43e0 | 2015 | |
fba73eb1 DE |
2016 | 2004-08-10 David Edelsohn <edelsohn@gnu.org> |
2017 | ||
2018 | * config/rs6000/rs6000-protos.h (expand_block_clear): Declare. | |
2019 | * config/rs6000/rs6000.md (clrmemsi): New pattern. | |
2020 | * config/rs6000/rs6000.c (expand_block_clear): New function. | |
2021 | (expand_block_move): Convert alignment to bits. Use SImode and | |
2022 | HImode for unaligned addresses if not STRICT_ALIGNMENT. | |
2023 | ||
2024 | 2004-08-10 Caroline Tice <ctice@apple.com> | |
c295317d CT |
2025 | |
2026 | * varasm.c (unlikely_section_label): New global variable. | |
2027 | (unlikely_text_section_name): New global variable. | |
2028 | (text_section): Remove alignment statement. | |
6f4a43e0 | 2029 | (unlikely_text_section): Remove alignment statement; use |
c295317d CT |
2030 | unlikely_section_label rather than hard-coded string. |
2031 | (assemble_start_function): Initialize unlikely_section_label and | |
2032 | unlikely_text_section_name; make sure cold section is properly | |
2033 | aligned at start of function; output unlikely_section_label if | |
2034 | appropriate. | |
2035 | ||
68f9c5e2 UW |
2036 | 2004-08-10 Ulrich Weigand <uweigand@de.ibm.com> |
2037 | ||
2038 | * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare. | |
2039 | * config/s390/s390.c (s390_canonicalize_comparison): New function. | |
2040 | * config/s390/s390.h (CANONICALIZE_COMPARISON): Define. | |
2041 | * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext", | |
2042 | "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove. | |
2043 | ("*tmqi_mem"): Remove SUBREG from pattern. | |
2044 | ("*anddi3_cconly"): Prevent accidentally matching TM pattern. | |
2045 | ("*andsi3_cconly"): Likewise. | |
6f4a43e0 | 2046 | |
22116d84 L |
2047 | 2004-08-10 H.J. Lu <hongjiu.lu@intel.com> |
2048 | ||
2049 | PR target/16909 | |
2050 | * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI. | |
2051 | ||
c75095b2 JJ |
2052 | 2004-08-10 Janis Johnson <janis187@us.ibm.com> |
2053 | ||
2054 | * doc/sourcebuild.texi (compat testing): Document available test | |
2055 | framework commands. Use the preferred spelling of DejaGnu. | |
2056 | ||
98975653 DB |
2057 | 2004-08-10 Daniel Berlin <dberlin@dberlin.org> |
2058 | ||
2059 | * lambda.h: Add matrix type, and prototypes for remainder of | |
2060 | matrix and vector functions. | |
2061 | (lambda_vector_mult_const): New function. | |
2062 | (lambda_vector_negate): Ditto. | |
2063 | (lambda_vector_add): Ditto. | |
2064 | (lambda_vector_add_mc): Ditto. | |
2065 | (lambda_vector_copy): Ditto. | |
2066 | (lambda_vector_zerop): Ditto. | |
2067 | (lambda_vector_equal): Ditto. | |
2068 | (lambda_vector_min_nz): Ditto. | |
2069 | (lambda_vector_first_nz): Ditto. | |
2070 | (lambda_vector_matrix_mult): Ditto. | |
2071 | * lambda-mat.c: New file. | |
2072 | * Makefile.in (lambda-mat.o): New. | |
2073 | ||
68b9f53b AM |
2074 | 2004-08-10 Andrew MacLeod <amacleod@redhat.com> |
2075 | ||
2076 | * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt | |
2077 | after linking stmt into the program. | |
2078 | (bsi_remove): Don't call modify_stmt. | |
6f4a43e0 | 2079 | * tree-complex.c (update_complex_assignment, |
68b9f53b | 2080 | expand_complex_comparison): Call modify_stmt after changing the stmt. |
6f4a43e0 | 2081 | * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not |
68b9f53b AM |
2082 | removing the stmt. |
2083 | * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing | |
2084 | the stmt, and only if needed. | |
2085 | * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy | |
2086 | expression. | |
2087 | (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param. | |
2088 | (simplify_cond_and_lookup_avail_expr): Use modify_stmt. | |
2089 | (simplify_switch_and_lookup_avail_expr): Don't take an annotation param. | |
6f4a43e0 | 2090 | (eliminate_redundant_computations): Don't pass an annotation. Call |
68b9f53b AM |
2091 | modify_stmt rather than setting the annotation directly. |
2092 | (record_equivalences_from_stmt): Remove unused local 'j'. | |
2093 | (cprop_operand): Take a stmt rather than an annotation as a parameter. | |
2094 | Call modify_stmt. | |
2095 | (cprop_into_stmt): Pass stmt rather than annotation. | |
2096 | (update_rhs_and_lookup_avail_expr): Call modify_stmt. | |
6f4a43e0 | 2097 | * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than |
68b9f53b AM |
2098 | modify_stmt. |
2099 | * tree-ssa.c (propagate_into_addr): Dont call modify_stmt. | |
2100 | ||
01c98570 JM |
2101 | 2004-08-10 Jason Merrill <jason@redhat.com> |
2102 | ||
6c9c4526 | 2103 | PR middle-end/16948 |
01c98570 JM |
2104 | * function.c (expand_function_start): Handle DECL_BY_REFERENCE on |
2105 | the RESULT_DECL. | |
2106 | ||
b2ddaebb GK |
2107 | 2004-08-10 Geoffrey Keating <geoffk@apple.com> |
2108 | ||
2109 | * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the | |
2110 | hash function. | |
2111 | ||
23657388 RS |
2112 | 2004-08-10 Roger Sayle <roger@eyesopen.com> |
2113 | ||
2114 | * config/mips/mips.md: New reciprocal square root patterns that | |
2115 | match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns. | |
2116 | ||
c9ca9b88 PB |
2117 | 2004-08-10 Paul Brook <paul@codesourcery.com> |
2118 | ||
2119 | * config/arm/arm-protos.h (arm_set_return_address, | |
2120 | thumb_set_return_address): Add prototypes. | |
2121 | * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove. | |
2122 | * config/arm/arm.c (arm_compute_func_type, | |
2123 | use_return_insn, arm_compute_save_reg0_reg12_mask, | |
2124 | arm_compute_save_reg_mask, arm_output_function_prologue, | |
2125 | arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with | |
2126 | current_function_calls_eh_return. | |
2127 | (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace | |
2128 | old eh code. | |
2129 | (arm_set_return_address, thumb_set_return_address): New functions. | |
2130 | * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO, | |
2131 | ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define. | |
2132 | * config/arm/arm.md (VUNSPEC_EH_RETURN): Add. | |
2133 | (epilogue): Use the stackadj register. | |
2134 | (eh_return, arm_eh_return, thumb_eh_return): New pattern. | |
2135 | ||
45d78e7f JJ |
2136 | 2004-08-10 Jakub Jelinek <jakub@redhat.com> |
2137 | ||
2138 | PR target/3144 | |
2139 | * expr.c (move_by_pieces_ninsns): Add max_size argument. | |
2140 | (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it. | |
2141 | (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it. | |
2142 | (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P, | |
2143 | but using MOVE_RATIO. | |
2144 | (move_by_pieces): Pass max_size to move_by_pieces_ninsns. | |
2145 | (can_store_by_pieces): Change max_size type to unsigned int. | |
2146 | (store_by_pieces_1): Likewise. Pass max_size to | |
2147 | move_by_pieces_ninsns. | |
2148 | * config/s390/s390.h (STORE_BY_PIECES_P): Define. | |
2149 | * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 | |
2150 | to move_by_pieces_ninsns. | |
2151 | (STORE_BY_PIECES_P): Define. | |
2152 | * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 | |
2153 | to move_by_pieces_ninsns. | |
2154 | * doc/tm.texi (STORE_BY_PIECES_P): Document changed default. | |
2155 | ||
2156 | * config/i386/i386.h (CLEAR_RATIO): Define. | |
2157 | ||
25f3e06c PB |
2158 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> |
2159 | ||
2160 | * expr.c (expand_expr_real_1): Add back code that was not dead. | |
2161 | ||
6a3203c8 AP |
2162 | 2004-08-09 Andrew Pinski <apinski@apple.com> |
2163 | ||
2164 | * c-common.c (c_common_get_alias_set): Set the aliasing set of the type | |
2165 | which is found to be compatible before returning the aliasing set. | |
2166 | ||
b9bfca81 DJ |
2167 | 2004-08-09 Daniel Jacobowitz <dan@debian.org> |
2168 | ||
2169 | * ggc-zone.c (struct alloc_zone): Add statistics counters. | |
2170 | (always_collect): New flag. | |
2171 | (ggc_alloc_zone_1): Update statistics support. Don't include | |
2172 | overhead in allocated counter. | |
2173 | (sweep_pages): Update allocated counter for large pages. Don'y | |
2174 | include overhead. | |
2175 | (ggc_collect_1): Always collect. | |
2176 | (ggc_collect): Honor always_collect flag. Sum all zones to decide | |
2177 | whether to collect. | |
2178 | (SCALE, LABEL): New macros. | |
2179 | (ggc_print_statistics): Add statistics support. | |
2180 | ||
fdded401 RS |
2181 | 2004-08-09 Roger Sayle <roger@eyesopen.com> |
2182 | ||
2183 | * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool. | |
2184 | (init_expmed): Fix potential overrun problem with "all.reg". | |
2185 | (expand_sdiv2_pow2): Add an alternate implementation for signed | |
2186 | division, if the target provides a suitable conditional move insn. | |
2187 | ||
9d8646d7 PB |
2188 | 2004-08-09 Paul Brook <paul@codesourcery.com> |
2189 | Richard Henderson <rth@redhat.com> | |
2190 | ||
2191 | * unwind-dw2.c (uw_install_context_1): Update target saved stack | |
2192 | pointer. | |
2193 | ||
d37e6b50 GK |
2194 | 2004-08-09 Geoffrey Keating <geoffk@apple.com> |
2195 | ||
2196 | * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit. | |
2197 | Check DATA limit only if there's no AS limit. Ignore insanely | |
2198 | low DATA limits. | |
2199 | (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8, | |
2200 | but take care that the AS limit isn't overrun. | |
2201 | * doc/invoke.texi: Update documentation of min-heapsize parameter. | |
2202 | ||
56b043c8 JL |
2203 | 2004-08-09 Jeff Law <law@redhat.com> |
2204 | ||
2205 | * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c | |
2206 | (tree-ssa-threadupdate.o): Add dependencies. | |
2207 | * tree-ssa-threadupdate.c: New file. | |
2208 | * tree-flow.h (incoming_edge_threaded): New flag in block annotation. | |
2209 | (rewrite_vars_out_of_ssa): Remove prototype. | |
2210 | (cleanup_tree_cfg): Returns a bool. | |
2211 | * tree.h (thread_through_all_blocks): Prototype. | |
2212 | * tree-outof-ssa.c (SSANORM_*): Move into here. | |
2213 | (remove_ssa_form): Now static. | |
2214 | (rewrite_vars_out_of_ssa): Kill. | |
2215 | * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill. | |
2216 | * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c. | |
2217 | (remove_ssa_form, register_partitions_for_vars): Kill declarations. | |
2218 | * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if | |
2219 | anything was changed. | |
2220 | * tree-phinodes.c (add_phi_arg): Get the block for the PHI | |
2221 | from the PHI's annotation rather than the edge associated with | |
2222 | the new argument. | |
2223 | * tree-ssa-dom.c (redirection_edges): Kill. | |
2224 | (redirect_edges_and_update_ssa_graph): Kill. | |
2225 | (tree_ssa_dominator_optimize): Do not reset forwardable flag | |
2226 | for blocks anymore. Do not initialize redirection_edges. | |
2227 | Call thread_through_all_blocks. Simplify code for cleanup | |
2228 | of the CFG and iterating. No longer call cleanup_tree_cfg | |
2229 | outside the iteration loop. | |
2230 | (thread_across_edge): No longer mess with forwardable blocks. | |
2231 | ||
9b305d55 ZW |
2232 | 2004-08-09 Zack Weinberg <zack@codesourcery.com> |
2233 | ||
2234 | * explow.c (memory_address): Use memory_address_p. | |
2235 | * recog.c (general_operand): Likewise. | |
2236 | * regrename.c: No need to define REG_OK_STRICT. | |
2237 | ||
27fb79ad SB |
2238 | 2004-08-09 Steven Bosscher <stevenb@suse.de> |
2239 | ||
2240 | * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM): | |
2241 | New timers. | |
2242 | * gcse.c: Include timevar.h. | |
2243 | (const_prop_count, copy_prop_count): Rename to global_const_prop_count | |
2244 | and global_copy_prop_count. | |
2245 | (local_const_prop_count, local_copy_prop_count): New static globals. | |
2246 | (gcse_main): Set the right timevar for each pass. | |
2247 | (cprop_jump): Increment global_const_prop_count when a constant is | |
2248 | propagated. Add "GLOBAL" to dump output. | |
2249 | (cprop_insn): Increment global_const_prop_count when a constant is | |
2250 | propagated, or global_copy_prop_count when a copy is propagated. | |
2251 | (do_local_cprop): Likewise for local_const_prop_count and | |
2252 | local_copy_prop_count. | |
2253 | (one_cprop_pass): Initialize const/cprop counters to zero. | |
2254 | Print out results of local and global const/cprop separately. | |
2255 | (bypass_block): Break over-length line. | |
702d4b73 SB |
2256 | * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies |
2257 | for bb-reorder.o and tracer.o. | |
27fb79ad | 2258 | |
7efcb746 PB |
2259 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> |
2260 | ||
2261 | * Makefile.in (GTFILES): Remove stmt.c | |
2262 | (stmt.o): Do not depend on gt-stmt.h. | |
2263 | * emit-rtl.c (emit_line_note): Do not call | |
2264 | set_file_and_line_for_stmt. | |
2265 | * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case | |
2266 | do everything. | |
2267 | * function.c (free_after_parsing): Do not free STMT field. | |
2268 | (allocate_struct_function): Do not call init_stmt_for_function. | |
2269 | (assign_stack_temp_for_type): Do not accept values of keep | |
2270 | other than 0 or 1. | |
2271 | (init_temp_slots): Do not initialize removed variables. | |
2272 | * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL | |
2273 | and X_VAR_TEMP_SLOT_LEVEL fields. | |
2274 | * rtl.h (set_file_and_line_for_stmt): Remove. | |
2275 | * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK, | |
2276 | struct stmt_status, cond_stack, case_stack, nesting_stack, | |
2277 | nesting_depth, emit_locus, set_file_and_line_for_stmt, | |
2278 | same_case_target_p, init_stmt_for_function, emit_nop, | |
2279 | expand_start_cond, expand_start_elseif, expand_start_else, | |
2280 | expand_elseif, expand_end_cond): Remove. | |
2281 | (preserve_subexpressions_p): Remove references to CFUN->STMT. | |
2282 | (expand_start_case, expand_end_case_type): Remove, merge into... | |
2283 | (expand_case): ... this one, including other bits from | |
2284 | expand_expr_real_1. Inline same_case_target_p. Turn members | |
2285 | of CASE_STACK into local variables. | |
2286 | (emit_case_bit_tests): Inline same_case_target_p. | |
2287 | (add_case_node): Add HEAD argument, return new head of the list, | |
2288 | do not handle default label here. | |
2289 | * tree.h (expand_start_cond, expand_end_cond, expand_start_else, | |
2290 | expand_start_elseif, current_nesting_level, expand_start_case, | |
2291 | expand_end_case_type, expand_end_case, add_case_node, | |
2292 | init_stmt_for_function, expand_elseif): Remove prototypes. | |
2293 | (expand_case): Add prototype. | |
2294 | ||
c4d70ce3 PB |
2295 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> |
2296 | ||
2297 | * expr.c (expand_expr_real_1): Use optab_for_tree_code. | |
2298 | ||
2299 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> | |
e5bacf32 PB |
2300 | |
2301 | * expr.c (var_rtx): Remove. | |
2302 | (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR, | |
2303 | LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR, | |
2304 | TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>: | |
2305 | Abort. | |
2306 | (expand_expr_real_1) <COND_EXPR>: Remove most special cases. | |
2307 | * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove. | |
2308 | * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove. | |
2309 | ||
d72372e4 MH |
2310 | 2004-08-08 Mostafa Hagog <mustafa@il.ibm.com> |
2311 | Ayal Zaks <zaks@il.ibm.com> | |
2312 | ||
2313 | * common.opt (freschedule-modulo-scheduled-loops): New flag. | |
2314 | * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK. | |
2315 | * modulo-sched.c (sms_schedule): Emit a note to disable scheduling | |
2316 | when -freschedule-modulo-scheduled-loops flag is not specified. | |
2317 | (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps, | |
2318 | add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts): | |
2319 | More accurate placing of insn in row of partial schedule. | |
2320 | (ps_insn_find_column): New function. | |
2321 | * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note. | |
2322 | * sched-rgn.c (sched_is_disabled_for_current_region_p): New. | |
2323 | (schedule_region): Use sched_is_disabled_for_current_region_p. | |
2324 | * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops. | |
2325 | ||
0737fbff L |
2326 | 2004-08-07 H.J. Lu <hongjiu.lu@intel.com> |
2327 | ||
2328 | * config/i386/i386.c (ix86_expand_clrmem): Revert the last | |
2329 | change. | |
2330 | ||
11c4576f L |
2331 | 2004-08-07 H.J. Lu <hongjiu.lu@intel.com> |
2332 | ||
2333 | * config/i386/i386.c (ix86_expand_clrmem): Properly call | |
2334 | gen_strset for 64bit target. | |
2335 | ||
34def210 OH |
2336 | 2004-08-07 Olivier Hainque <hainque@act-europe.fr> |
2337 | ||
2338 | * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition. | |
2339 | ||
5201931e JM |
2340 | 2004-08-07 Jason Merrill <jason@redhat.com> |
2341 | ||
cc77ae10 JM |
2342 | Make return in memory explicit. |
2343 | * function.c (aggregate_value_p): Check DECL_BY_REFERENCE. | |
2344 | (assign_parm_find_data_types): Remove code for old front end | |
2345 | invisible reference handling. | |
2346 | (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL. | |
2347 | (expand_function_end): Likewise. | |
2348 | * gimplify.c (gimplify_return_expr): Handle a dereferenced | |
2349 | RESULT_DECL. | |
2350 | * tree-inline.c (copy_body_r): Don't bother looking for &* anymore. | |
2351 | (declare_return_variable): Handle DECL_BY_REFERENCE. | |
2352 | * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL. | |
2353 | (cp_genericize_r): Use convert_from_reference. | |
2354 | Don't dereference a RESULT_DECL directly inside a RETURN_EXPR. | |
2355 | (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE. | |
2356 | ||
5201931e JM |
2357 | * c-common.c (c_warn_unused_result): Check TREE_USED before |
2358 | warning about a CALL_EXPR with an unused value. | |
2359 | ||
2ed9e527 MM |
2360 | 2004-08-06 Mark Mitchell <mark@codesourcery.com> |
2361 | ||
2362 | * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options | |
2363 | to the compiler. Use -fshort-wchar by default. | |
2364 | ||
12183e0f PH |
2365 | 2004-08-06 Pat Haugen <pthaugen@us.ibm.com> |
2366 | ||
2367 | * params.def (PARAM_MIN_CROSSJUMP_INSNS): New. | |
2368 | * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match | |
2369 | threshhold. | |
2370 | * doc/invoke.texi (param): Document min-crossjump-insns. | |
2371 | ||
eaac4679 RS |
2372 | 2004-08-06 Richard Sandiford <rsandifo@redhat.com> |
2373 | ||
2374 | PR c/13282 | |
2375 | * c.opt (Wmissing-field-initializers): New option. | |
2376 | * c-opts.c (c_common_post_options): Make -Wextra turn it on by default. | |
2377 | * c-typeck.c (pop_init_level): Guard the missing field warning with | |
2378 | warn_missing_field_initializers rather than extra_warnings. | |
2379 | * doc/invoke.texi (-Wmissing-field-initializers): Document, moving | |
2380 | some of the explanation from... | |
2381 | (-Wextra): ...here. Say that the missing field warning can be | |
2382 | seperately controlled by -Wmissing-field-initializers. | |
2383 | ||
caad9f81 PB |
2384 | 2004-08-06 Paolo Bonzini <bonzini@gnu.org> |
2385 | ||
2386 | * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove. | |
2387 | * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove. | |
2388 | * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove. | |
2389 | * tree.def (ENTRY_VALUE_EXPR): Remove. | |
2390 | ||
6b32b628 JJ |
2391 | 2004-08-06 Jakub Jelinek <jakub@redhat.com> |
2392 | ||
2393 | * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to | |
2394 | the places where it is actually needed. Don't use repz; stosb | |
2395 | for -Os with sufficiently small constant sizes. | |
2396 | For sufficiently small repz; stos{l,q} repeat counts use a sequence | |
2397 | of stos{l,q} instructions instead. | |
2398 | ||
6797f908 ZD |
2399 | 2004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
2400 | ||
2401 | PR tree-optimization/16807 | |
2402 | * loop-iv.c (dump_iv_info): Dump invariants correctly. | |
2403 | (iv_subreg, iv_extend): Express value of invariant purely in | |
2404 | base field. | |
2405 | ||
866cf037 MM |
2406 | 2004-08-06 Mark Mitchell <mark@codesourcery.com> |
2407 | ||
2408 | * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums. | |
2409 | (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC. | |
2410 | ||
9652c531 | 2411 | 2004-08-06 Roman Zippel <zippel@linux-m68k.org> |
9b305d55 | 2412 | |
27fb79ad SB |
2413 | * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New. |
2414 | * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand, | |
2415 | pre_dec_operand. | |
2416 | * config/m68k/m68k.md (zero_extend*2): delay the splitting of the | |
2417 | pattern until reload is finished to allow better code generation | |
2418 | and split them completely into separate instrunctions. | |
2419 | (*andsi3_split): New pattern. | |
9652c531 | 2420 | |
b2ca3702 MM |
2421 | 2004-08-05 Mark Mitchell <mark@codesourcery.com> |
2422 | ||
2423 | * tree.c (handle_dll_attribute): Move here from i383/winnt.c. | |
2424 | Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set | |
2425 | DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. | |
2426 | * tree.h (handle_dll_attribute): Declare. Test | |
2427 | TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. | |
2428 | * c-common.h (c_determine_visibility): Declare. | |
2429 | * c-common.c (c_determine_visibility): New function. | |
2430 | * c-decl.c (finish_decl): Use it. | |
2431 | (finish_function): Likewise. | |
2432 | * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to | |
2433 | zero, by default. Use #if, not #ifdef, to test it. | |
2434 | * config/arm/arm.c (arm_attribute_table): Use | |
2435 | handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with | |
2436 | #if. | |
2437 | * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1. | |
2438 | * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define | |
2439 | to 1. | |
2440 | * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove. | |
2441 | * config/i386/i386.c (ix86_attribute_table): Use | |
2442 | handle_dll_attribute for dllimport/dllexport. Test | |
2443 | TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. | |
2444 | * config/i386/winnt.c (ix86_handle_dll_attribute): Remove. | |
2445 | * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define | |
2446 | it to 1. | |
2447 | * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it | |
2448 | with #if. | |
2449 | * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define | |
2450 | it to 1. | |
2451 | * doc/extend.texi (dllexport): Clarify and correct documentation. | |
2452 | (dllimport): Likewise. | |
2453 | * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention | |
2454 | handle_dll_attribute. | |
9b305d55 | 2455 | |
c913f08a ZD |
2456 | 2004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
2457 | ||
2458 | * tree-ssa-loop-manip.c: New file. | |
2459 | * Makefile.in (tree-ssa-loop-manip.o): Add. | |
2460 | * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): | |
2461 | Declare. | |
2462 | * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa | |
2463 | form. | |
2464 | (tree_ssa_loop_done): Verify loop closed ssa form. | |
2465 | * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form. | |
2466 | ||
d4482715 JDA |
2467 | 2004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2468 | ||
2469 | * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common, | |
2470 | pa_asm_output_aligned_local): New functions. | |
2471 | * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss, | |
2472 | pa_asm_output_aligned_common and pa_asm_output_aligned_local. | |
2473 | * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use | |
2474 | pa_asm_output_aligned_common. | |
2475 | (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. | |
2476 | * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro. | |
2477 | (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. | |
2478 | (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. | |
2479 | * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro. | |
2480 | (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. | |
2481 | (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. | |
2482 | * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global | |
2483 | common data. | |
2484 | ||
21149a79 AP |
2485 | 2004-08-05 Andrew Pinski <apinski@apple.com> |
2486 | ||
2487 | * objc/objc-act.c (build_objc_string_object): Mark the address | |
2488 | expression as constant. | |
2489 | ||
d5861a7a DE |
2490 | 2004-08-05 David Edelsohn <edelsohn@gnu.org> |
2491 | ||
2492 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand | |
2493 | and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle | |
2494 | SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns. | |
2495 | ||
0a2b72a6 JM |
2496 | 2004-08-05 Joseph S. Myers <jsm@polyomino.org.uk> |
2497 | ||
2498 | * config/linux.h, config/i386/linux.h, config/sparc/linux.h: | |
2499 | Remove definitions conditioned on USE_GNULIBC_1 or conditioned | |
2500 | out, and associated obsolete comments. | |
2501 | ||
ca7a3bd7 NS |
2502 | 2004-08-05 Nathan Sidwell <nathan@codesourcery.com> |
2503 | ||
2504 | * tree.h (force_fit_type): Return a tree, take three flags. | |
2505 | * fold-const.c (force_fit_type): Set TREE_OVERFLOW and | |
2506 | TREE_CONSTANT_OVERFLOW here. | |
2507 | (int_const_binop, const_binop): Adjust. | |
2508 | (size_int_type): Do sign extension here. | |
2509 | (fold_convert_const, optimize_bit_field_compare, | |
2510 | decode_field_reference, all_ones_mask_p, fold_div_compare, fold, | |
2511 | fold_negate_const, fold_abs_const, fold_not_const): Adjust. | |
2512 | * tree.c (size_in_bytes, int_fits_type_p): Adjust. | |
2513 | ||
d36837f4 ZD |
2514 | 2004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
2515 | ||
2516 | PR tree-optimization/16864 | |
2517 | * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes | |
2518 | for ssa names without default_def. | |
2519 | ||
ea5f7a19 RS |
2520 | 2004-08-05 Richard Sandiford <rsandifo@redhat.com> |
2521 | ||
2522 | * config/i386/i386.c (ix86_expand_prologue): If the function uses a | |
2523 | frame pointer, restore eax with an ebp-relative address. | |
2524 | ||
0e6df31e GK |
2525 | 2004-08-04 Geoffrey Keating <geoffk@apple.com> |
2526 | ||
2527 | PR 14516 | |
2528 | * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs. | |
2529 | * c-common.h (make_rtl_for_local_static): Delete. | |
2530 | * c-decl.c (shadow_tag_warned): Clean up comment. | |
2531 | (finish_decl): Clean up spacing. Use set_user_assembler_name when | |
2532 | appropriate. Don't pass asmspec to rest_of_decl_compilation. | |
2533 | * c-semantics.c (make_rtl_for_local_static): Delete. | |
2534 | * expr.c (init_block_move_fn): Use set_user_assembler_name. | |
2535 | (init_block_clear_fn): Likewise. | |
2536 | * passes.c (rest_of_decl_compilation): Remove asmspec parameter, | |
2537 | expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files. | |
2538 | * toplev.h (rest_of_decl_compilation): Remove asmspec parameter. | |
2539 | * tree.h (make_decl_rtl): Remove second parameter. | |
2540 | (set_user_assembler_name): New. | |
2541 | * varasm.c (set_user_assembler_name): New. | |
2542 | (make_decl_rtl): Remove second parameter. Update callers in many | |
2543 | files. | |
2544 | ||
4f587cb0 AN |
2545 | 2004-08-05 Adam Nemet <anemet@lnxw.com> |
2546 | ||
2547 | * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0. | |
2548 | (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update | |
2549 | to LynxOS 4.0. | |
2550 | * gthr-lynx.h: New file. | |
2551 | * config/lynx-ng.h: Remove file. | |
2552 | * config/lynx.h: Update to LynxOS 4.0. | |
2553 | * config/t-lynx: New file. | |
2554 | * config/i386/lynx-ng.h: Remove file. | |
2555 | * config/i386/lynx.h: Update to LynxOS 4.0. | |
2556 | * config/rs6000/lynxbase.h: Remove file. | |
2557 | * config/rs6000/lynx.h: Update to LynxOS 4.0. | |
2558 | * config/rs6000/t-lynx: New file. | |
2559 | * doc/install.texi (Options specification): Remove reference to | |
2560 | LynxOS from systems where --with-gnu-as makes a difference. | |
2561 | ||
85291069 JM |
2562 | 2004-08-05 Joseph S. Myers <jsm@polyomino.org.uk> |
2563 | ||
2564 | * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and | |
2565 | __UINTMAX_TYPE__. | |
2566 | * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define | |
2567 | __INTMAX_MAX__. | |
2568 | (c_cpp_builtins): Call it. | |
2569 | * doc/cpp.texi: Update. | |
2570 | ||
30a555d9 DE |
2571 | 2004-08-04 David Edelsohn <edelsohn@gnu.org> |
2572 | ||
2573 | * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero | |
2574 | cost. | |
2575 | ||
878f99d2 JH |
2576 | 2004-08-04 Jan Hubicka <jh@suse.cz> |
2577 | ||
2578 | * basic-block.h (profile_staus): New global variable. | |
2579 | * cfg.c (profile_status): Declare. | |
2580 | (check_bb_profile): Break out from ....; use profile_status | |
2581 | (dump_flow_info): ... here. | |
2582 | * cfgbuild.c (find_basic_blocks): Set profile_status. | |
2583 | * cfgexpand.c (tree_expand_cfg): Likewise. | |
2584 | * predict.c (estimate_probability): Likewise. | |
2585 | * profile.c (branch_prob): Likewise. | |
2586 | * tree-cfg.c (build_tree_cfg): Likewise. | |
2587 | (dump_function_to_file): Use check_bb_profile. | |
2588 | * tree-pretty-print (dump_bb_header): Likewise. | |
2589 | * tree-profile.c (do_tree_profiling): Cleanup. | |
2590 | ||
7e7ec48e ZW |
2591 | 2004-08-04 Zack Weinberg <zack@codesourcery.com> |
2592 | ||
2593 | * Makefile.in (RTL_BASE_H, RTL_H): Correct. | |
2594 | (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o. | |
2595 | (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o. | |
2596 | (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o) | |
2597 | (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o) | |
2598 | (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o) | |
2599 | (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H). | |
2600 | (ggc-none.o, errors.o): Move rule to generators section; | |
2601 | correct dependencies. | |
2602 | (min-insn-modes.o): Move rule to generators section; remove | |
2603 | unnecessary explicit command; correct dependencies. | |
2604 | (print-rtl.o, print-rtl1.o): Correct dependencies. | |
2605 | ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule. | |
2606 | (mostlyclean): Update. | |
2607 | ||
2608 | * errors.c: Include bconfig.h not config.h. Correct comment. | |
2609 | * gengtype.c, genpreds.c: Don't define NO_GENRTL_H. | |
2610 | * ggc-none.c: Include bconfig.h; not config.h or tm.h. | |
2611 | * print-rtl.c: Don't include tm_p.h. | |
2612 | ||
2613 | * rtl.h: Move forward-decl of struct function down where it's | |
2614 | needed. Include genrtl.h #ifndef GENERATOR_FILE, not | |
2615 | #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements. | |
2616 | ||
b0382c67 ZD |
2617 | 2004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
2618 | Jeff Law <law@redhat.com> | |
2619 | ||
2620 | * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions. | |
2621 | * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed. | |
2622 | * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to | |
2623 | manipulate the duplicated ssa names. | |
2624 | * tree-ssanames.c (ssa_names_to_rewrite): New variable. | |
2625 | (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite, | |
2626 | unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force): | |
2627 | New functions. | |
2628 | (release_ssa_name): Do not release ssa names that may have multiple | |
2629 | definitions. | |
2630 | * tree.h (release_ssa_name_force, mark_for_rewrite, | |
2631 | unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p, | |
2632 | marked_ssa_names): Declare. | |
2633 | * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove. | |
2634 | (duplicate_blocks): Remove call to mark_defs_for_rewrite. | |
2635 | Update call to rewrite_ssa_into_ssa. | |
2636 | ||
63c5b495 MM |
2637 | 2004-08-04 Mark Mitchell <mark@codesourcery.com> |
2638 | ||
2639 | * defaults.h (TARGET_DECLSPEC): New macro. | |
2640 | * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC. | |
2641 | * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support. | |
b2ca3702 | 2642 | * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define. |
63c5b495 MM |
2643 | * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove |
2644 | __declspec support. | |
2645 | (TARGET_DECLSPEC): Define. | |
2646 | * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove | |
2647 | __declspec support. | |
2648 | * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove | |
2649 | __declspec support. | |
2650 | (TARGET_DECLSPEC): Define. | |
2651 | * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove | |
2652 | __declspec support. | |
2653 | * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec | |
2654 | support. | |
2655 | * doc/tm.texi (TARGET_DECLSPEC): Document. | |
2656 | ||
2657 | * doc/extend.texi: Fix typo in comment. | |
2658 | ||
44d10c10 PB |
2659 | 2004-08-04 Paul Brook <paul@codesourcery.com> |
2660 | ||
2661 | * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define. | |
2662 | (TARGET_CXX): Use it. | |
2663 | * target.h (struct gcc_target): Add cdtor_returns_this. | |
2664 | * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function. | |
2665 | (TARGET_CXX_CDTOR_RETURNS_THIS): Define. | |
2666 | * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS. | |
2667 | ||
5e9754af NS |
2668 | 2004-08-03 Nathan Sidwell <nathan@codesourcery.com> |
2669 | ||
2670 | * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take | |
2671 | low/high pair. Do range checking directly. | |
2672 | (interpret_integer): Adjust. | |
2673 | ||
2acc29bd NC |
2674 | 2004-08-04 Nick Clifton <nickc@redhat.com> |
2675 | ||
2676 | * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the | |
2677 | GCC ABI. | |
2678 | * doc/invoke.texi: Document this new switch and also the -mrenesas | |
2679 | switch. | |
2680 | ||
2496942a NS |
2681 | 2004-08-04 Nathan Sidwell <nathan@codesourcery.com> |
2682 | ||
2683 | * cfglayout.c (insn_locators_initialize): Update the current | |
2684 | location before initializing a location. | |
2685 | ||
7e2e8179 ZW |
2686 | 2004-08-03 Zack Weinberg <zack@codesourcery.com> |
2687 | ||
403f8503 ZW |
2688 | * dbxout.c (dbxout_function_decl): Always call dbxout_function_end. |
2689 | (dbxout_function_end): Return after emitting the "Lscope" symbol | |
2690 | under the same conditions that this function formerly wasn't called. | |
2691 | Add explanatory comments. | |
2692 | ||
bcc7f708 | 2693 | PR 14860 |
ca043393 ZW |
2694 | * c-decl.c (record_builtin_type): Call debug_hooks->type_decl |
2695 | on the new decl. | |
2696 | ||
bcc7f708 | 2697 | PR 13956 |
7e2e8179 ZW |
2698 | * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New |
2699 | functions, broken out of dbxout_block. | |
2700 | (dbxout_block): The block at depth 0 should get LBRAC/RBRAC | |
2701 | stabs too, if it contains symbols. Use the begin_label and | |
2702 | the Lscope label (emitted by dbxout_function_end) for the | |
2703 | range of this block. | |
2704 | ||
5d75ba94 NN |
2705 | 2004-08-03 Nathanael Nerode <neroden@gcc.gnu.org> |
2706 | ||
2707 | * doc/install.texi: Update autoconf version requirements. | |
2708 | ||
2e4e72b1 ZW |
2709 | 2004-08-03 Zack Weinberg <zack@codesourcery.com> |
2710 | ||
2711 | * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition. | |
2712 | * recog.c (general_operand, immediate_operand, nonmemory_operand) | |
2713 | (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P. | |
2714 | * regclass.c (record_reg_classes): Likewise. | |
2715 | * reload.c (find_reloads): Likewise. | |
2716 | * reload1.c (reload): Likewise. | |
2717 | ||
f9942f4e ZW |
2718 | 2004-08-03 Zack Weinberg <zack@codesourcery.com> |
2719 | ||
2720 | * gensupport.c (init_md_reader_args_cb): Renamed from | |
2721 | init_md_reader_args. Add third option, callback function for | |
2722 | parsing program-specific options. Add diagnosis of incorrect | |
2723 | number of input files. | |
2724 | (init_md_reader): Fold into init_md_reader_args_cb. | |
2725 | (init_md_reader_args): Now a thin wrapper around | |
2726 | init_md_reader_args_cb. | |
2727 | * gensupport.h: Update prototypes. | |
2728 | ||
2729 | * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c | |
2730 | * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c | |
2731 | * genrecog.c: No need to diagnose lack of an input file; | |
2732 | init_md_reader_args will handle it. | |
2733 | * genconditions.c: Likewise, and use init_md_reader_args. | |
2734 | * genconstants.c: Likewise, and no need to call read_md_rtx. | |
2735 | ||
9cbe78fb JM |
2736 | 2004-08-03 Joseph S. Myers <jsm@polyomino.org.uk> |
2737 | ||
2738 | * c-decl.c (implicitly_declare): Diagnose incompatible implicit | |
2739 | declarations. | |
2740 | ||
3e558e80 MS |
2741 | 2004-08-03 Mike Stump <mrs@apple.com> |
2742 | ||
2743 | * config/darwin-c.c: Don't search in "/Local/Library/Frameworks" | |
2744 | for frameworks. | |
2745 | * doc/invoke.texi (Darwin Options): Update to reflect above. | |
2746 | ||
a0fac73d RS |
2747 | 2004-08-03 Roger Sayle <roger@eyesopen.com> |
2748 | ||
2749 | PR middle-end/16790 | |
2750 | * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local | |
2751 | truncations, not just global truncations. | |
2752 | ||
cddbddb7 AP |
2753 | 2004-08-03 Andrew Pinski <apinski@apple.com> |
2754 | ||
2755 | PR bootstrap/16865 | |
2756 | * loop-iv.c (simplify_using_assignment): Initialize lhs. | |
2757 | ||
bebf829d PB |
2758 | 2004-08-03 Paul Brook <paul@codesourcery.com> |
2759 | ||
2760 | * gcc/doc/install.texi: Document MPFR requirement. | |
2761 | ||
cddbddb7 | 2762 | 2004-08-03 Maciej W. Rozycki <macro@linux-mips.org> |
3b0727a0 | 2763 | |
f9942f4e ZW |
2764 | * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h> |
2765 | and mmap() explicitly instead of relying on preset autoconf cache | |
3b0727a0 MR |
2766 | variables. |
2767 | * configure: Regenerate. | |
2768 | ||
f6bc51cb L |
2769 | 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> |
2770 | ||
2771 | PR target/16570 | |
2772 | * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc | |
2773 | to tmake_file. | |
2774 | (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise. | |
2775 | (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc | |
2776 | to tmake_file. | |
2777 | ||
2778 | * config/i386/t-gmm_malloc: New file. | |
2779 | * config/i386/t-pmm_malloc: Likewise. | |
f9942f4e | 2780 | |
f6bc51cb L |
2781 | * config/i386/xmmintrin.h: Include <mm_malloc.h>. |
2782 | ||
2783 | 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> | |
19114537 | 2784 | Tanguy FautrÃ? <tfautre@pandora.be> |
f6bc51cb L |
2785 | |
2786 | * config/i386/pmm_malloc.h: New file. | |
2787 | ||
2788 | 2004-08-03 Danny Smith <dannysmith@users.sourceforge.net> | |
2789 | ||
2790 | * config/i386/gmm_malloc.h: New file. | |
2791 | ||
d974312d DJ |
2792 | 2004-08-03 Dale Johannesen <dalej@apple.com> |
2793 | ||
2794 | * config/rs6000/rs6000.c (machopic_output_stub): Align Darwin stubs. | |
2795 | * c-common.c: Include opts.h. | |
f9942f4e | 2796 | (c_common_get_alias_set): Fix check for a single input file. |
d974312d DJ |
2797 | * toplev.c: Remove current_file_decl. |
2798 | * tree.h: Ditto. | |
2799 | ||
3fc1f660 MM |
2800 | 2004-08-03 Mark Mitchell <mark@codesourcery.com> |
2801 | ||
336bd6ac MM |
2802 | * config.gcc (arm*-*-symbianelf*): New target. |
2803 | * config/arm/symbian.h: New file. | |
2804 | ||
3fc1f660 MM |
2805 | * gthr-gnat.c: Add visibility #pragmas. |
2806 | * gthr-gnat.h : Likewise. | |
2807 | * gthr.h: Likewise. | |
2808 | * libgcc2.c (__ffsSI2): Move prototype to libgcc2.h. | |
2809 | (__ffsDI2): Likewise. | |
2810 | (__clzSI2): Likewise. | |
2811 | (__ctzSI2): Likewise. | |
2812 | (__ctzDI2): Likewise. | |
2813 | (__popcountSI2): Likewise. | |
2814 | (__popcountDI2): Likewise. | |
2815 | (__paritySI2): Likewise. | |
2816 | (__parityDI2): Likewise. | |
2817 | * libgcc2.h: Add visibility #pragmas. | |
2818 | (__clzDI2): Add prototype. | |
2819 | (__clzSI2): Likewise. | |
2820 | (__ctzSI2): Likewise. | |
2821 | (__ffsDI2): Likewise. | |
2822 | (__ffsSI2): Likewise. | |
2823 | (__ctzDI2): Likewise. | |
2824 | (__popcountSI2): Likewise. | |
2825 | (__popcountDI2): Likewise. | |
2826 | (__paritySI2): Likewise. | |
2827 | (__parityDI2): Likewise. | |
2828 | * unwind-dw2-fde.h: Add visibility #pragmas. | |
2829 | * unwind.h: Likewise. | |
2830 | ||
066cd967 DE |
2831 | 2004-08-03 David Edelsohn <edelsohn@gnu.org> |
2832 | Dale Johannesen <dalej@apple.com> | |
2833 | Roger Sayle <roger@eyesopen.com> | |
2834 | ||
2835 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost of | |
2836 | constants more accurately. Adjust costs for FMA instructions. | |
2837 | Add cases for most logical and float operations. Recurse into | |
2838 | most operands. | |
2839 | ||
315cd6b5 RE |
2840 | 2004-08-03 Richard Earnshaw <rearnsha@arm.com> |
2841 | ||
2842 | * config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files. | |
2843 | ||
8589ae15 PH |
2844 | 2004-08-03 Pat Haugen <pthaugen@us.ibm.com> |
2845 | ||
2846 | * ra-build.c (conflicts_between_webs): For webs that cross a call add | |
2847 | conflicts to regs_invalidated_by_call. | |
2848 | ||
8ee6eb4e PB |
2849 | 2004-08-03 Paul Brook <paul@codesourcery.com> |
2850 | ||
2851 | * config/arm/arm.c (emit_sfm): Only emit a single frame adjustment. | |
2852 | ||
d836edf8 JH |
2853 | 2004-08-03 Jan Hubicka <jh@suse.cz> |
2854 | ||
2855 | * coverage.c (tree_coverage_counter_ref): Fix computation of the new | |
2856 | ARRAY_REF argument. | |
2857 | ||
f9e8581a RE |
2858 | 2004-08-03 Richard Earnshaw <rearnsha@arm.com> |
2859 | ||
2860 | * arm-cores.def: Sort by architecture. Add arm946es, arm966es, | |
2861 | arm968es, arm10e, arm1020e, arm1022e. | |
2862 | * invoke.texi: Update list of ARM cores. | |
2863 | * arm-tune.md: Regenerate. | |
2864 | ||
2f71a20a RE |
2865 | 2004-08-03 Richard Earnshaw <rearnsha@arm.com> |
2866 | ||
2867 | * arm/gentune.sh: New file. | |
2868 | * arm/t-arm: New file. | |
2869 | * arm/arm-tune.md: New file (autogenerated). | |
2870 | * config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants. | |
2871 | * arm.md (attribute tune): Delete. Include arm-tune.md. | |
2872 | ||
1a5d37a1 PB |
2873 | 2004-08-03 Paolo Bonzini <bonzini@gnu.org> |
2874 | ||
2875 | * gcc.c (add_prefix, add_sysrooted_prefix): Remove | |
2876 | penultimate parameter. All callers adjusted. | |
2877 | (struct prefix_list): Remove used_flag_ptr. | |
2878 | (find_a_file): Do not set *pl->used_flag_ptr. | |
2879 | (warn_B, warn_std_ptr): Remove. | |
2880 | ||
097538f1 | 2881 | 2004-08-03 Yossi Markovich <yossim@il.ibm.com> |
f9942f4e | 2882 | Mostafa Hagog <mustafa@il.ibm.com> |
097538f1 | 2883 | |
f9942f4e | 2884 | * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern. |
097538f1 | 2885 | |
aeb732c1 GK |
2886 | 2004-08-02 Geoffrey Keating <geoffk@apple.com> |
2887 | ||
2888 | * dwarf2out.c (output_call_frame_info): Don't change data format | |
2889 | due to TARGET_USES_WEAK_UNWIND_INFO. Always refer to the local | |
2890 | label. Use 'true' not '1'. | |
2891 | * doc/install.texi (powerpc-*-darwin*): Mention cctools version | |
2892 | required. | |
2893 | ||
e0d9dfa2 GDR |
2894 | 2004-08-02 Gabriel Dos Reis <gdr@cs.tamu.edu> |
2895 | ||
2896 | * gdbinit.in: Reflect previous changes to rtunion_def. | |
2897 | ||
31597620 RS |
2898 | 2004-08-02 Roger Sayle <roger@eyesopen.com> |
2899 | ||
2900 | * fold-const.c (fold) <TRUNC_MOD_EXPR>: The transformation "X % -Y" | |
2901 | -> "X % Y" is only valid for TRUNC_MOD_EXPR. | |
2902 | ||
b1e8c0fd GDR |
2903 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> |
2904 | ||
2905 | * vec.h (DEF_VEC_P): Add proper cast to uses of vec_o_reserve and | |
f9942f4e | 2906 | vec_p_reserve. |
b1e8c0fd GDR |
2907 | * langhooks.h (lang_hooks::builtin_function): Rename parameter |
2908 | from "class" to "bt_class". | |
2909 | ||
8965ece1 PB |
2910 | 2004-08-02 Paul Brook <paul@codesourcery.com> |
2911 | ||
2912 | PR rtl-optimization/15068 | |
2913 | * flow.c (init_propagate_block_info): Check condition is reversible. | |
2914 | ||
9e2878cf GDR |
2915 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> |
2916 | ||
2917 | * gengtype.h (options::info): Change type to const char *. | |
2918 | (enum gc_used_enum): Move out of struct type scope. | |
2919 | * gengtype.c (create_option): Convert initializer for option::info to | |
2920 | appropiate type. | |
2921 | (adjust_field_type, walk_type, write_func_for_structure, | |
f9942f4e | 2922 | write_root, write_roots): Remove pointless cast. |
9e2878cf | 2923 | |
6041dc3c R |
2924 | 2004-08-02 J"orn Rennecke <joern.rennecke@superh.com> |
2925 | ||
2926 | * genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F. | |
2927 | ||
9ce88f5e GDR |
2928 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> |
2929 | ||
2930 | * rtl.h (union rtunion_def): Have all members start with the | |
2931 | prefix "rt_". | |
2932 | (XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE, XBBDEF, XTMPL, | |
f9942f4e | 2933 | X0INT, X0UINT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE, |
9ce88f5e GDR |
2934 | X0MEMATTR, X0BBDEF, X0REGATTR, XCINT, XCUINT, XCSTR, XCEXP, |
2935 | XCVEC, XCMODE, XCBITMAP, XCTREE, XCBBDEF, XC2EXP): Adjust members | |
f9942f4e | 2936 | access. |
9ce88f5e GDR |
2937 | * gengtype.c (adjust_field_rtx_def): Likewise. |
2938 | * rtlanal.c (loc_mentioned_in_p): Likewise. | |
2939 | ||
e9475fa3 RS |
2940 | 2004-08-02 Richard Sandiford <rsandifo@redhat.com> |
2941 | ||
2942 | * config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file. | |
2943 | Replace uses of mips/elf64.h with mips/elf.h | |
2944 | * config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION) | |
2945 | (TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP) | |
2946 | (ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS) | |
2947 | (MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP) | |
2948 | (HANDLE_SYSV_PRAGMA): Delete. | |
2949 | (ASM_OUTPUT_DEF): Fix formatting. | |
2950 | * config/mips/elf64.h: Delete. | |
2951 | ||
1f09d3eb ZW |
2952 | 2004-08-01 Zack Weinberg <zack@codesourcery.com> |
2953 | ||
2954 | * config/ia64/ia64.c (got_symbolic_operand): Do require a | |
2955 | symbol+offset operand to have its offset be zero mod 0x3fff | |
2956 | when GOT entries are in use. Clarify logic in SYMBOL_REF | |
2957 | case. Clarify comments. | |
2958 | (ia64_expand_load_address): Split a symbol+offset load when | |
2959 | the offset is nonzero mod 0x3fff, not 0x1fff. | |
2960 | ||
112ccb83 GK |
2961 | 2004-08-01 Geoffrey Keating <geoffk@apple.com> |
2962 | ||
2963 | * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort | |
2964 | if trying to *store* to a non-offsettable address. | |
2965 | * config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to | |
2966 | a nonoffsettable address. | |
2967 | (movdi_internal32): Don't move GPRs to a nonoffsettable address. | |
2968 | Clean up. | |
2969 | (movti_string): Don't move GPRs to a nonoffsettable address. | |
2970 | (movti_ppc64): Don't move GPRs to a nonoffsettable address. Clean up. | |
2971 | ||
a4e41fde BE |
2972 | 2004-08-02 Ben Elliston <bje@au.ibm.com> |
2973 | ||
2974 | PR target/16155 | |
2975 | * config/rs6000/altivec.h: Replace typeof with __typeof__. | |
2976 | ||
dbe4d070 RH |
2977 | 2004-08-01 Richard Henderson <rth@redhat.com> |
2978 | ||
2979 | * expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with | |
2980 | variable sized types. | |
2981 | ||
12e4afe4 RS |
2982 | 2004-08-01 Richard Sandiford <rsandifo@redhat.com> |
2983 | ||
2984 | * doc/invoke.texi: In the MIPS options section, remove the passage | |
2985 | saying that -mexplicit-relocs is usually disabled for -mabicalls | |
2986 | -fno-unit-at-a-time. | |
2987 | * config/mips/mips.c (override_options): Remove the code that enforced | |
2988 | this rule. | |
2989 | ||
b8b044f1 RS |
2990 | 2004-08-01 Richard Sandiford <rsandifo@redhat.com> |
2991 | ||
2992 | * config/mips/mips.md (cprestore): Provide two alternatives, one for | |
2993 | an in-range offset and one for an out-of-range offset. Wrap the latter | |
2994 | in .set macro/.set nomacro if it's inside a .set nomacro block. | |
2995 | ||
b73ce23b RS |
2996 | 2004-08-01 Richard Sandiford <rsandifo@redhat.com> |
2997 | ||
2998 | * config/mips/mips-protos.h (mips_gp_save_slot): Remove. | |
2999 | (mips_restore_gp): Declare. | |
3000 | * config/mips/mips.c (mips_add_offset): Add a scratch register | |
3001 | argument. Reimplement in rtl only, reusing MIPS16 logic from | |
3002 | mips_output_mi_thunk. | |
3003 | (mips_legitimize_address, mips_legitimize_const_move): Adjust calls | |
3004 | to mips_add_offset. | |
3005 | (mips_gp_save_slot): Delete. | |
3006 | (mips_restore_gp): New function. | |
3007 | (mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset. | |
3008 | * config/mips/mips.md (exception_receiver): Turn into a | |
3009 | define_insn_and_split. Use mips_restore_gp to do the split. | |
3010 | (call_internal, call_value_internal, call_value_multiple_internal): Use | |
3011 | mips_restore_gp to restore $gp. | |
3012 | ||
6b3b5f05 AP |
3013 | 2004-07-31 Andrew Pinski <apinski@apple.com> |
3014 | ||
3015 | PR other/16842 | |
3016 | * mkheaders.in (libsubdir): s/gcc-lib/gcc/. | |
3017 | ||
558d1f81 JM |
3018 | 2004-07-31 Joseph S. Myers <jsm@polyomino.org.uk> |
3019 | ||
3020 | * c-decl.c (diagnose_mismatched_decls): Give error for external | |
3021 | redeclaration of identifier declared with no linkage, not just | |
3022 | warning with -Wtraditional. Do not check DECL_CONTEXT to give | |
3023 | error for redeclaration with no linkage. | |
3024 | ||
c1e55850 | 3025 | 2004-07-30 Geoffrey Keating <geoffk@apple.com> |
bdc6aa1b | 3026 | Fariborz Jahanian <fjahanian@apple.com> |
c1e55850 GK |
3027 | |
3028 | * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit | |
3029 | non-offsettable addresses even for DImode. | |
3030 | (rs6000_split_multireg_move): Cope with non-offsettable addresses | |
3031 | being moved into multiple GPRs. | |
3032 | ||
3033 | * config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default | |
3034 | to 64. | |
3035 | (rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE. | |
3036 | * config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define | |
3037 | to 128. | |
3038 | * config/rs6000/darwin-ldouble.c (isless): New macro. | |
3039 | (inf): New macro. | |
3040 | (nonfinite): New macro. | |
3041 | (FPKINF): Delete. | |
3042 | (_xlqadd): Completely rewrite. | |
3043 | (_xlqmul): Correct overflow handling. | |
3044 | (_xlqdiv): Correct overflow handling. | |
3045 | * config/rs6000/darwin-ldouble-format: New file. | |
3046 | ||
cf14e33d RS |
3047 | 2004-07-30 Roger Sayle <roger@eyesopen.com> |
3048 | Richard Henderson <rth@redhat.com> | |
3049 | ||
3050 | * config/i386/i386.md: New peephole2's to convert imul by 3, 5 or | |
3051 | 9 into the equivalent lea instruction. | |
3052 | ||
0534fa56 RH |
3053 | 2004-07-30 Richard Henderson <rth@redhat.com> |
3054 | ||
3055 | * gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace | |
3056 | with DECL_INITIAL if fb_lvalue. | |
3057 | * tree-gimple.c (is_gimple_id): Add CONST_DECL. | |
3058 | * tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL | |
3059 | with <Cxxx>. | |
3060 | * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL. | |
3061 | ||
92965c56 DN |
3062 | 2004-07-30 Diego Novillo <dnovillo@redhat.com> |
3063 | ||
3064 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): If a | |
3065 | pointer escapes through a function call, assume that the | |
3066 | callee will dereference it. | |
3067 | (add_pointed_to_var): Assume that VALUE is always an | |
3068 | ADDR_EXPR. | |
3069 | (collect_points_to_info_r): Only call add_pointed_to_var if | |
3070 | the value is an ADDR_EXPR. | |
3071 | ||
fbc87627 DN |
3072 | 2004-07-30 Diego Novillo <dnovillo@redhat.com> |
3073 | ||
3074 | * tree-ssa-alias.c (create_alias_map_for): Do not get the | |
3075 | alias set of the inner type of ARRAY_TYPEs. | |
3076 | ||
4fa204da DN |
3077 | 2004-07-29 Diego Novillo <dnovillo@redhat.com> |
3078 | ||
3079 | * tree-ssa-ccp.c (visit_assignment): Move code to prevent | |
3080 | setting a non-register to UNDEFINED right before the call to | |
3081 | set_lattice_value. | |
3082 | ||
aac864b0 KK |
3083 | 2004-07-29 Kaz Kojima <kkojima@gcc.gnu.org> |
3084 | ||
3085 | * config/sh/lib1funcs.asm: Make aliases movstr* for movmem*. | |
3086 | ||
118a8d02 DN |
3087 | 2004-07-29 Diego Novillo <dnovillo@redhat.com> |
3088 | ||
3089 | * tree-ssa.c (verify_flow_sensitive_alias_info): When | |
3090 | comparing points-to sets of different pointers, make sure the | |
3091 | second pointer is actually referenced in the code. | |
3092 | ||
13b52b90 ZW |
3093 | 2004-07-29 Zack Weinberg <zack@codesourcery.com> |
3094 | ||
3095 | * config/ia64/ia64.c (setjmp_operand): Delete, unused. | |
3096 | (got_symbolic_operand): Remove unreachable code. | |
3097 | * config/ia64/ia64.h (PREDICATE_CODES): Remove entry for | |
3098 | setjmp_operand; add entry for tls_symbolic_operand. | |
3099 | * config/ia64/ia64-protos.h: Remove all prototypes of | |
3100 | predicate functions. | |
3101 | ||
4684cd27 MM |
3102 | 2004-07-29 Mark Mitchell <mark@codesourcery.com> |
3103 | ||
3104 | * c-common.h (lang_post_pch_load): New variable. | |
3105 | * c-pch.c (lang_post_pch_load): Define it. | |
3106 | (c_common_read_pch): Use it. | |
3107 | * cgraphunit.c (record_call_1): Give the front end a chance to | |
3108 | record additional needed entities when a variable is marked as | |
3109 | needed. | |
3110 | * tlink.c (recompile_files): Robustify. | |
3111 | (scan_linker_output): If a symbol is assigned to a file, | |
3112 | but after recompilation is not present there, issue an error | |
3113 | message. | |
3114 | ||
b4042a03 ZD |
3115 | 2004-07-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
3116 | ||
3117 | * tree-ssa-loop-im.c (force_move_till_expr, force_move_till): | |
3118 | Take orig_loop argument and pass it to set_level. | |
3119 | (schedule_sm): Pass the correct orig_loop to force_move_till. | |
3120 | ||
e7bd94cc ZD |
3121 | 2004-07-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
3122 | ||
3123 | * cfgloop.c (update_latch_info): Update dominator of the new block. | |
3124 | (canonicalize_loop_headers, flow_loops_find): Do not free dominance | |
3125 | info. | |
3126 | * dominance.c (verify_dominators): Check that the dominance tree is | |
3127 | connected. | |
3128 | (recount_dominator): Ignore unreachable blocks. | |
3129 | (iterate_fix_dominators): Cleanup old dominance information before | |
3130 | recomputing it. | |
3131 | ||
d397dbcd DN |
3132 | 2004-07-29 Diego Novillo <dnovillo@redhat.com> |
3133 | ||
3134 | * tree-ssa-operands.c (get_expr_operands): Revert changes | |
3135 | to ADDR_EXPR processing introduced by: | |
3136 | 2004-06-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3137 | * tree-ssa-operands.c (get_expr_operands): Minor rearrangements. | |
3138 | ||
9d6e0be1 JM |
3139 | 2004-07-29 Joseph S. Myers <jsm@polyomino.org.uk> |
3140 | ||
3141 | * doc/implement-c.texi: Add C90 subclause references. Point to | |
3142 | preprocessor documentation instead of duplicating it. Add points | |
3143 | only present in C90. Fill in documentation for all points. | |
3144 | ||
715ab8c3 JDA |
3145 | 2004-07-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3146 | ||
3147 | * pa.c (output_movb): Correct typo. | |
3148 | ||
727d709b PH |
3149 | 2004-07-29 Pat Haugen <pthaugen@us.ibm.com> |
3150 | ||
3151 | * ra.h (single_reg_in_regclass): Declare. | |
3152 | * ra.c (single_reg_in_regclass): Define. | |
3153 | (first_hard_reg): New. | |
3154 | (init_ra): Initialize single_reg_in_regclass. | |
3155 | * ra-colorize.c (ok_class): New. | |
3156 | (coalesce, aggressive_coalesce, extended_coalesce_2): Use it. | |
3157 | ||
91683ccd NS |
3158 | 2004-07-29 Nathan Sidwell <nathan@codesourcery.com> |
3159 | ||
00cf2913 NS |
3160 | * gcov-io.h: Allow zero tag as EOF indicator. |
3161 | (gcov_is_eof): Remove. | |
3162 | (gcov_truncate): Remove. | |
3163 | * gcov-io.c (gcov_seek): Always SEEK_SET. | |
3164 | * libgcov.c (gcov_exit): Don't use gcov_truncate. Write explicit | |
3165 | EOF tag. | |
3166 | * coverage.c (read_counts_file): Don't use gcov_is_eof. | |
3167 | * gcov-dump.c (dump_file): Likewise. | |
3168 | * gcov.c (read_graph_file, read_count_file): Likewise. | |
3169 | ||
91683ccd NS |
3170 | * c-decl.c (complete_array_type): Don't gratuitously copy |
3171 | maxindex. Check it always has a type. | |
3172 | ||
4586b4ca SB |
3173 | 2004-07-29 Steven Bosscher <stevenb@suse.de> |
3174 | ||
3175 | * rtl.c (currently_expanding_to_rtl): New. | |
3176 | * rtl.h (currently_expanding_to_rtl): Export it. | |
3177 | * cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit. | |
3178 | ||
3179 | * config/alpha/alpha.c (alpha_expand_mov): Remove old RTL | |
3180 | inliner hack. | |
3181 | * config/sh/sh.c: Replace rtx_equal_function_value_matters | |
3182 | with currently_expanding_to_rtl. | |
3183 | * config/sh/sh.md: Likewise. | |
3184 | * config/ia64/ia64.c (got_symbolic_operand): Likewise. | |
3185 | ||
157371cf AO |
3186 | 2004-07-29 Alexandre Oliva <aoliva@redhat.com> |
3187 | ||
3188 | Introduce sh2a support. | |
3189 | 2004-07-29 Alexandre Oliva <aoliva@redhat.com> | |
3190 | * config.gcc: Build multilibs for sh2a and sh2a-single by | |
3191 | default. | |
3192 | * config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by | |
3193 | default. Split their tests out of the corresponding SH4 | |
3194 | multilibs. | |
3195 | * config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a | |
3196 | multilibs for SH2a. | |
3197 | 2004-07-28 Alexandre Oliva <aoliva@redhat.com> | |
3198 | * config.gcc: Handle sh2a multilibs and cpu selection. | |
3199 | * config/sh/sh.h: Likewise. Handle sh2a command line flags. | |
3200 | * config/sh/t-mlib-sh2a: New. | |
3201 | * config/sh/t-mlib-sh2a-nofpu: New. | |
3202 | * config/sh/t-mlib-sh2a-single: New. | |
3203 | * config/sh/t-mlib-sh2a-single-only: New. | |
3204 | 2004-07-09 Nick Clifton <nickc@redhat.com> | |
3205 | Issue 43400 | |
3206 | * config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if | |
3207 | -ml and -m2a are used together. | |
3208 | 2004-03-23 DJ Delorie <dj@redhat.com> | |
3209 | * config/sh/sh.c (sh_builtin_saveregs): Use the double code only | |
3210 | when we have a double-sized FPU. | |
3211 | 2004-02-24 Corinna Vinschen <vinschen@redhat.com> | |
3212 | * config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__ | |
3213 | is set. | |
3214 | * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu, | |
3215 | -msh2a-single and -msh2a-single-only | |
3216 | 2004-02-24 Corinna Vinschen <vinschen@redhat.com> | |
3217 | * config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__ | |
3218 | is set. | |
3219 | 2004-02-20 DJ Delorie <dj@delorie.com> | |
3220 | * config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu. | |
3221 | 2004-02-20 Fred Fish <fnf@redhat.com>, | |
3222 | Corinna Vinschen <vinschen@redhat.com> | |
3223 | * config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu. | |
3224 | (MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a. | |
3225 | 2004-02-18 DJ Delorie <dj@redhat.com> | |
3226 | * config/sh/sh.c (broken_move): Add support for movi20. | |
3227 | * config/sh/sh.h: Likewise. | |
3228 | (SHIFT_COUNT_TRUNCATED): Set for sh2a. | |
3229 | * config/sh/sh.md (udivsi3_sh2a): New. | |
3230 | (udivsi3): Call it. | |
3231 | (divsi3_sh2a): New. | |
3232 | (divsi3): Call it. | |
3233 | (mul_r): New. | |
3234 | (ashlsi3_sh2a): New. | |
3235 | (ashrsi3_sh2a): New. | |
3236 | (lshrsi3_sh2a): New. | |
3237 | (movsi_i): Disable for sh2a. | |
3238 | (movsi_ie): Add movi20. | |
3239 | (movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable | |
3240 | sh2a, for -m2a-nofpu mode. | |
3241 | 2004-02-13 DJ Delorie <dj@redhat.com> | |
3242 | * config/sh/lib1funcs.asm: Handle double vs single better. | |
3243 | * config/sh/sh.h: Likewise. | |
3244 | 2004-02-09 DJ Delorie <dj@redhat.com> | |
3245 | * config/sh/crt1.asm: Add support for sh2a. | |
3246 | * config/sh/elf.h: Likewise. | |
3247 | * config/sh/lib1funcs.asm: Likewise. | |
3248 | * config/sh/sh.c: Likewise. | |
3249 | * config/sh/sh.md: Likewise. | |
3250 | * config/sh/sh.h: Likewise. | |
3251 | * config/sh/t-sh: Likewise. | |
3252 | ||
6f4c062b AO |
3253 | 2004-07-28 Alexandre Oliva <aoliva@redhat.com> |
3254 | ||
3255 | * config/frv/frv.md (movqi_internal, movhi_internal, | |
3256 | movsi_internal): Add backup alternatives for memory inputs. | |
3257 | ||
8f4220dc MA |
3258 | 2004-07-28 Matt Austern <austern@apple.com> |
3259 | ||
3260 | * config/darwin.c (darwin_one_byte_bool): New global variable. | |
3261 | * config/darwin.h (darwin_one_byte_bool): Declare. | |
3262 | (SUBTARGET_OPTIONS): Define macro. (for -mone-byte-bool flag.) | |
3263 | * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on | |
3264 | value of darwin_one_byte_bool. | |
3265 | * doc/invoke.texi: Document -mone-byte-bool flag. | |
13b52b90 | 3266 | |
9f63daea EC |
3267 | 2004-07-28 Eric Christopher <echristo@redhat.com> |
3268 | ||
3269 | * c-common.c (c_common_unsafe_for_reeval): Delete. | |
3270 | * c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use. | |
3271 | * c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case. | |
3272 | * calls.c (fix_unsafe_tree): Delete. | |
3273 | (expand_call): Delete code which used above. | |
3274 | * dojump.c (do_jump): Delete UNSAVE_EXPR case. | |
3275 | * expr.c (expand_expr_real_1): Ditto. | |
3276 | * fold-const.c (non_lvalue): Ditto. | |
3277 | * langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete. | |
3278 | (lhd_unsafe_for_reeval): Ditto. | |
3279 | * langhooks.c (lhd_unsafe_for_reeval): Ditto. | |
3280 | * langhooks.h (unsafe_for_reeval): Ditto. | |
3281 | (unsave_expr_now): Adjust comment. | |
3282 | * tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits. | |
3283 | (estimate_num_insns_1): Ditto. | |
3284 | * tree-pretty-print.c (dump_generic_node): Ditto. | |
3285 | * tree.c (expr_align): Ditto. | |
3286 | (unsave_expr): Delete. | |
3287 | (unsafe_for_reeval): Ditto. | |
3288 | * tree.h (unsafe_for_reeval, unsave_expr): Ditto. | |
3289 | * tree.def (UNSAVE_EXPR): Delete. | |
3290 | * objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete. | |
3291 | ||
61b60ed0 ZW |
3292 | 2004-07-28 Zack Weinberg <zack@codesourcery.com> |
3293 | ||
3294 | * tree.h (enum tls_model): Move ... | |
3295 | * coretypes.h: ... here. | |
3296 | ||
e1175f68 RS |
3297 | 2004-07-28 Richard Sandiford <rsandifo@redhat.com> |
3298 | ||
3299 | * config/frv/frv.h (EPILOGUE_USES): New. Use LR. | |
3300 | ||
eef3c949 RS |
3301 | 2004-07-28 Richard Sandiford <rsandifo@redhat.com> |
3302 | ||
3303 | * cse.c (validate_canon_reg): New function, split out from... | |
3304 | (canon_reg): ...here. Use validate_canon_reg for both 'e' and 'E'. | |
3305 | ||
e0d3bb46 DN |
3306 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> |
3307 | ||
3308 | * tree-ssa-alias.c (maybe_create_global_var): Don't just | |
3309 | return if .GLOBAL_VAR has been created. | |
3310 | ||
852c7b12 DN |
3311 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> |
3312 | ||
3313 | * tree-ssa.c (verify_flow_insensitive_alias_info): Process | |
3314 | every variable that may have aliases, not just tags. | |
3315 | ||
6b1fedc3 AH |
3316 | 2004-07-28 Aldy Hernandez <aldyh@redhat.com> |
3317 | ||
3318 | * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to | |
3319 | move_from_CR_eq_bit. | |
3320 | Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ. | |
61b60ed0 | 3321 | |
6b1fedc3 AH |
3322 | |
3323 | * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to | |
3324 | e500_flip_eq_bit. | |
3325 | ||
3326 | * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to | |
3327 | output_e500_flip_eq_bit. | |
3328 | ||
3329 | * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to | |
3330 | output_e500_flip_eq_bit. | |
3331 | (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to | |
3332 | output_e500_flip_eq_bit. | |
3333 | Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit. | |
3334 | (print_operand): case D. Get to EQ bit. | |
3335 | ||
1457ebf9 RS |
3336 | 2004-07-28 Richard Sandiford <rsandifo@redhat.com> |
3337 | ||
3338 | * gcov.c (function_summary): Add missing \n. | |
3339 | ||
312209c6 AO |
3340 | 2004-07-28 Alexandre Oliva <aoliva@redhat.com> |
3341 | ||
3342 | Introduce sh4a support. | |
3343 | * config.gcc: Handle sh4a multilibs and cpu selection. | |
3344 | * config/sh/sh.h: Likewise. Handle sh4a command line flags. | |
3345 | * config/sh/t-mlib-sh4a: New. | |
3346 | * config/sh/t-mlib-sh4al: New. | |
3347 | * config/sh/t-mlib-sh4a-nofpu: New. | |
3348 | * config/sh/t-mlib-sh4a-single: New. | |
3349 | * config/sh/t-mlib-sh4a-single-only: New. | |
3350 | 2004-02-20 DJ Delorie <dj@redhat.com> | |
3351 | * config/sh/sh.md ("movua"): Change constraint from "m" to "Sua". | |
3352 | * config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support. | |
3353 | 2003-08-22 Eric Christopher <echristo@redhat.com> | |
3354 | * config/sh/sh4a.md: Update for chip errata. | |
3355 | 2003-08-07 Eric Christopher <echristo@redhat.com> | |
3356 | * config/sh/sh4a.md: New file. sh4a processor description. | |
3357 | 2003-07-08 Alexandre Oliva <aoliva@redhat.com> | |
3358 | * config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description | |
3359 | of -m4a-nofpu. | |
3360 | (SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu. | |
3361 | * config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu. | |
3362 | * doc/invoke.texi (SH Options): Document -m4al. | |
3363 | 2003-07-03 Alexandre Oliva <aoliva@redhat.com> | |
3364 | * config/sh/sh.c (expand_block_move): Remove commented-out code | |
3365 | checked in by mistake. | |
3366 | (sh_cannot_change_mode_class): Enable SUBREGs to be used to select | |
3367 | single elements from SFmode vectors. | |
3368 | * config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output | |
3369 | register. | |
3370 | (sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER. | |
3371 | 2003-07-01 Alexandre Oliva <aoliva@redhat.com> | |
3372 | * config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int, | |
3373 | sh_fsca_int2sf): Remove variable declarations. | |
3374 | * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int, | |
3375 | sh_fsca_int2sf): New functions. | |
3376 | (sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx, | |
3377 | sh_fsca_int2sf_rtx): New static variables. | |
3378 | * config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int, | |
3379 | sh_fsca_int2sf): Declare. | |
3380 | * config/sh/sh.md: Adjust. | |
3381 | * doc/invoke.texi (SH Options): Document new options. | |
3382 | * config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward | |
3383 | compatibility from SH4 code. | |
3384 | 2003-06-27 Alexandre Oliva <aoliva@redhat.com> | |
3385 | * config/sh/sh.c (expand_block_move): Don't emit POST_INC too | |
3386 | early. | |
3387 | (memory_movsrc_operand): Renamed to... | |
3388 | (unaligned_load_operand): ... this. Simplified. | |
3389 | * config/sh/sh.h (PREDICATE_CODES): Adjust. | |
3390 | * config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's | |
3391 | input operand to SImode, and adjust the others. Introduce | |
3392 | post-increment by peephole. | |
3393 | * config/sh/sh.c (expand_block_move): Give the target address the | |
3394 | same mode as the temp reg. | |
3395 | * config/sh/sh.c (expand_block_move): Use a temp reg for unaligned | |
3396 | copying. | |
3397 | 2003-06-26 Alexandre Oliva <aoliva@redhat.com> | |
3398 | Introduce support for SH4a. | |
3399 | * config/sh/lib1funcs.asm (ic_invalidate): Use icbi if | |
3400 | __SH4A__. Emit 4 4kb blocks and touch all of them otherwise. | |
3401 | * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int, | |
3402 | sh_fsca_int2sf): New. | |
3403 | (sh_init_builtins): Initialize them. | |
3404 | (print_operand): Support `d'. | |
3405 | (expand_block_move): Use movua if src is misaligned. | |
3406 | (memory_movsrc_operand): New. | |
3407 | * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__ | |
3408 | and one of the SH4 macros. | |
3409 | (SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP, | |
3410 | SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A, | |
3411 | SELECT_SH4A_SINGLE): New. | |
3412 | (TARGET_NONE): Add SH4A_BIT. | |
3413 | (TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a. | |
3414 | (SH_ASM_SPEC): Pass -dsp if -m4a-nofpu. | |
3415 | (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare. | |
3416 | (OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate. | |
3417 | (enum processor_type): Added PROCESSOR_SH4A. | |
3418 | (PREDICATE_CODES): Add memory_movsrc_operand. | |
3419 | * config/sh/sh.md: Removed unused variables. | |
3420 | (attr cpu): Add sh4a. | |
3421 | (attr type): Add movua, fsrra and fsca. | |
3422 | (prefetch): New, for SH4. | |
3423 | (ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi. | |
3424 | (toggle_sz): Set type to fp. | |
3425 | (toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New. | |
3426 | (movua, extv, extzv): New. | |
3427 | * config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single | |
3428 | and 4a-single-only. | |
3429 | ||
c1b763fa DN |
3430 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> |
3431 | ||
3432 | * tree-optimize.c (init_tree_optimization_passes): Schedule | |
3433 | pass_may_alias right after the program is renamed into SSA. | |
3434 | * tree-pass.h (PROP_alias): Define. | |
3435 | * tree-outof-ssa.c (pass_del_ssa): Require PROP_alias. | |
3436 | * tree-sra.c (pass_sra): Likewise. | |
3437 | * tree-ssa-ccp.c (pass_ccp): Likewise. | |
3438 | * tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise. | |
3439 | * tree-ssa-dce.c (pass_dce): Likewise. | |
3440 | * tree-ssa-dom.c (pass_dominator): Likewise. | |
3441 | * tree-ssa-dse.c (pass_dse): Likewise. | |
3442 | * tree-ssa-forwprop.c (pass_forwprop): Likewise. | |
3443 | * tree-ssa-loop-ch.c (pass_ch): Likewise. | |
3444 | * tree-ssa-phiopt.c (pass_phiopt): Likewise. | |
3445 | * tree-ssa-pre.c (pass_pre): Likewise. | |
3446 | * tree-tailcall.c (pass_tail_recursion): Likewise. | |
3447 | * tree-ssa.c (pass_redundant_phi): Likewise. | |
3448 | * tree-ssa-alias.c (aliases_computed_p): Remove. | |
3449 | Update all users. | |
3450 | (init_alias_info): Do not mark all type tags for renaming | |
3451 | unconditionally. | |
3452 | Clear may_aliases from every symbol. | |
3453 | (setup_pointers_and_addressables): If a pointer has not been | |
3454 | dereferenced and it had a type tag, clear it and mark the old | |
3455 | tag for renaming. | |
3456 | ||
58907cda DN |
3457 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> |
3458 | ||
3459 | PR tree-optimization/16705 | |
3460 | * tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on | |
3461 | .GLOBAL_VAR. | |
3462 | ||
1a837f77 RK |
3463 | 2004-07-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
3464 | ||
0b1d1db4 RK |
3465 | * expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error |
3466 | check. | |
3467 | ||
61025d1b RK |
3468 | * gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR, |
3469 | don't make another one. | |
3470 | ||
1a837f77 RK |
3471 | PR optimization/15077 |
3472 | * function.h (struct function): Add field saved_static_chain_decl. | |
3473 | Fix comment for static_chain_decl. | |
3474 | * tree-inline.c (save_body): Add new arg and handle static_chain_decl. | |
3475 | * tree-inline.h (save_body): Add new arg. | |
3476 | * tree-optimize.c (tree_rest_of_compilation): Handle saving | |
3477 | static_chain_decl. | |
3478 | ||
e847cc68 RH |
3479 | 2004-07-27 Richard Henderson <rth@redhat.com> |
3480 | ||
3481 | * gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove. | |
3482 | (gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use | |
3483 | is_gimple_addressable. | |
3484 | * tree-gimple.c (is_gimple_addressable): Rename from | |
3485 | is_gimple_addr_expr_arg; accept INDIRECT_REF. | |
3486 | (is_gimple_lvalue): Don't test INDIRECT_REF directly. | |
3487 | * tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for | |
3488 | rename to is_gimple_addressable. | |
3489 | ||
b91accd6 AM |
3490 | 2004-07-28 Alan Modra <amodra@bigpond.net.au> |
3491 | ||
3492 | * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards. | |
3493 | ||
e140e27d RH |
3494 | 2004-07-27 Richard Henderson <rth@redhat.com> |
3495 | ||
3496 | * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT | |
3497 | before rounding. | |
3498 | ||
968a7562 ZW |
3499 | 2004-07-27 Zack Weinberg <zack@codesourcery.com> |
3500 | ||
3501 | * libgcc2.c: Change all conditionals testing | |
3502 | LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80. | |
3503 | * libgcc2.h: Likewise. | |
3504 | * config/i386/i386.c (ix86_init_mmx_sse_builtins): Set | |
3505 | TYPE_PRECISION of float80_type to 80. | |
3506 | * config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION | |
3507 | of fpreg_type and float80_type to 80. | |
3508 | * config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h | |
3509 | * config/m68k/netbsd-elf.h: | |
3510 | Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE | |
3511 | to evaluate to 80 whenever they would formerly have evaluated to 96. | |
3512 | * config/i386/sco5.h: Remove unnecessary redefinition of | |
3513 | LONG_DOUBLE_TYPE_SIZE. | |
3514 | * doc/rtl.texi: Clarify uses of XFmode and TFmode. | |
3515 | * config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for | |
3516 | XFmode, with a bitsize of 80. Update commentary. | |
3517 | * config/ia64/ia64-modes.def: Likewise. | |
3518 | * config/m68k/m68k-modes.def: Likewise. | |
3519 | ||
3fbd86b1 SB |
3520 | 2004-07-27 Steven Bosscher <stevenb@suse.de> |
3521 | ||
3522 | * cfgexpand.c (tree_expand_cfg): Fix comment. | |
3523 | ||
3524 | * calls.c (expand_call): Ignore rtx_equal_function_value_matters. | |
3525 | * function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets): | |
3526 | Remove. | |
3527 | (prepare_function_start): Don't set rtx_equal_function_value_matters. | |
3528 | * integrate.c (copy_rtx_and_substitute): Don't test for it. | |
3529 | * passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets. | |
3530 | Don't set rtx_equal_function_value_matters. Don't register RTL hooks | |
3531 | here again. Update leading comment. | |
3532 | * rtl.c (rtx_equal_function_value_matters): Remove. | |
3533 | (rtx_equal_p): Don't test for it. | |
3534 | * simplify-rtx.c (simplify_binary_operation, simplify_subreg): | |
3535 | Likewise. | |
3536 | ||
3537 | * rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND. | |
3538 | * rtl.c (note_insn_name): Likewise. | |
3539 | * emit-rtl.c (remove_unnecessary_notes): Don't handle it. | |
3540 | * final.c (final_scan_insn): Likewise. | |
3541 | ||
3542 | * except.c (finish_eh_generation): Don't call cfg_cleanup from here. | |
3543 | * passes.c (rest_of_handle_eh): Do it here. | |
3544 | ||
3545 | * stmt.c (struct nesting): Remove struct nesting block member. | |
3546 | (struct stmt_status): Remove x_block_start_count field. | |
3547 | (current_block_start_count): Remove. | |
3548 | ||
b3fade83 BB |
3549 | 2004-07-27 Brian Booth <bbooth@redhat.com> |
3550 | ||
3551 | * tree-optimize.c (register_one_dump_file): Update condition that uses | |
3552 | static_pass_number. | |
3553 | (dup_pass_1): Replace with... | |
3554 | (next_pass_1): This. | |
3555 | (NEXT_PASS): Call next_pass_1. | |
3556 | (DUP_PASS): Remove. | |
3557 | (init_tree_optimization_passes): Remove uses of DUP_PASS. | |
3558 | (execute_one_pass): Update condition that uses | |
3559 | static_pass_number. | |
3560 | * tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed | |
3561 | integer. | |
3562 | ||
18d7916e NC |
3563 | 2004-07-27 Nick Clifton <nickc@redhat.com> |
3564 | ||
3565 | * config/m32r/m32r.c: Include integrate.h in order to get the | |
3566 | prototype for get_hard_reg_initial_val(). | |
3567 | ||
3568 | * config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r" | |
3569 | and tidy up indentation. | |
3570 | (final_presence_set): Use absence_set instead, so that if there is | |
3571 | nothing in the "o" pipe the "s" pipe can be scheduled. | |
3572 | ||
9ae2a5d1 DN |
3573 | 2004-07-27 Diego Novillo <dnovillo@redhat.com> |
3574 | ||
3575 | * tree-ssa-alias.c (create_name_tags): Ignore pointers that | |
3576 | don't have PT_VARS nor PT_MALLOC set. | |
3577 | Clear name tag from pointers that have not been dereferenced. | |
3578 | (set_pt_anything, set_pt_malloc): Forward declare. | |
3579 | * tree-ssa-copy.c (may_propagate_copy): Compare alias sets, | |
3580 | not type compatibility when determining if a pointer can be | |
3581 | copy propagated. | |
3582 | ||
45d09c02 RS |
3583 | 2004-07-27 Richard Sandiford <rsandifo@redhat.com> |
3584 | ||
3585 | * expr.h (canonicalize_condition, get_condition): Add an int argument. | |
3586 | * gcse.c (fis_get_condition): Reimplement using get_condition, leaving | |
3587 | it to check whether the condition is still valid at the jump insn. | |
3588 | * ifcvt.c (noce_get_condition): Likewise. | |
3589 | (noce_get_alt_condition): Update call to canonicalize_condition. | |
3590 | * loop-iv.c (simplify_using_initial_values): Update call to | |
3591 | get_condition. Remove FIXME. | |
3592 | (check_simple_exit): Update call to get_condition. | |
3593 | * loop-unswitch.c (may_unswitch_on): Likewise. | |
3594 | * loop.c (check_dbra_loop): Likewise. | |
3595 | (canonicalize_condition, get_condition): Add an argument to say whether | |
3596 | the condition must still be valid at INSN. | |
3597 | (get_condition_for_loop): Update call to get_condition. Require that | |
3598 | the condition be valid at INSN. | |
3599 | * predict.c (estimate_probability): Update call to get_condition. | |
3600 | Remove unused earliest parameter. | |
3601 | (expected_value_to_br_prob): Update call to canonicalize_condition. | |
3602 | ||
ff6a3206 EC |
3603 | 2004-07-26 Eric Christopher <echristo@redhat.com> |
3604 | ||
3605 | * tree-dfa.c (add_referenced_var): Register initializers of global | |
3606 | variables. | |
3607 | ||
3608 | 2004-07-26 Paolo Bonzini <bonzini@gnu.org> | |
3609 | ||
3fbd86b1 SB |
3610 | * config/i386/i386.c (function_arg): Always treat 8- |
3611 | and 16-byte wide vectors the same, even if MMX/SSE | |
3612 | are disabled. | |
3613 | (contains_128bit_aligned_vector_p): Add comment. | |
90d5887b | 3614 | |
9c18fb88 R |
3615 | 2004-07-26 J"orn Rennecke <joern.rennecke@superh.com> |
3616 | ||
3617 | * ra.h (enum node_type): Rename to: | |
3618 | (enum ra_node_type). | |
3619 | * ra-colorize.c: Likewise. | |
3620 | ||
261139ce RS |
3621 | 2004-07-26 Richard Sandiford <rsandifo@redhat.com> |
3622 | ||
3623 | * cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag | |
3624 | after simplifying the jump. | |
3625 | ||
95899b34 RH |
3626 | 2004-06-26 Richard Henderson <rth@redhat.com> |
3627 | ||
3628 | * calls.c (combine_pending_stack_adjustment_and_call): Make | |
3629 | preferred_unit_stack_boundary argument unsigned. Make | |
3630 | unadjusted_alignment unsigned. | |
3631 | (expand_call): Make preferred_stack_boundary and | |
3632 | preferred_unit_stack_boundary variables unsigned. | |
ff6a3206 EC |
3633 | * function.c (assign_stack_local_1): Make alignment unsigned. |
3634 | * function.h (struct function): Make stack_alignment_needed, | |
95899b34 RH |
3635 | preferred_stack_boundary unsigned. |
3636 | * config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned. | |
ff6a3206 | 3637 | (ix86_compute_frame_layout): Make stack_alignment_needed, |
95899b34 RH |
3638 | preferred_alignment variables unsigned. |
3639 | * config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned. | |
3640 | ||
86df8c86 TT |
3641 | 2004-07-26 Tom Tromey <tromey@redhat.com> |
3642 | ||
3643 | * tree.h: Fix typo in comment. | |
3644 | ||
02aebac6 DJ |
3645 | 2004-07-26 Daniel Jacobowitz <dan@debian.org> |
3646 | ||
3647 | PR bootstrap/12804 | |
3648 | * ggc-zone.c (struct alloc_chunk): Remove attribute packed. | |
3649 | (MAX_FREE_BIN_SIZE): Increase on 64-bit targets. | |
3650 | (ggc_free): Remove incorrect freeing. | |
3651 | (sweep_pages): Advance PP for large pages. Fix indentation. | |
3652 | ||
35b6b437 RS |
3653 | 2004-07-26 Richard Sandiford <rsandifo@redhat.com> |
3654 | ||
3655 | PR rtl-optimization/16643 | |
3656 | * cfglayout.h (cfg_layout_initialize): Add a flags parameter. | |
3657 | * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg. | |
3658 | * basic-block.h (reorder_basic_blocks): Add a flags parameter. | |
3659 | * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize. | |
3660 | (partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize. | |
3661 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
3662 | * rtl.h (tracer): Add a flags parameter. | |
3663 | * tracer.c (tracer): Pass it to cfg_layout_initialise. | |
3664 | * passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks. | |
3665 | (rest_of_handle_reorder_blocks): Update calls to tracer and | |
3666 | reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate. | |
3667 | (rest_of_handle_tracer): Pass 0 to tracer. | |
3668 | (rest_of_handle_loop2): Pass 0 to cfg_layout_initialize. | |
3669 | ||
fa0a2ae5 DE |
3670 | 2004-07-25 David Edelsohn <edelsohn@gnu.org> |
3671 | ||
dbe9c577 | 3672 | PR target/16239 |
fa0a2ae5 DE |
3673 | * config/rs6000/rs6000.md (movdi_internal64): Further disparage |
3674 | f->f. | |
3675 | ||
63d1c7b3 NS |
3676 | 2004-07-24 Nathan Sidwell <nathan@codesourcery.com> |
3677 | ||
3678 | * tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree). | |
3679 | (BINFO_BASE_ACCESS): Adjust. | |
3680 | (BINFO_BASE_ACCESS_APPEND): New. | |
3681 | (struct tree_binfo): Make base_accesses a VEC(tree) pointer. | |
3682 | * dbxout.c (dbxout_type): Adjust binfo access accessing. | |
3683 | * dwarf2out.c (gen_member_die): Likewise. | |
3684 | * tree-dump.c (deque_and_dump): Likewise. | |
3685 | ||
3686 | 2004-07-26 Falk Hueffner <falk@debian.org> | |
9b4f6a07 FH |
3687 | |
3688 | * config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div | |
3689 | costs. | |
3690 | ||
fb364dc4 RS |
3691 | 2004-07-25 Roger Sayle <roger@eyesopen.com> |
3692 | ||
3693 | * config/i386/i386.c (output_fp_compare): Use ffreep to pop top | |
3694 | value off of the stack if TARGET_USE_FFREEP. | |
3695 | ||
cca8ead2 BI |
3696 | 2004-07-26 Bernardo Innocenti <bernie@develer.com> |
3697 | ||
3698 | * gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC (). | |
3699 | * gengtype-yacc.y: Likewise. Replace free() with XDELETE (). | |
3700 | * c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer | |
3701 | check on invocation of XRESIZEVEC (). | |
3702 | ||
1ad463f4 BI |
3703 | 2004-07-26 Bernardo Innocenti <bernie@develer.com> |
3704 | ||
3705 | * c-common.c (disable_builtin_function): Rename variable n to | |
3706 | new_disabled_builtin. | |
3707 | * c-decl.c (duplicate_decls): Rename parameter decl to new_decl. | |
3708 | Rename local variable old to old_decl. | |
3709 | * gensupport.c (shift_output_template): Rename parameter old to src. | |
3710 | * simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to | |
3711 | old_rtx and newx to new_rtx. | |
3712 | ||
f4086145 BI |
3713 | 2004-07-26 Bernardo Innocenti <bernie@develer.com> |
3714 | ||
3715 | * Makefile.in (C_PRAGMA_H): New variable to track dependencies | |
3716 | of c-pragma.h. | |
3717 | * c-pragma.h (c_lex, c_lex_with_flags): Change returntype to | |
3718 | enum cpp_ttype. | |
3719 | * c-lex.c: Likewise. | |
3720 | ||
e9ea8bd5 RS |
3721 | 2004-07-25 Roger Sayle <roger@eyesopen.com> |
3722 | ||
3723 | * fold-const.c (constant_boolean_node): Make extern. | |
3724 | (make_range): Wrap long lines. | |
3725 | (fold_cond_expr_with_comparison): Remove unnecessary call to | |
3726 | pedantic_non_lvalue. Add missing calls to fold_convert. | |
3727 | (fold_truthop): Add missing calls to fold_convert. | |
3728 | (fold): Likewise. | |
3729 | * tree.h (constant_boolean_node): Add prototype here. | |
3730 | * builtins.c (expand_builtin_strncmp): Add missing calls to | |
3731 | fold_convert. | |
3732 | * tree-ssa-dom.c (record_equivalences_from_incoming_edge): | |
3733 | Call fold_convert and constant_boolean_node to correct types. | |
3734 | * tree-ssa-forwprop.c (substitute_single_use_vars): Add | |
3735 | missing call to fold_convert to correct types. | |
3736 | ||
70502b2c GB |
3737 | 2004-07-26 Niall Douglas <s_fsfeurope2@nedprod.com> |
3738 | Brian Ryner <bryner@brianryner.com> | |
3739 | ||
3740 | PR c++/9283 | |
3741 | PR c++/15000 | |
3742 | * c-common.c (c_common_attribute_table): Allow | |
3743 | handle_visibility_attribute to be called for types. | |
3744 | (handle_visibility_attribute) When given a type, set the visibility | |
3745 | bits on the TYPE_NAME. When given a decl, don't set no_add_attrs | |
3746 | so that we can check later whether the attribute was present. Added | |
3747 | warning if attribute applied to non class type. | |
3748 | * c-decl.c (diagnose_mismatched_decls): Updated rules for merging | |
3749 | decls and checking that they are consistent. | |
3750 | * common.opt: Added -fvisibility. | |
3751 | * c.opt, c-opts.c: Added -fvisibility-inlines-hidden. | |
3752 | * c-pragma.h, c-pragma.c: Added handle_pragma_visibility(). | |
3753 | * flags.h, tree.h: Added assorted support defines for overall patch | |
3754 | * opts.c: Added parsing support for -fvisibility. | |
3755 | * tree.c (build_decl): Set visibility for all decls to be whatever | |
3756 | is in force at that time. | |
3757 | * varasm.c (default_binds_local_p_1): Reworked logic determining | |
3758 | when to make a symbol locally bound. | |
3759 | * doc/invoke.texi: Added documentation for -fvisibility and | |
3760 | -fvisibility-inlines-hidden. | |
3761 | ||
28dab132 BI |
3762 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3763 | ||
3764 | * basic-block.h (reorder_block_def): Rename to reorder_block_def_p. | |
3765 | * c-common.c: Add missing casts from void * to other types. | |
3766 | * c-decl.c: Likewise. | |
3767 | * c-format.c: Likewise. | |
3768 | * c-lex.c: Likewise. | |
3769 | * c-pragma.c: Likewise. | |
3770 | * c-typeck.c: Likewise. | |
3771 | * defaults.h: Likewise. | |
3772 | * genconstants.c: Likewise. | |
3773 | * gengtype-lex.l: Likewise. | |
3774 | * genmodes.c: Likewise. | |
3775 | * read-rtl.c: Likewise. | |
3776 | * rtl.c: Likewise. | |
3777 | ||
5d038c4c BI |
3778 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3779 | ||
3780 | * bitmap.c: Use type-safe memory allocation macros from libiberty. | |
3781 | * c-common.c: Likewise. | |
3782 | * c-decl.c: Likewise. | |
3783 | * c-lang.c: Likewise. | |
3784 | * c-lex.c: Likewise. | |
3785 | * c-opts.c: Likewise. | |
3786 | * c-parse.in: Likewise. | |
3787 | * c-typeck.c: Likewise. | |
3788 | * genconditions.c: Likewise. | |
3789 | * gengtype-lex.l: Likewise. | |
3790 | * gengtype-yacc.y: Likewise. | |
3791 | * gengtype.c: Likewise. | |
3792 | * genmodes.c: Likewise. | |
3793 | * gensupport.c: Likewise. | |
3794 | * read-rtl.c: Likewise. | |
3795 | * read-rtl.c (read_constants): Use INSERT instead of TRUE in call to | |
3796 | htab_find_slot(). | |
3797 | ||
89658955 BI |
3798 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3799 | ||
3800 | * c-decl.c (groktypename, groktypename_in_param_context): Rename | |
3801 | variable typename to type_name. | |
3802 | * c-lex.c (interpret_float): Likewise. | |
3803 | ||
3244e67d RS |
3804 | 2004-07-25 Roger Sayle <roger@eyesopen.com> |
3805 | ||
3806 | * convert.c (convert_to_real, convert_to_integer, | |
3807 | convert_to_complex): Replace calls to build with calls to buildN. | |
3808 | * coverage.c (tree_coverage_counter_ref): Likewise. | |
3809 | * dojump.c (do_jump): Likewise. | |
3810 | * dwarf2out.c (loc_descriptor_from_tree): Likewise. | |
3811 | * emit-rtl.c (component_ref_for_mem_expr, | |
3812 | set_mem_attributes_minus_bitpos): Likewise. | |
3813 | * explow.c (update_nonlocal_goto_save_area): Likewise. | |
3814 | * expmed.c (expand_shift, make_tree, const_mult_add_overflow_p, | |
3815 | expand_mult_add): Likewise. | |
3816 | * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall, | |
3817 | store_constructor, get_inner_reference, expand_expr_real_1, | |
3818 | try_casesi, try_tablejump): Likewise. | |
3819 | * function.c (expand_function_start): Likewise. | |
3820 | * stmt.c (emit_case_bit_tests, expand_end_case_type, | |
3821 | node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise. | |
3822 | * stor-layout.c (place_union_field, layout_type): Likewise. | |
3823 | * tree.c (substitute_in_expr, tree_fold_gcd): Likewise. | |
3824 | * varasm.c (copy_constant): Likewise. | |
3825 | ||
53ed1a12 BI |
3826 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3827 | ||
3828 | * c-common.c: Rename all identifiers named `new'. | |
3829 | * c-decl.c: Likewise. | |
3830 | * gensupport.c: Likewise. | |
3831 | * simplify-rtx.c: Likewise. | |
b12a6482 BI |
3832 | * c-common.c (disable_builtin_function): Replace a call to xmalloc() |
3833 | with XNEW(). | |
3834 | * gensupport.c (alter_output_for_insn): Replace two calls to xmalloc() | |
3835 | with XNEWVEC(). | |
53ed1a12 | 3836 | |
bbbcb2e1 JM |
3837 | 2004-07-25 Joseph S. Myers <jsm@polyomino.org.uk> |
3838 | ||
3839 | PR c/15360 | |
3840 | * c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized | |
3841 | declarations until after calling pushdecl. | |
3842 | (grokdeclarator): Set DECL_EXTERNAL for variables based on use of | |
3843 | "extern" and not on whether the declaration is initialized. | |
3844 | ||
07a43492 DJ |
3845 | 2004-07-25 Daniel Jacobowitz <dan@debian.org> |
3846 | ||
3847 | * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) | |
3848 | (sparc-*-solaris2*): Include sol2.o and sol2-protos.h. | |
3849 | * config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h", | |
3850 | "cpplib.h", "c-pragma.h", "c-common.h". | |
3851 | (solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini) | |
3852 | (solaris_register_pragmas): New functions. | |
3853 | * config/sol2-protos.h: New file. | |
3854 | * config/sol2.c: New file. | |
3855 | * config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE) | |
3856 | (REGISTER_TARGET_PRAGMAS): New macros. | |
3857 | (solaris_pending_aligns, solaris_pending_inits) | |
3858 | (solaris_pending_finis): New variables. | |
3859 | * config/t-sol2 (sol2-c.o): Update dependencies. | |
3860 | (sol2.o): New rule. | |
3861 | * config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of | |
3862 | SUBTARGET_INSERT_ATTRIBUTES. | |
3863 | (ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE. | |
3864 | * config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES) | |
3865 | (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define. | |
3866 | * config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine. | |
3867 | * config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine. | |
3868 | * config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES) | |
3869 | (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define. | |
3870 | * config/sparc/sparc.c (sparc_attribute_table): New. | |
3871 | (TARGET_INSERT_ATTRIBUTES): Define in terms of | |
3872 | SUBTARGET_INSERT_ATTRIBUTES. | |
3873 | (TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE | |
3874 | is defined. | |
3875 | * doc/extend.texi (Solaris Pragmas): New section. | |
3876 | ||
e3a64162 BI |
3877 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3878 | ||
3879 | * c-common.c: Rename all identifiers named `class' to `cl'. | |
3880 | * c-common.h: Likewise. | |
3881 | * c-parse.in: Likewise. | |
3882 | * c-typeck.c: Likewise. | |
3883 | * genmodes.c: Likewise. | |
3884 | * real.c: Likewise. | |
3885 | * real.h: Likewise. | |
3886 | * recog.c: Likewise. | |
3887 | * recog.h: Likewise. | |
3888 | * regrename.c: Likewise. | |
3889 | * tree.h: Likewise. | |
4f3d87d6 BI |
3890 | * c-common.c (builtin_function_2): Change type of 5th parameter from |
3891 | int to enum built_in_function. Change type of 8th parameter from int | |
3892 | to bool. | |
3893 | * c-decl (builtin_function): Replace call to ggc_alloc_cleared () | |
3894 | with GGC_CNEW(). | |
3895 | * c-typeck.c (convert_arguments): Change type of formal_prec from | |
3896 | int to unsigned int. | |
3897 | * genmodes.c (blank_mode): Make a few negative constants unsigned. | |
3898 | (complete_all_modes, calc_wider_mode, emit_insn_modes_h, | |
3899 | emit_mode_name, emit_mode_class, emit_mode_precision, emit_mode_size, | |
3900 | emit_mode_nunits, emit_mode_wider, emit_mode_mask, emit_mode_inner, | |
3901 | emit_mode_base_align, emit_class_narrowest_mode): Pass an integer | |
3902 | iterator to for_all_modes () instead of an enum because enums can't | |
3903 | be incremented in C++. | |
3904 | ||
e3a64162 | 3905 | |
97b69e51 DJ |
3906 | 2004-07-25 Daniel Jacobowitz <dan@debian.org> |
3907 | ||
3908 | * regmove.c (optimize_reg_copy_1): Don't try to replace call-used | |
3909 | hard registers. | |
3910 | ||
a9315f66 RK |
3911 | 2004-07-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
3912 | ||
3913 | * tree-ssa-operands.c (get_stmt_operands, get_expr_operands): | |
3914 | Handle ARRAY_RANGE_REF like ARRAY_REF. | |
3915 | ||
197463ae JM |
3916 | 2004-07-25 Joseph S. Myers <jsm@polyomino.org.uk> |
3917 | ||
3918 | * c-typeck.c (digest_init): Don't allow arrays of signed or | |
3919 | unsigned variants of wchar_t to be initialized by wide string | |
3920 | constants. Do allow arrays of enumerated types compatible with | |
3921 | wchar_t to be initialized by wide string constants. Refine tests | |
3922 | distinguishing wide and narrow strings and arrays. Give specific | |
3923 | error for arrays of other integer types initialized by string | |
3924 | constants. | |
3925 | (output_init_element, process_init_element): Check for | |
3926 | INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when | |
3927 | initializing with string constants. | |
3928 | ||
b785f485 RH |
3929 | 2004-07-25 Richard Henderson <rth@redhat.com> |
3930 | ||
3931 | * c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P | |
3932 | on the RESULT_DECL. | |
3933 | * cgraphunit.c (cgraph_build_static_cdtor): Likewise. | |
3934 | * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and | |
3935 | DECL_IGNORED_P to new decl. | |
3936 | ||
78d8e0f9 ZW |
3937 | 2004-07-24 Zack Weinberg <zack@codesourcery.com> |
3938 | ||
3939 | * config/ia64/ia64.c (general_xfmode_operand) | |
3940 | (destination_xfmode_operand): Delete. | |
3941 | * config/ia64/ia64.h (PREDICATE_CODES): Remove them. | |
3942 | * config/ia64/ia64.md (*movxf_internal): Use general_operand | |
3943 | and destination_operand. | |
3944 | ||
3945 | 2004-07-24 Alexander Kabaev <kan@freebsd.org> | |
3946 | ||
3947 | * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing. | |
3948 | (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS. | |
3949 | ||
c5e36c09 ZW |
3950 | 2004-07-24 Alexander Kabaev <kan@freebsd.org> |
3951 | Zack Weinberg <zack@codesourcery.com | |
3952 | ||
3953 | PR 16684 | |
3954 | * c-decl.c (diagnose_mismatched_decls): Don't issue a | |
3955 | redundant-declaration warning the first time a builtin is | |
3956 | declared explicitly. | |
3957 | ||
9d55a966 BI |
3958 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3959 | ||
3960 | * tree.h (staticp): Change return type to bool. | |
3961 | ||
43050a72 BI |
3962 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3963 | ||
3964 | * c-common.c (c_staticp): Last episode of the staticp saga. | |
3965 | ||
ea06b166 BI |
3966 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3967 | ||
3968 | * c-common.h (c_staticp): Change return type from int to bool. | |
3969 | * tree.c (staticp): Likewise. | |
3970 | * langhooks.h (staticp): Likewise. | |
3971 | ||
02a0b1f2 BI |
3972 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3973 | ||
3974 | * langhooks-def.h (lhd_staticp): Change return type from int to | |
3975 | bool in prototype to match definition. | |
3976 | ||
ca79179c BI |
3977 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3978 | ||
3979 | * system.h (bool, true, false): Don't redefine as preprocessor macros | |
3980 | in C++. | |
3981 | ||
8b91e18c RS |
3982 | 2004-07-24 Roger Sayle <roger@eyesopen.com> |
3983 | ||
3984 | * expmed.c (init_expmed): A signed modulus by a power of two is | |
3985 | considered cheap if its less than or equal to four instructions. | |
3986 | ||
c32118f9 BI |
3987 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3988 | ||
3989 | * ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, | |
3990 | GGC_CNEWVAR): New macros. | |
3991 | ||
e18476eb BI |
3992 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> |
3993 | ||
3994 | * c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter | |
3995 | lists. | |
3996 | * c-decl.c: Likewise. | |
3997 | * c-format.c: Likewise. | |
3998 | * c-lex.c: Likewise. | |
3999 | * c-opts.c: Likewise. | |
4000 | * c-pragma.c: Likewise. | |
4001 | * c-typeck.c: Likewise. | |
4002 | * gencheck.c: Likewise. | |
4003 | * genconditions.c: Likewise. | |
4004 | * genconfig.c: Likewise. | |
4005 | * genflags.c: Likewise. | |
4006 | * gengtype.c: Likewise. | |
4007 | * gensupport.c: Likewise. | |
4008 | * ggc-none.c: Likewise. | |
4009 | * langhooks.c: Likewise. | |
4010 | * statistics.h: Likewise. | |
4011 | * stub-objc.c: Likewise. | |
4012 | * java/decl.c: Likewise. | |
4013 | ||
428511bb RZ |
4014 | 2004-07-24 Roman Zippel <zippel@linux-m68k.org> |
4015 | ||
4016 | * config/m68k/m68k.c (output_scc_di): Fix coding style. | |
4017 | (symbolic_operand): Fix prototype. | |
4018 | * config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand. | |
4019 | * config/m68k/m68k.md: Add constants for registers a0 and sp and | |
4020 | use them, change from the "{...}" syntax to the simpler {...} | |
4021 | syntax. | |
4022 | (*cfv4_extendqisi2): Fix destination predicate. | |
4023 | * config/m68k/m68k-protos.h: Remove various declarations also | |
4024 | generated via PREDICATE_CODES. | |
4025 | ||
0c6d8428 MS |
4026 | 2004-07-23 Mike Stump <mrs@apple.com> |
4027 | ||
63d1c7b3 NS |
4028 | * c-typeck.c (convert_for_assignment): Tightened up pointer |
4029 | converstions that differ in signedness. | |
0c6d8428 | 4030 | |
4c61a9fd ZW |
4031 | 2004-07-23 Zack Weinberg <zack@codesourcery.com> |
4032 | ||
4033 | * genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED. | |
4034 | ||
9e51aaf5 RK |
4035 | 2004-07-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
4036 | ||
4626c433 RK |
4037 | * tree.def (VIEW_CONVERT_EXPR): Change to class 'r'. |
4038 | * tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New. | |
4039 | ||
9e51aaf5 RK |
4040 | * gimplify.c (gimplify_compound_lval): Check for no handled |
4041 | operations, rather than checking for explicit list of nodes. | |
4042 | (is_gimple_addr_expr_arg_or_indirect): New function. | |
4043 | (gimplify_addr_expr): Call it and handle INDIRECT_REF; remove | |
4044 | redundant setting of TREE_INVARIANT. | |
4045 | (gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval. | |
4046 | * tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p. | |
4c61a9fd | 4047 | |
bbc630f5 DN |
4048 | 2004-07-23 Diego Novillo <dnovillo@redhat.com> |
4049 | ||
4050 | PR tree-optimization/16688 | |
4051 | PR tree-optimization/16689 | |
4052 | * tree-ssa-alias.c (setup_pointers_and_addressables): Remove | |
4053 | unnecessary initialization of 'tag'. | |
4054 | (get_tmt_for): Check that the new type tag has the same alias | |
4055 | set as the pointed-to type. | |
4056 | (group_aliases): Only regular variables need to be removed | |
4057 | from the alias set of a name tag. | |
4058 | * tree-ssa-copy.c (may_propagate_copy): Do not allow copy | |
4059 | propagation if the two types are not compatible. | |
4060 | (merge_alias_info): Rename from replace_ssa_names_ann. | |
4061 | Add more checking. | |
4062 | (replace_exp_1): If both arguments are SSA_NAMEs, check that | |
4063 | the propagation can be done. | |
4064 | Only call merge_alias_info on pointers. | |
4065 | (propagate_value): Likewise. | |
4066 | * tree-ssa-copyrename.c: Include langhooks.h. | |
4067 | (copy_rename_partition_coalesce): Call replace_ssa_name_symbol | |
4068 | to do the merging. | |
4069 | Do not coalesce variables with incompatible types. | |
4070 | (rename_ssa_copies): Call replace_ssa_name_symbol. | |
4071 | * tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has | |
4072 | the same type as the underlying _DECL. | |
4073 | * tree-ssanames.c (replace_ssa_name_symbol): New function. | |
4074 | * tree.h (replace_ssa_name_symbol): Declare. | |
4075 | ||
d91ba7b0 RH |
4076 | 2004-07-23 Richard Henderson <rth@redhat.com> |
4077 | ||
4078 | PR c++/16277 | |
4079 | * gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval; | |
4080 | unshare it properly. | |
4081 | (gimplify_modify_expr_rhs): Push assignment from a conditional into | |
4082 | the conditional for all non-register types. | |
4083 | ||
ab8907ef RH |
4084 | 2004-07-23 Richard Henderson <rth@redhat.com> |
4085 | ||
4086 | * expr.c (expand_expr_real_1): Don't handle non-local variables. | |
4087 | * expr.h (fix_lexical_addr): Remove. | |
4088 | * function.c (NEED_SEPARATE_AP): Remove. | |
4089 | (fix_lexical_addr): Remove. | |
4090 | * tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC, | |
4091 | not null decl_function_context. | |
4092 | (create_alias_vars): Likewise. | |
4093 | * tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels. | |
4094 | (simple_goto_p): Likewise. | |
4095 | * tree-dfa.c (add_referenced_var): Don't check for non-local variables. | |
4096 | * tree-ssa-ccp.c (get_default_value): Likewise. | |
4097 | * tree-tailcall.c (suitable_for_tail_opt_p): Likewise. | |
4098 | * tree.c (needs_to_live_in_memory): Likewise. | |
4099 | * tree-flow-inline.h (may_be_aliased): Move... | |
4100 | * tree-ssa-alias.c (may_be_aliased): ... here. Enhance check for | |
4101 | when TREE_STATIC variables may be addressable. | |
4102 | ||
5aa33bdb JJ |
4103 | 2004-07-24 Jakub Jelinek <jakub@redhat.com> |
4104 | ||
4105 | * Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp. | |
4106 | ||
30678c3e ZW |
4107 | 2004-07-23 Zack Weinberg <zack@codesourcery.com> |
4108 | ||
4109 | * print-rtl.c (print_rtx <case 'b'>): Don't attempt to print | |
4110 | bitmap contents if GENERATOR_FILE is defined. | |
4111 | * Makefile.in (BUILD_RTL): Remove $(BUILD_PREFIX)bitmap.o. | |
4112 | ($(BUILD_PREFIX_1)bitmap.o): Delete rule. | |
4113 | ||
7eb01bd8 JM |
4114 | 2004-07-23 Joseph S. Myers <jsm@polyomino.org.uk> |
4115 | ||
4116 | * c-decl.c (start_function): Form composite type of function types | |
4117 | rather than copying type from previous prototype declaration. | |
4118 | ||
3a062dc0 JJ |
4119 | 2004-07-23 Janis Johnson <janis187@us.ibm.com> |
4120 | ||
f67376e4 JJ |
4121 | * config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove |
4122 | the const qualifier for the second argument in the C++ functions. | |
4123 | ||
be3ec667 JJ |
4124 | * config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use |
4125 | specific pointer types. | |
4126 | ||
e0b9f335 JJ |
4127 | * config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm, |
4128 | vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used | |
4129 | for vector bool and/or vector pixel, add C++ and C missing support. | |
4130 | (vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh, | |
4131 | vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh, | |
4132 | vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum, | |
4133 | vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws, | |
4134 | vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add | |
4135 | missing C++ and C support for vector bool and/or vector pixel. | |
4136 | (vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw, | |
4137 | vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw, | |
4138 | vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw, | |
4139 | vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub, | |
4140 | vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix | |
4141 | C++ and C types used for vector bool and/or vector pixel. | |
4142 | (vec_st, vec_stl): Add C++ support for vector pixel. | |
4143 | (vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool. | |
4144 | (vec_all_ne): Add C++ support for vector pixel. | |
4145 | ||
3a062dc0 JJ |
4146 | * config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name. |
4147 | (vec_vmulesb): Add missing C++ function. | |
4148 | (vec_perm): Fix type of third argument in C++ function. | |
4149 | (vec_vsum4shs): Fix C++ function name. | |
4150 | (vec_any_ge): Remove C++ functions for unsupported arg combinations. | |
4151 | (vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the | |
4152 | argument passed to the error handler in C macro. | |
4153 | (vec_nmsub): Remove extra parens around argument names in C macro. | |
4154 | (vec_packpx): Add missing parens in C macro. | |
4155 | ||
49e76be8 PB |
4156 | 2004-07-22 Paolo Bonzini <bonzini@gnu.org> |
4157 | ||
4158 | * machmode.def: Remove vector modes. | |
4159 | * config/alpha/alpha-modes.def: Add supported vector modes. | |
4160 | * config/arm/arm-modes.def: Likewise. | |
4161 | * config/frv/frv-modes.def: Likewise. | |
4162 | * config/i386/i386-modes.def: Likewise. | |
4163 | * config/rs6000/rs6000-modes.def: Likewise. | |
4164 | * config/sh/sh-modes.def: Likewise. | |
4165 | ||
30678c3e ZW |
4166 | 2004-07-23 Matthias Klose <doko@debian.org> |
4167 | ||
4168 | * intl.c (gcc_init_libintl): Use PACKAGE for the text domain. | |
4169 | * configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE. | |
49e76be8 | 4170 | * config.h: Regenerate. |
30678c3e | 4171 | * configure: Likewise. |
c2c36d38 | 4172 | |
11abc112 MM |
4173 | 2004-07-22 Mark Mitchell <mark@codesourcery.com> |
4174 | ||
4175 | * dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on | |
4176 | generated SYMBOL_REFs for labels. | |
4177 | * config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr): | |
4178 | Change prototype. | |
4179 | (machopic_stub_name): Remove. | |
4180 | (machopic_indirection_name): New function. | |
4181 | (machopic_mcount_stub_name): Likewise. | |
4182 | (machopic_classify_name): Remove. | |
4183 | (machopic_function_base_sym): New function. | |
4184 | (machpoic_classify_symbol): Likewise. | |
4185 | (machopic_classify_ident): Remove. | |
4186 | (machopic_define_ident): Likewise. | |
4187 | (machopic_define_name): Likewise. | |
4188 | (machopic_name_defined_p): Likewise. | |
4189 | (machopic_ident_defined_p): Likewise. | |
4190 | (darwin_strip_name_encoding): Likewise. | |
4191 | (machopic_define_symbol): New function. | |
4192 | * config/darwin.c (hashtab.h): Include. | |
4193 | (machopic_defined_list): Remove. | |
4194 | (machopic_classify_ident): Likewise. | |
4195 | (machopic_classify_name): Likewise. | |
4196 | (machopic_ident_defined_p): Likewise. | |
4197 | (machopic_define_ident): Likewise. | |
4198 | (machopic_define_name): Likewise. | |
4199 | (machopic_symbol_defined_p): New function. | |
4200 | (machopic_classify_symbol): Likewise. | |
4201 | (machopic_data_defined_p): Use machopic_classify_symbol. | |
4202 | (machopic_define_symbol): New function. | |
4203 | (machopic_function_base_sym): New function. | |
4204 | (machopic_non_lazy_pointers): Remove. | |
4205 | (machopic_non_lazy_ptr_name): Likewise. | |
4206 | (machopic_stubs): Likewise. | |
4207 | (machopic_stub_name): Likewise. | |
4208 | (NON_LAZY_POINTER_SUFFIX): New macro. | |
4209 | (STUB_SUFFIX): Likewise. | |
4210 | (machopic_indirection): New structure. | |
4211 | (machopic_indirections): New variable. | |
4212 | (machopic_indirection_hash): New function. | |
4213 | (machopic_indirection_eq): Likewise. | |
4214 | (machopic_indirection_name): Likewise. | |
4215 | (machopic_mcount_stub_name): New function. | |
4216 | (machopic_validate_stub_or_non_lazy_pointer): Reimplement to use | |
4217 | hash table. | |
4218 | (machopic_indirect_data_reference): Rework to use new functions. | |
4219 | (machopic_indirect_call_target): Likewise. | |
4220 | (machopic_legitimize_pic_address): Likewise. | |
4221 | (machopic_output_indirection): New function. | |
4222 | (machopic_finish): Use it. | |
4223 | (machopic_operand_p): Rework to use new functions. | |
4224 | (darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS. | |
4225 | (darwin_strip_name_encoding): Remove. | |
4226 | (update_non_lazy_ptrs): Remove. | |
4227 | (update_stubs): Likewise. | |
4228 | (darwin_non_lazy_pcrel): Use new functions. | |
4229 | * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise. | |
4230 | (ASM_OUTPUT_LABELREF): Likewise. | |
4231 | (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. | |
4232 | (MACHO_SYMBOL_FLAG_VARIABLE): New macro. | |
4233 | (MACHO_SYMBOL_FLAG_DEFINED): Likewise. | |
4234 | (TARGET_STRIP_NAME_ENCODING): Do not use | |
4235 | darwin_strip_name_encoding. | |
4236 | (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use | |
4237 | darwin_strip_name_encoding. | |
4238 | * config/i386/darwin.h (FUNCTION_PROFILER): Use | |
4239 | machopic_mcount_stub_name. | |
4240 | * config/i386/i386.c (x86_output_mi_thunk): Use | |
4241 | machopic_indirection_name, not machopic_stub_name. | |
4242 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use | |
4243 | machopic_function_base_sym. | |
4244 | (print_operand): Use machopic_classify_symbol. | |
4245 | (rs6000_emit_prologue): Use machopic_function_base_sym. | |
4246 | (output_profile_hook): Do not use machopic_stub_name. | |
4247 | (macho_branch_isalnds): Do not use darwin_strip_name_encoding. | |
30678c3e | 4248 | |
9e629a80 JM |
4249 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
4250 | ||
4251 | PR c/7284 | |
4252 | * fold-const.c (extract_muldiv_1): Do not treat signed left shift | |
4253 | as multiplication. | |
4254 | ||
d592f1c3 JM |
4255 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
4256 | ||
4257 | * doc/implement-c.texi: New file. | |
4258 | * doc/extend.texi (C Implementation): Move to there. | |
4259 | * doc/gcc.texi: Include implement-c.texi. | |
4260 | * Makefile.in (TEXI_GCC_FILES): Add implement-c.texi. | |
4261 | ||
669d6ecc JM |
4262 | 2004-07-22 Jason Merrill <jason@redhat.com> |
4263 | ||
4264 | * integrate.c (copy_decl_for_inlining): Remove invisible reference | |
4265 | handling. | |
4266 | * tree-inline.c (setup_one_parameter): Likewise. | |
4267 | ||
173b818d BB |
4268 | 2004-07-22 Brian Booth <bbooth@redhat.com> |
4269 | ||
4270 | * tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL. | |
4271 | (substitute_and_fold): Propigate into VUSE operands when possible. | |
4272 | (visit_phi_node): Handle UNKNOWN_VAL latticevalue. | |
30678c3e | 4273 | (cp_lattice_meet): Handle merging of latticevalues when |
173b818d BB |
4274 | UNKNOWN_VAL is present. |
4275 | (visit_stmt): Visit assignments with V_MUST_DEFs. | |
4276 | (visit_assignment): Gather ccp information for V_MUST_DEF operands. | |
4277 | (ccp_fold): Deal with RHS' that are constant and virtual. | |
4278 | (evaluate_stmt): Handle UNKNOWN_VAL likely values. | |
4279 | (dump_lattice_value): Dump UNKNOWN_VAL latticevalues. | |
4280 | (initialize): Mark statements with V_MUST_DEFs as VARYING only if the | |
30678c3e | 4281 | V_MUST_DEF operand is VARYING. Fix comment and include VOPS when |
173b818d | 4282 | computing immediate uses. |
30678c3e | 4283 | (set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state |
173b818d BB |
4284 | transition. |
4285 | (replace_vuse_in): New function. | |
4286 | (likely_value): Add check of vuse operands. | |
30678c3e | 4287 | (get_default_value): Set the default value of virtually defined |
173b818d BB |
4288 | variables to UKNOWN_VAL instead of VARYING. |
4289 | ||
2bb16349 RH |
4290 | 2004-07-22 Richard Henderson <rth@redhat.com> |
4291 | ||
4292 | * expr.c (emit_push_insn): Don't use set_mem_attributes. | |
4293 | ||
312bc278 RH |
4294 | 2004-07-22 Richard Henderson <rth@redhat.com> |
4295 | ||
4296 | * tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used | |
4297 | variables due to conditional compilation. | |
4298 | ||
53b4bf74 DN |
4299 | 2004-07-22 Diego Novillo <dnovillo@redhat.com> |
4300 | ||
4301 | * tree-into-ssa.c (set_livein_block): Fix typo in comment. | |
4302 | (rewrite_ssa_into_ssa): Start iterating over SSA names at 1. | |
4303 | Release SSA names that have been re-renamed. | |
4304 | * tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the | |
4305 | variable. | |
4306 | * tree-ssa-alias.c (init_alias_info): If aliases have been | |
4307 | computed before, clear existing alias information. | |
4308 | (create_name_tags): Do no fixup PT_ANYTHING pointers. | |
4309 | If the new name tag for a pointer is different than the one it | |
4310 | had before, mark the old tag for renaming. | |
4311 | (replace_may_alias): New function. | |
4312 | (group_aliases): Call it. | |
4313 | (setup_pointers_and_addressables): Always call get_tmt_for. | |
4314 | (maybe_create_global_var): Don't create .GLOBAL_VAR more than | |
4315 | once. | |
4316 | (set_pt_anything): New local function. | |
4317 | (set_pt_malloc): New local function. | |
4318 | (merge_pointed_to_info): Don't merge pointed-to variables from | |
4319 | the original pointer if the destination is pointing to an | |
4320 | unknown location. | |
4321 | (add_pointed_to_expr): Call set_pt_anything and set_pt_malloc. | |
4322 | (add_pointed_to_var): Do not add a variable to the points-to | |
4323 | set if the pointer is already pointing to anywhere. | |
4324 | (collect_points_to_info_r): If the defining statement is a PHI | |
4325 | node, only merge pointed-to information if the argument has | |
4326 | already been visited. | |
4327 | (get_tmt_for): Only create a new tag if the pointer didn't | |
4328 | have one already. | |
4329 | (dump_alias_info): Emit more information. | |
4330 | (dump_points_to_info_for): Likewise. | |
4331 | * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't | |
4332 | try to get the annotation of an SSA_NAME. | |
4333 | * tree-ssa-operands.c (add_stmt_operand): Only check for empty | |
4334 | alias sets when checking is enabled. | |
4335 | * tree-ssa-pre.c (need_eh_cleanup): New local variable. | |
4336 | (eliminate): Mark basic blocks that will need | |
4337 | EH information cleaned up. | |
4338 | (init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one | |
4339 | predecessor. | |
4340 | Initialize need_eh_cleanup. | |
4341 | (fini_pre): Call tree_purge_all_dead_eh_edges and | |
4342 | cleanup_tree_cfg if needed. | |
4343 | Free need_eh_cleanup. | |
4344 | * tree-ssa.c (verify_ssa_name): New function. | |
4345 | (verify_def): Call it. | |
4346 | Re-arrange to avoid printing too many error messages. | |
4347 | (verify_use): Likewise. | |
4348 | (verify_phi_args): Likewise. | |
4349 | (verify_flow_insensitive_alias_info): New function. | |
4350 | (verify_flow_sensitive_alias_info): New function. | |
4351 | (verify_alias_info): New function. | |
4352 | (verify_ssa): Call verify_alias_info. | |
4353 | Clear TREE_VISITED on all the SSA_NAMEs before scanning the | |
4354 | program. | |
4355 | Re-arrange to avoid printing too many error messages. | |
4356 | * tree-ssanames.c (make_ssa_name): Clear | |
4357 | SSA_NAME_IN_FREE_LIST. | |
4358 | (release_ssa_name): Never release a default definition. | |
4359 | (release_defs): New function. | |
4360 | * tree.h: Declare it. | |
4361 | * tree-ssa-dce.c (remove_dead_stmt): Call it. | |
4362 | ||
4363 | 2004-07-22 Diego Novillo <dnovillo@redhat.com> | |
4364 | ||
4365 | * tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS. | |
4366 | If true, do a depth-first search. Do a breadht-first search, | |
4367 | otherwise. | |
4368 | (walk_use_def_chains): Add new argument IS_DFS. | |
4369 | Update all users. | |
4370 | * tree-flow.h (walk_use_def_chains): Update prototype. | |
4371 | ||
8ad46d34 HPN |
4372 | 2004-07-22 Hans-Peter Nilsson <hp@axis.com> |
4373 | ||
4374 | * config/cris/cris.md: Tweak formatting. | |
4375 | (asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi) | |
4376 | (mover2side, moverside, movemside, movei, op3, andu): Replace | |
4377 | live define_peephole:s with define_peephole2 near-equivalents. | |
4378 | Delete the rest. | |
4379 | ("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap". Match all | |
4380 | word-size modes. | |
4381 | ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"): | |
4382 | Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and | |
4383 | "*mov_sidesi_mem" respectively. | |
4384 | ||
26277d41 PB |
4385 | 2004-07-22 Paolo Bonzini <bonzini@gnu.org> |
4386 | ||
4387 | * tree-cfg.c (gimplify_val): Move from tree-complex.c. | |
4388 | (gimplify_build1): Move from tree-complex.c do_unop. | |
4389 | (gimplify_build2): Move from tree-complex.c do_binop. | |
4390 | (gimplify_build3): New. | |
4391 | * tree-complex.c (gimplify_val, do_unop, do_binop): Remove. | |
4392 | Adjust throughout to call the functions above. | |
4393 | * tree-flow.h: Declare the functions above. | |
4394 | * tree-nested.c (gimplify_val): Rename to... | |
4395 | (tsi_gimplify_val): ... this. | |
4396 | ||
4397 | * Makefile.in (tree_complex.o): Update dependencies. | |
4398 | (stor-layout.o): Depend on regs.h. | |
4399 | * c-common.c (handle_vector_size_attribute): Update for | |
4400 | vector types without corresponding vector modes. | |
4401 | * expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if | |
4402 | a corresponding vector mode is not available. | |
4403 | * print-tree.c (print_node): Print nunits for vector types | |
4404 | * regclass.c (have_regs_of_mode): New. | |
4405 | (init_reg_sets_1): Initialize it and use it instead | |
4406 | of allocatable_regs_of_mode. | |
4407 | * regs.h (have_regs_of_mode): Declare it. | |
4408 | * stor-layout.c (layout_type): Pick a mode for vector types. | |
4409 | * tree-complex.c (build_word_mode_vector_type, tree_vec_extract, | |
4410 | build_replicated_const, do_unop, do_binop, do_plus_minus, | |
4411 | do_negate, expand_vector_piecewise, expand_vector_parallel, | |
4412 | expand_vector_addition, expand_vector_operations_1, | |
4413 | expand_vector_operations, tree_lower_operations, | |
4414 | pass_lower_vector_ssa, pass_pre_expand): New. | |
4415 | (expand_complex_operations, pass_lower_complex): Remove. | |
4416 | * tree-optimize.c (init_tree_optimization_passes): Adjust | |
4417 | pass ordering for changes in tree-complex.c. | |
4418 | * tree-pass.h: Declare new passes. | |
4419 | * tree.c (finish_vector_type): Remove. | |
4420 | (make_vector_type): New. | |
4421 | (build_vector_type_for_mode, build_vector_type): Rewritten. | |
4422 | * tree.def (VECTOR_TYPE): Document where the number of | |
4423 | subparts is stored. | |
4424 | * tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field. | |
4425 | (make_vector): Remove declaration. | |
4426 | ||
727a31fa RH |
4427 | 2004-07-21 Richard Henderson <rth@redhat.com> |
4428 | ||
4429 | * gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE, | |
4430 | TREE_THIS_VOLATILE, may_aliases, or optimization level. | |
4431 | (remove_useless_vars): Dump debugging info. | |
4432 | (expand_used_vars): Move ... | |
4433 | * cfgexpand.c (expand_used_vars): ... here. Make static. | |
4434 | * tree-flow-inline.h (set_is_used): New. | |
4435 | (set_default_def): Use get_var_ann. | |
4436 | * tree-flow.h: Update decls. | |
4437 | * tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New. | |
4438 | (create_ssa_var_map): Use it. | |
4439 | * tree-ssa.c (set_is_used): Remove. | |
4440 | ||
c9092111 BE |
4441 | 2004-07-22 Ben Elliston <bje@au.ibm.com> |
4442 | ||
4443 | * gdbinit.in: Set a breakpoint on internal_error. | |
4444 | ||
224e770b RH |
4445 | 2004-07-21 Richard Henderson <rth@redhat.com> |
4446 | ||
4447 | * cfgexpand.c (expand_gimple_tailcall): Fix case where we need | |
4448 | to create a new basic block. | |
4449 | ||
e508a019 JM |
4450 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
4451 | ||
4452 | PR c/15052 | |
4453 | * c-decl.c (grokdeclarator): Only pedwarn for qualified void | |
4454 | return type on function definitions. Move other warnings for | |
4455 | qualified return type to -Wreturn-type. Do not condition any such | |
4456 | warnings on -pedantic. Update comments. | |
4457 | (start_function): Only copy function type from previous prototype | |
4458 | declaration if return types are compatible. | |
4459 | * c-typeck.c (function_types_compatible_p): Don't condition | |
4460 | warning for incompatibility of volatile qualifiers on the return | |
4461 | type on -pedantic. Update comment. | |
4462 | * doc/invoke.texi (-Wreturn-type, -Wextra): Update. | |
4463 | ||
3ea8cd06 JM |
4464 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
4465 | ||
4466 | * c-typeck.c (set_init_index): Require designator to be of integer | |
4467 | type. | |
4468 | ||
916c5919 JM |
4469 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
4470 | ||
4471 | PR c/11250 | |
4472 | * c-parse.in (init): Change to exprtype. | |
4473 | (primary): Set original_code for STRING to STRING_CST. | |
4474 | Call maybe_warn_string_init for compound literals. | |
4475 | (initdcl, notype_initdcl): Call maybe_warn_string_init. | |
4476 | (initval): Update. | |
4477 | * c-tree.h (maybe_warn_string_init): New. | |
4478 | (pop_init_level, process_init_element): Use struct c_expr. | |
4479 | (struct c_expr): Update comment. | |
4480 | * c-typeck.c (maybe_warn_string_init): New function. | |
4481 | (digest_init): Call it. Additional parameter strict_string. All | |
4482 | callers changed. | |
4483 | (output_init_element): Likewise. | |
4484 | (struct constructor_stack): Use struct c_expr for | |
4485 | replacement_value. | |
4486 | (really_start_incremental_init, push_init_level): Update. | |
4487 | (pop_init_level): Update. Return struct c_expr. | |
4488 | (process_init_level): Update. Take struct c_expr argument. | |
4489 | ||
bf6c40e9 DM |
4490 | 2004-07-21 David S. Miller <davem@nuts.davemloft.net> |
4491 | ||
4492 | * config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous | |
4493 | commit. | |
4494 | ||
caf93cb0 EC |
4495 | 2004-07-21 Eric Christopher <echristo@redhat.com> |
4496 | ||
4497 | * builtins.c (expand_builtin_setjmp_receiver): Fix comment for code | |
4498 | removal. | |
4499 | * c-decl.c (pop_scope): Ditto. | |
4500 | * calls.c (expand_call): Remove call to current_nesting_level, | |
4501 | update comment accordingly. Remove calls to expand_start_target_temps | |
4502 | and expand_end_target_temps. | |
4503 | * cfgexpand.c (construct_init_block): Remove call to | |
4504 | expand_start_bindings_and_block. | |
4505 | (construct_exit_block): Remove call to expand_end_bindings. | |
4506 | * expr.c (safe_from_p): Remove BIND_EXPR handling. | |
4507 | (expand_expr_real_1): Ditto. Fix formatting. | |
4508 | (expand_vars): Delete. | |
4509 | * stmt.c (POPSTACK): Remove block_stack. | |
4510 | (stmt_status): Remove x_block_stack. | |
4511 | (block_stack): Delete. | |
4512 | (expand_start_bindings_and_block): Ditto. | |
4513 | (expand_start_target_temps): Ditto. | |
4514 | (expand_end_target_temps): Ditto. | |
4515 | (current_nesting_level): Ditto. | |
4516 | (warn_about_unused_variables): Ditto. | |
4517 | (expand_end_bindings): Ditto. | |
4518 | * tree.h: Remove declarations for above. | |
4519 | ||
07a236b6 SB |
4520 | 2004-07-21 Steven Bosscher <stevenb@suse.de> |
4521 | ||
4522 | * rtl.h (insn_note): Remove NOTE_INSN_PREDICTION. | |
4523 | * rtl.c (note_insn_name): Likewise. | |
4524 | * print-rtl.c (print_rtx): Don't print it. | |
4525 | * cfgrtl.h (can_delete_note_p): Don't handle it. | |
4526 | (rtl_delete_block): Likewise. | |
4527 | * passes.c (rest_of_handle_guess_branch_prob): Remove. | |
4528 | (rest_of_compilation): Don't call it. | |
4529 | * predict.c (process_note_predictions, process_note_prediction, | |
4530 | note_prediction_to_br_prob): Remove. | |
4531 | * basic-block.c (note_prediction_to_br_prob): Remove prototype. | |
4532 | * stmt.c (return_prediction): Remove. | |
4533 | (expand_value_return): Don't call it. Don't add prediction | |
4534 | notes for return statements. | |
4535 | ||
0e6ed899 JZ |
4536 | 2004-07-21 Josef Zlomek <zlomekj@suse.cz> |
4537 | ||
4538 | * var-tracking.c (vt_find_locations): Set the in_pending bitmap at | |
4539 | once. | |
4540 | ||
4ae28805 PB |
4541 | 2004-07-21 Paolo Bonzini <bonzini@gnu.org> |
4542 | ||
4543 | * c-common.c (vector_types_convertible_p): Use vector types' | |
4544 | TYPE_SIZE and TREE_TYPE instead of their mode. | |
4545 | * convert.c (convert_to_integer): Likewise. | |
4546 | (convert_to_vector): Likewise. | |
4547 | * fold-const.c (fold_convert): Likewise. | |
4548 | * varasm.c (output_constant): Likewise. | |
4549 | * expr.c (store_constructor): Split ARRAY_TYPE and VECTOR_TYPE. | |
4550 | Allow a VECTOR_TYPE initializer to be made of several vectors. | |
4551 | For ARRAY_TYPEs and VECTOR_TYPES, simplify a bit the handling | |
4552 | of cleared and need_to_clear, and use fold_convert. | |
4553 | * c-typeck.c (build_binary_op): Do not use RDIV_EXPR for | |
4554 | integer vectors. | |
4555 | ||
80c7a9eb RH |
4556 | 2004-07-20 Richard Henderson <rth@redhat.com> |
4557 | ||
4558 | * cfgexpand.c (expand_gimple_cond_expr, expand_gimple_tailcall): Split, | |
4559 | (expand_gimple_basic_block): out from here. Renamed from expand_block. | |
4560 | ||
e08eb33c DM |
4561 | 2004-07-20 David S. Miller <davem@nuts.davemloft.net> |
4562 | ||
4563 | * config/sparc/sparc.c (sparc_rtx_costs case MULT): Emit | |
4564 | enormous cost if not TARGET_HARD_MUL. | |
4565 | ||
e70d4dfb AP |
4566 | 2004-07-20 Andrew Pinski <apinski@apple.com> |
4567 | ||
4568 | PR target/16557 | |
4569 | * config/i386/darwin.h (CC1_SPEC): Move the -g SPECs from ... | |
4570 | (ASM_SPEC): here. | |
4571 | ||
78773322 PB |
4572 | 2004-07-21 Paul brook <paul@codesourcery.com> |
4573 | ||
4574 | * config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT. | |
4575 | ||
462fdcce RK |
4576 | 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
4577 | ||
4578 | * fold-const.c (operand_equal_p): Temporarily support NULL args. | |
4579 | (operand_equal_p, case ARRAY_REF): Compare args 2 and 3. | |
4580 | (operand_equal_p, case COMPONENT_REF): Likewise, for arg 2. | |
4581 | ||
3e95a7cb ZW |
4582 | 2004-07-20 Zack Weinberg <zack@codesourcery.com> |
4583 | ||
4584 | * rtl.h (plus_constant): Delete. | |
4585 | (plus_constant_wide): Rename to plus_constant. | |
4586 | (plus_constant_for_output_wide): Delete vestigial prototype. | |
4587 | (GEN_INT): Remove unnecessary cast. | |
4588 | * tree.h (build_int_2, size_int_type): Delete. | |
4589 | (build_int_2_wide): Rename to build_int_2. | |
4590 | (size_int_wide): Rename to size_int_kind. | |
4591 | (size_int_type_wide): Rename to size_int_type. | |
4592 | (size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind. | |
4593 | Remove unnecessary cast. | |
4594 | * tree.c (build_int_2_wide): Rename build_int_2; update comment. | |
4595 | * explow.c (plus_constant_wide): Rename plus_constant; update comment. | |
4596 | * fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type. | |
4597 | (size_int_type_wide): Rename size_int_type. | |
4598 | (int_const_binop): Use size_int_type. | |
4599 | * c-lex.c (interpret_integer): Use build_int_2. | |
4600 | * final.c (split_double): Remove unnecessary casts. | |
4601 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2. | |
4602 | ||
14797075 RH |
4603 | 2004-07-20 Richard Henderson <rth@redhat.com> |
4604 | ||
4605 | * gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c. | |
4606 | (gimplify_compound_lval): Use is_gimple_tmp_reg. | |
4607 | * tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c. | |
4608 | (is_gimple_tmp_reg): New. | |
4609 | * tree-gimple.h (is_gimple_tmp_reg): Declare. | |
4610 | ||
40a37b04 RH |
4611 | 2004-07-20 Richard Henderson <rth@redhat.com> |
4612 | ||
4613 | * tree-pretty-print.c (dump_generic_node): Dump | |
4614 | CALL_EXPR_HAS_RETURN_SLOT_ADDR. | |
4615 | ||
5d33f41f FCE |
4616 | 2004-07-20 Frank Ch. Eigler <fche@redhat.com> |
4617 | ||
4618 | * tree-mudflap.c (mf_set_options_fndecl): New tree. | |
4619 | (mudflap_init): Set it. | |
4620 | (mudflap_register_call): Remove __mf_init call. | |
4621 | (mudflap_finish_file): Emit call to __mf_init here. Emit a call to | |
4622 | to pass "-ignore-reads" option to libmudflap if needed. | |
4623 | ||
9a55eab3 JDA |
4624 | 2004-07-20 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> |
4625 | ||
4626 | PR c++/14607 | |
4627 | * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define. | |
4628 | (MAKE_DECL_ONE_ONLY): Undefine. | |
4629 | * pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section, | |
4630 | readonly_data, one_only_data_section, forget_section): New prototypes. | |
4631 | * pa.c (pa_init_machine_status, som_text_section_asm_op): New | |
4632 | functions. | |
4633 | (pa_select_section): Add one-only (COMDAT) support. | |
4634 | * pa.h (struct machine_function): Define. | |
4635 | * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete. | |
4636 | (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op. | |
4637 | (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP, | |
4638 | ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP, | |
4639 | ONE_ONLY_DATA_SECTION_ASM_OP): New defines. | |
4640 | (EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data. | |
4641 | (EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros. | |
4642 | (READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION, | |
4643 | ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines | |
4644 | for EXTRA_SECTION_FUNCTIONS. | |
4645 | * doc/install.texi: Update binutils requirements. | |
4646 | ||
b396053c NS |
4647 | 2004-07-20 Nathan Sidwell <nathan@codesourcery.com> |
4648 | ||
3cbf09de NS |
4649 | * vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate, |
4650 | VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert, | |
4651 | VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not | |
4652 | size_t. | |
4653 | (struct VEC): Use unsigned for num and alloc. | |
4654 | * vec.c (struct vec_prefix): Likewise. | |
4655 | (vec_o_reserve): Adjust. | |
4656 | ||
bd65c564 NS |
4657 | * dbxout.c (dbxout_type): Fix printf format. |
4658 | ||
b396053c NS |
4659 | * tree.h (binfo_member): Remove. |
4660 | * tree.c (binfo_member): Remove. | |
4661 | ||
fa743e8c NS |
4662 | 2004-07-20 Nathan Sidwell <nathan@codesourcery.com> |
4663 | ||
4664 | * tree.h: Include vec.h | |
4665 | (DEF_VEC_P(tree)): New type. | |
4666 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust. | |
4667 | (BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New. | |
4668 | (BINFO_LANG_SLOT): Remove. | |
4669 | (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New. | |
4670 | (struct tree_binfo): Turn base_binfos into a trailing | |
4671 | VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields. | |
4672 | (binfo_lang_slots): Remove. | |
4673 | * tree.c (binfo_lang_slots): Remove. | |
4674 | (make_tree_binfo_stat): Take a base binfo count, not a | |
4675 | lang slot count. Adjust. | |
4676 | * Makefile.in (TREE_H): Add vec.h | |
4677 | * alias.c (record_component_aliases): Adjust BINFO access. | |
4678 | * dbxout.c (dbxout_type): Likewise. | |
4679 | * dwarf2out.c (gen_member_die): Likewise. | |
4680 | * sdbout.c (sdbout_one_type): Likewise. | |
4681 | * tree-dump.c (deque_and_dump): Likewise. | |
4682 | * config/i386/i386.c (classify_argument, | |
4683 | contains_128bit_aligned_vector_p): Likewise. | |
4684 | * config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise. | |
4685 | * doc/c-tree.texi (Classes): Update BINFO documentation. | |
4686 | ||
a6c0a76c SB |
4687 | 2004-07-20 Steven Bosscher <stevenb@suse.de> |
4688 | ||
4689 | * c-common.h (check_case_value): Remove prototype. | |
4690 | (c_add_case_label): Adjust prototype. | |
4691 | * c-common.c (check_case_value): Make static. | |
4692 | (check_case_bounds): New function. | |
4693 | (c_add_case_label): Use it. Take new argument orig_type. | |
4694 | * c-typeck.c (struct c_switch): New orig_type field. | |
4695 | (c_start_case): Set it. | |
4696 | (do_case): Pass it to c_add_case_label. | |
4697 | * expr.c (expand_expr_real_1): Don't warn for out-of-bounds | |
4698 | cases from here. Add the labels in reverse order. | |
4699 | * stmt.c (struct case_node): Adjust comment. Remove balance field. | |
4700 | (add_case_node): Return nothing, don't check for duplicate cases. | |
4701 | Insert new case nodes in a list, not in an AVL tree. | |
4702 | (expand_end_case_type): Don't turn a case tree into a case list. | |
4703 | (case_tree2list): Remove. | |
4704 | * tree.h (add_case_node): Adjust prototype. | |
4705 | ||
fa0aee89 PB |
4706 | 2004-07-19 Paolo Bonzini <bonzini@gnu.org> |
4707 | ||
4708 | * genattr.c (struct range, struct function_unit, | |
4709 | write_units, extend_range, init_range): Remove them. | |
4710 | (main): Remove code dealing with DEFINE_FUNCTION_UNIT. | |
4711 | Output "#define INSN_SCHEDULING" here. | |
4712 | * genattrtab.c (struct range, struct function_unit_op, | |
4713 | struct function_unit, struct dimension, enum operator, | |
4714 | operate_exp, expand_units, simplify_knowing, | |
4715 | encode_units_mask, simplify_by_exploding, | |
4716 | find_and_mark_used_attributes, unmark_used_attributes, | |
4717 | add_values_to_cover, increment_current_value, | |
4718 | test_for_current_value, simplify_with_current_value, | |
4719 | simplify_with_current_value_aux, gen_unit, | |
4720 | write_unit_name, write_function_unit_info, | |
4721 | write_complex_function, write_toplevel_expr, | |
4722 | find_single_value, extend_range): Remove. | |
4723 | (write_attr_get): Do not handle common_av->value | |
4724 | being an FFS. | |
4725 | (struct attr_desc): Remove func_units_p and blockage_p. | |
4726 | (write_attr_valueq): Do not handle them. | |
4727 | (find_attr): Do not clear them. | |
4728 | (make_internal_attr): Do not initialize them. | |
4729 | (main): Remove code dealing with DEFINE_FUNCTION_UNIT. | |
4730 | * sched-vis.c (init_target_units, insn_print_units, | |
4731 | init_block_visualization, print_block_visualization, | |
4732 | visualize_scheduled_insns, visualize_no_unit, | |
4733 | visualize_stall_cycles, visualize_alloc, | |
4734 | visualize_free, target_units, get_visual_tbl_length, | |
4735 | MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, | |
4736 | visual_tbl_line_length, visual_tbl, n_vis_no_unit, | |
4737 | MAX_VISUAL_NO_UNIT, vis_no_unit): Remove. | |
4738 | * haifa-sched.c (blockage_range, clear_units, | |
4739 | schedule_unit, actual_hazard, potential_hazard, | |
4740 | insn_unit, unit_last_insn, unit_tick, | |
4741 | actual_hazard_this_instance, potential_hazard, | |
4742 | schedule_unit, max_insn_queue_index_value): Remove. | |
4743 | (MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to | |
4744 | max_insn_queue_index. | |
4745 | * rtl.def (DEFINE_FUNCTION_UNIT): Remove. | |
4746 | * doc/md.texi (Processor pipeline description): Remove | |
4747 | references to old pipeline descriptions. | |
4748 | (Automaton pipeline description): Merge with the above. | |
4749 | (Old pipeline description, Comparison of the two descriptions): | |
4750 | Remove. | |
4751 | ||
4752 | * bt-load.c (migrate_btr_def): Remove references to | |
4753 | use_pipeline_interface. | |
4754 | * haifa-sched.c (insn_cost, schedule_insn, | |
4755 | schedule_block, advance_one_cycle, sched_init, | |
4756 | queue_to_ready, sched_finish): Likewise. | |
4757 | * modulo-sched.c (sms_schedule, advance_one_cycle, | |
4758 | ps_has_conflicts): Likewise. | |
4759 | * sched-rgn.c (init_ready): Likewise. | |
4760 | (debug_dependencies): Likewise, and remove an "if (1)". | |
4761 | * target.h (use_dfa_pipeline_interface): Remove. | |
4762 | * config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4763 | * config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4764 | * config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4765 | * config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4766 | * config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4767 | * config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4768 | * config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4769 | * config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4770 | * config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4771 | * config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4772 | * config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4773 | * config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4774 | * config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4775 | * config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4776 | * config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4777 | * config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4778 | * config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4779 | * config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4780 | * doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
4781 | ||
4f1605d2 RS |
4782 | 2004-07-19 Roger Sayle <roger@eyesopen.com> |
4783 | ||
4784 | * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call. | |
4785 | ||
28c008bb JL |
4786 | 2004-07-19 Jeff Law <law@redhat.com> |
4787 | ||
4788 | * tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New. | |
4789 | (get_eq_expr_value): Use it. Simplify slightly. | |
3e95a7cb | 4790 | |
b06f0336 MR |
4791 | 2004-07-19 Maciej W. Rozycki <macro@linux-mips.org> |
4792 | ||
4793 | * config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list. | |
4794 | (umulsidi3_32bit_r4000): Likewise. | |
4795 | ||
9ba5ff0f NS |
4796 | 2004-07-19 Nathan Sidwell <nathan@codesourcery.com> |
4797 | ||
4798 | * vec.h: Propagate location information properly. | |
4799 | (VEC_T_iterate): Add result pointer parameter. | |
4800 | (VEC_T_space): New. | |
4801 | (VEC_T_reserve): Use it. | |
4802 | ||
a2bec818 DJ |
4803 | 2004-07-19 Daniel Jacobowitz <dan@debian.org> |
4804 | ||
4805 | * Makefile.in (c-format.o): Depend on c-format.h. | |
4806 | * c-format.h: New file. | |
4807 | (struct format_char_info): Add CHAIN member. | |
4808 | * c-format.c: Move some types and constants to c-format.h. | |
4809 | (format_type_error): Set to -1. | |
4810 | (struct function_format_info): Use an int for format_type. | |
4811 | (decode_format_type): Return an int. Return format_type_error | |
4812 | on error. | |
4813 | (print_char_table, asm_fprintf_char_table, gcc_diag_char_table) | |
4814 | (gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table) | |
4815 | (scan_char_table, time_char_table, monetary_char_table): Initialize | |
4816 | CHAIN to NULL. | |
4817 | (n_format_types): New variable. | |
4818 | (check_format_info_main): Handle CHAIN in format_char_info. | |
4819 | (handle_format_attribute): Handle TARGET_FORMAT_TYPES and | |
4820 | TARGET_N_FORMAT_TYPES. | |
4821 | * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) | |
4822 | (sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c. | |
4823 | * config/sol2-c.c: New file. | |
4824 | * config/t-sol2: New file. | |
4825 | * config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define. | |
4826 | * config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine | |
4827 | TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES. | |
4828 | ||
4829 | * doc/extend.texi (Target Format Checks): New section. | |
4830 | (Function Attributes): Mention it. | |
4831 | * doc/invoke.texi: Mention target format checks. | |
4832 | * doc/sourcebuild.texi: Mention target format checks. | |
4833 | * dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and | |
4834 | TARGET_FORMAT_TYPES. | |
4835 | ||
a38e09bc AK |
4836 | 2004-07-19 Andreas Krebbel <krebbel1@de.ibm.com> |
4837 | ||
4838 | * config/s390/s390-protos.h (s390_return_address_offset): Prototype | |
4839 | added. | |
4840 | * config/s390/s390.c (regclass_map initializer): Register 35 added to | |
4841 | ADDR_REGS. | |
4842 | (load_multiple_operation, store_multiple_operation): Removed | |
3e95a7cb | 4843 | pointless sanity check. |
a38e09bc AK |
4844 | (s390_decompose_address): Added check for return_address_pointer_rtx. |
4845 | (s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0. | |
4846 | (s390_return_address_offset): New function. | |
4847 | * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36. | |
4848 | (FRAME_REGNO_P): Added check for register 35. | |
4849 | (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, | |
4850 | REG_ALLOC_ORDER): Appended entry for register 35. | |
4851 | (REG_CLASS_CONTENTS): Adjusted class masks for register 35. | |
4852 | (EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx. | |
4853 | (RETURN_ADDRESS_POINTER_REGNUM): New macro. | |
4854 | (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer | |
4855 | is eliminable using stack pointer or hard frame pointer. | |
4856 | (REGISTER_NAMES): Added name for register 35. | |
4857 | * config/s390/s390.md ("load_multiple", "store_multiple"): Removed | |
4858 | pointless sanity check. | |
4859 | ||
adb8e07e RS |
4860 | 2004-07-19 Roger Sayle <roger@eyesopen.com> |
4861 | ||
4862 | * fold-const.c (tree_expr_nonzero_p): Add function prototype. | |
4863 | (fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from | |
4864 | fold_relational_const to here, i.e. "(x | 5) == 0" -> false. | |
4865 | (fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons | |
4866 | of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT. | |
4867 | (fold_relational_const): Tidy up handling of floating point | |
4868 | comparisons by calling real_compare. Remove tree_expr_nonzero_p | |
4869 | transformation; fold_relational_const assumes constant operands. | |
4870 | ||
3c95eb0e GDR |
4871 | 2004-07-19 Gabriel Dos Reis <gdr@integrable-solution.net> |
4872 | ||
4873 | * doc/sourcebuild.texi: Add libcpp, now that CPP has its own | |
3e95a7cb | 4874 | directory. |
3c95eb0e | 4875 | |
487a92fe JM |
4876 | 2004-07-19 Joseph S. Myers <jsm@polyomino.org.uk> |
4877 | ||
4878 | * c-tree.h (struct c_expr): Define. | |
4879 | (C_SET_EXP_ORIGINAL_CODE): Remove. | |
4880 | (parser_build_binary_op, build_compound_expr): Update prototypes. | |
4881 | * c-parse.in (%union): Add exprtype. | |
4882 | (FUNC_NAME): Mark as ttype. | |
4883 | (expr, expr_no_commas, cast_expr, unary_expr, primary): Change to | |
4884 | exprtype. | |
4885 | (expr): Update. Define directly in terms of expr_no_commas | |
4886 | instead of using nonnull_exprlist. | |
4887 | (nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary, | |
4888 | offsetof_member_designator, typespec_nonreserved_nonattr, init, | |
4889 | initval, designator, component_declarator, | |
4890 | component_notype_declarator, enumerator, array_declarator, | |
4891 | condition, exexpr, switch_statement, stmt_nocomp, stmt, | |
4892 | nonnull_asm_operands, ivar_declarator, receiver): Update. Don't | |
4893 | set C_EXP_ORIGINAL_CODE. Use TREE_NO_WARNING for assignments | |
4894 | where appropriate. | |
4895 | * c-common.h (C_EXP_ORIGINAL_CODE): Remove. | |
4896 | * c-common.c (c_common_truthvalue_conversion): Don't check | |
4897 | C_EXP_ORIGINAL_CODE. | |
4898 | * c-typeck.c (parser_build_binary_op): Use c_expr structures. | |
4899 | Don't use C_EXP_ORIGINAL_CODE. | |
4900 | (default_conversion, default_function_array_conversion): Don't use | |
4901 | C_EXP_ORIGINAL_CODE. Preserve TREE_NO_WARNING. | |
4902 | (internal_build_compound_expr): Merge into build_compound_expr. | |
4903 | (build_compound_expr): Take two operands instead of a TREE_LIST. | |
4904 | * objc/objc-act.c (get_super_receiver): Update calls to | |
4905 | build_compound_expr. | |
4906 | ||
c4d70ce3 | 4907 | 2004-07-18 Paolo Bonzini <bonzini@gnu.org> |
2de7ffa7 PB |
4908 | |
4909 | * config/sh/sh.c (sh_use_dfa_interface): Remove. | |
4910 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to | |
4911 | hook_int_void_1. | |
4912 | * config/sh/sh.md: Extract pipeline descriptions | |
4913 | into separate files. | |
4914 | * config/sh/sh1.md: New file, extracted from sh.md. | |
4915 | * config/sh/sh4.md: New file, extracted from sh.md. | |
4916 | * config/sh/shmedia.md: New file, extracted from sh.md | |
4917 | and rewritten using new-style pipeline description. | |
4918 | ||
3a7e11a3 ZW |
4919 | 2004-07-18 Zack Weinberg <zack@codesourcery.com> |
4920 | ||
4921 | * config/pa/pa.md: Delete the two remaining define_peephole | |
4922 | patterns. | |
4923 | ||
2de7ffa7 | 4924 | 2004-07-18 Steven Bosscher <stevenb@suse.de> |
31ec7d2f SB |
4925 | Joseph S. Myers <jsm@polyomino.org.uk> |
4926 | ||
4927 | * c-common.c (c_common_truthvalue_conversion): Don't warn if | |
4928 | TREE_NO_WARNING is set. | |
4929 | ||
01847e9d RS |
4930 | 2004-07-18 Roger Sayle <roger@eyesopen.com> |
4931 | ||
4932 | * builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp, | |
4933 | simplify_builtin_strncmp): Delete. | |
4934 | (fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp): | |
4935 | Change argument to accept an arglist instead of an "exp". Assume | |
4936 | that the return type is always integer_type_node. Copy missing | |
4937 | transformations from their now obsolete simplify_builtin_* | |
4938 | equivalents. | |
4939 | (fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp, | |
4940 | fold_builtin_strcmp and fold_builtin_strncmp. | |
4941 | (simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp | |
4942 | and fold_builtin_strncmp instead of simplify_builtin_memcmp, | |
4943 | simplify_builtin_strcmp and simplify_builtin_strncmp respectively. | |
4944 | ||
e2d4f634 DJ |
4945 | 2004-07-18 Daniel Jacobowitz <dan@debian.org> |
4946 | ||
4947 | * Makefile.in (tree-alias-common.o): Update dependencies. | |
4948 | ||
1ad03593 SP |
4949 | 2004-07-17 Sebastian Pop <pop@cri.ensmp.fr> |
4950 | ||
4951 | * cfgloop.c (flow_loop_nested_p): Fix comment. | |
3a7e11a3 | 4952 | |
d8472c75 JM |
4953 | 2004-07-17 Jason Merrill <jason@redhat.com> |
4954 | ||
4955 | PR c++/16115 | |
4956 | * stor-layout.c (relayout_decl): New fn. | |
4957 | * tree.h: Declare it. | |
4958 | (DECL_BY_REFERENCE): New macro. | |
4959 | ||
e7a742ec EB |
4960 | 2004-07-17 Eric Botcazou <ebotcazou@act-europe.fr> |
4961 | ||
4962 | * libgcc2.c (__enable_execute_stack): New symbol. | |
4963 | * libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4 | |
4964 | and declare __enable_execute_stack. | |
4965 | * mklibgcc.in (lib2funcs): Add _enable_execute_stack. | |
4966 | * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy. | |
4967 | * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
4968 | ENABLE_EXECUTE_STACK. | |
4969 | * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize | |
4970 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
4971 | * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
4972 | ENABLE_EXECUTE_STACK. | |
4973 | * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
4974 | * config/i386/i386.c (x86_initialize_trampoline): Conditionalize | |
4975 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
4976 | * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
4977 | ENABLE_EXECUTE_STACK. | |
4978 | * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
4979 | * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
4980 | * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
4981 | * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
4982 | * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize | |
4983 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
4984 | (sparc64_initialize_trampoline): Likewise. | |
4985 | * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro. | |
4986 | ||
6e34d3a3 JM |
4987 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> |
4988 | ||
4989 | * langhooks.h (builtin_function): New langhook. | |
4990 | * langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New. | |
4991 | (LANG_HOOKS_INITIALIZER): Update. | |
4992 | * tree.h (builtin_function): Remove. | |
4993 | * doc/tm.texi: Update. | |
4994 | * c-tree.h (builtin_function): Declare. | |
4995 | * c-common.c, config/alpha/alpha.c, config/arm/arm.c, | |
4996 | config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c, | |
4997 | config/ia64/ia64.c, config/iq2000/iq2000.c, | |
4998 | config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, | |
4999 | config/stormy16/stormy16.c: All callers of builtin_function | |
5000 | changed. | |
5001 | ||
ac83f770 AP |
5002 | 2004-07-17 Andrew Pinski <pinskia@physics.uc.edu> |
5003 | ||
5004 | PR target/16556 | |
5005 | * config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): | |
5006 | Remove white space after the backslash. | |
5007 | ||
6e456a10 EB |
5008 | 2004-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> |
5009 | ||
5010 | PR rtl-optimization/16294 | |
5011 | * resource.c (return_insn_p): New predicate. | |
5012 | (mark_target_live_regs): Use it. Special-case return insns. | |
5013 | (init_resource_info): Use it. Don't scan the epilogue past | |
5014 | a return. | |
5015 | ||
8a807136 ZD |
5016 | 2004-07-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
5017 | ||
5018 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not | |
5019 | destroy dominance information. | |
5020 | * passes.c (rest_of_handle_loop2): Free dominance information. | |
5021 | * tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before | |
5022 | jump threading. | |
5023 | (thread_jumps): Update dominance information and remove unreachable | |
5024 | blocks. | |
5025 | * tree-ssa-phiopt.c (replace_phi_with_stmt): Update dominance | |
5026 | information and remove the unreachable block. | |
5027 | ||
7bd5ed5c GS |
5028 | 2004-07-17 Graham Stott <graham.stott@btinternet.com> |
5029 | ||
5030 | * emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn. | |
5031 | ||
5ad82972 TM |
5032 | 2004-07-17 Toon Moene <toon@moene.indiv.nluug.nl> |
5033 | ||
5034 | * doc/sourcebuild.texi: Remove libf2c entry. | |
5035 | ||
3e25b3a8 PB |
5036 | 2004-07-17 Paolo Bonzini <bonzini@gnu.org> |
5037 | ||
5038 | * config/i386/i386.md (movv16qi_internal): Fix typo. | |
5039 | ||
4928181c SB |
5040 | 2004-07-17 Steven Bosscher <stevenb@suse.de> |
5041 | ||
5042 | * final.c (final_scan_insn): Fix broken commit from previous | |
5043 | patch. | |
5044 | ||
3e3970a2 JM |
5045 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> |
5046 | ||
5047 | * c-typeck.c (parser_build_binary_op): Condition warnings for | |
5048 | X<=Y<=Z on -Wparentheses instead of -Wextra. | |
5049 | * doc/invoke.texi: Update. Document that most of -Wparentheses is | |
5050 | supported for C only. | |
5051 | ||
165b54c3 SB |
5052 | 2004-07-17 Steven Bosscher <stevenb@suse.de> |
5053 | ||
5054 | * cfgcleanup.c (try_simplify_condjump): Don't remove line | |
5055 | notes to avoid unreachable code warnings. | |
5056 | * toplev.c (backend_init): Don't emit line notes for | |
5057 | unreachable code warnings. | |
5058 | ||
5059 | * combine.c (distribute_notes): Don't distribute a | |
5060 | REG_VTABLE_REF note. | |
5061 | * final.c (final_scan_insn): Don't handle it. | |
5062 | * rtl.c (reg_note_name): Remove it. | |
5063 | * rtl.h (enum reg_node): Dito. | |
5064 | ||
5065 | * emit-rtl.c (force_line_numbers, restore_line_number_status): | |
5066 | Remove. | |
5067 | * rtl.h (force_line_numbers, restore_line_number_status): | |
5068 | Remove prototypes. | |
5069 | ||
5070 | * stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move... | |
5071 | * tree-eh.c (using_eh_for_cleanups_p): ...here. Make static. | |
5072 | (using_eh_for_cleanups): Also moved here. | |
5073 | ||
5074 | * expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one. | |
5075 | <SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY. Update calls | |
5076 | to expand_start_case and add_case_node. | |
5077 | * stmt.c (struct nesting): Cleanup unused fields condition_code, | |
5078 | last_unconditional_cleanup, nominal_type, printname, and | |
5079 | line_number_status. | |
5080 | (struct fixup_goto): Remove. | |
5081 | (struct stmt_status): Remove x_goto_fixup_chain field. | |
5082 | (goto_fixup_chain): Remove. | |
5083 | (strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable, | |
5084 | pushcase, pushcase_range): Remove. | |
5085 | (expand_start_bindings_and_block): Don't set unused fields in | |
5086 | the nesting stack. | |
5087 | (expand_start_case, add_case_node): Cleanup unused formal arguments. | |
5088 | (expand_end_case_type): Don't simplify the case-list. Use emit_jump | |
5089 | instead of emit_jump_if_reachable. | |
5090 | (emit_case_nodes): Likewise. | |
5091 | * tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer | |
5092 | static. | |
5093 | (update_eh_label): Work around left-over exception handing regions. | |
5094 | * tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos. | |
5095 | * tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function. | |
5096 | (pass_cleanup_cfg_post_optimizing): New pass. | |
5097 | (init_tree_optimization_passes): Run the new pass after all | |
5098 | optimizations. | |
5099 | * tree.h (pushcase, pushcase_range): Remove prototypes. | |
5100 | (expand_start_case, add_case_node): Update prototypes. | |
5101 | ||
e36f6190 KW |
5102 | 2004-07-16 Krister Walfridsson <cato@df.lth.se> |
5103 | ||
5104 | * tree-inline.c (estimate_num_insns_1): Correct increase of count. | |
5105 | ||
77c9db77 RH |
5106 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5107 | ||
5108 | * builtins.c (std_expand_builtin_va_arg): Remove. | |
5109 | (expand_builtin_va_arg): Remove. | |
5110 | * expr.h: Don't declare them. | |
5111 | * gimplify.c (mark_decls_volatile_r): Remove. | |
5112 | (copy_if_shared_r): Don't call it. | |
5113 | * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG. | |
5114 | * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR. | |
5115 | * gimple-low.c (lower_stmt): Likewise. | |
5116 | * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise. | |
5117 | * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise. | |
5118 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
5119 | * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention | |
5120 | EXPAND_BUILTIN_VA_ARG. | |
5121 | * system.h (EXPAND_BUILTIN_VA_ARG): Poison. | |
5122 | * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h, | |
5123 | config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h, | |
5124 | config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
5125 | ||
3f7d210d DB |
5126 | 2004-07-16 Daniel Berlin <dberlin@dberlin.org> |
5127 | ||
5128 | * tree-ssa-pre.c (insert_aux): Break out if we hit | |
5129 | a critical edge. | |
5130 | ||
6809cbf9 RH |
5131 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5132 | ||
5133 | * basic-block.h (remove_fake_exit_edges): Declare. | |
5134 | * cfganal.c (remove_fake_predecessors): Rename from | |
5135 | remove_fake_successors; iterate over predecessors. | |
5136 | (remove_fake_exit_edges): New. | |
5137 | * cfgcleanup.c (try_optimize_cfg): Use it. | |
5138 | * gcse.c (one_pre_gcse_pass, store_motion): Likewise. | |
5139 | * predict.c (estimate_probability): Likewise. | |
5140 | (tree_estimate_probability, note_prediction_to_br_prob): Likewise. | |
5141 | * tree-cfg.c (make_edges): Likewise. | |
5142 | * tree-ssa-pre.c (fini_pre): Likewise. | |
5143 | * profile.c (instrument_edges): Don't remove_fake_edges. | |
5144 | (branch_prob): Do it earlier here. | |
5145 | ||
7b48e1e0 RH |
5146 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5147 | ||
5148 | * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 | |
5149 | switchification wrt CONSTRUCTOR. Document the reason. | |
5150 | ||
cc370422 FCE |
5151 | 2004-07-16 Frank Ch. Eigler <fche@redhat.com> |
5152 | ||
5153 | * tree-mudflap.c (mf_file_function_line_tree): Correct typo | |
5154 | that prevented descriptive __mf_check source location strings. | |
5155 | ||
d25cee4d RH |
5156 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5157 | ||
5158 | * tree-def (WITH_SIZE_EXPR): New. | |
5159 | * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR. | |
5160 | * expr.c (expand_expr_real_1): Likewise. | |
5161 | * gimplify.c (maybe_with_size_expr): New. | |
5162 | (gimplify_arg, gimplify_modify_expr): Use it. | |
5163 | (gimplify_modify_expr_to_memcpy): Take size parameter. | |
5164 | (gimplify_modify_expr_to_memset): Likewise. | |
5165 | (gimplify_expr): Handle WITH_SIZE_EXPR. | |
5166 | * tree-alias-common.c (find_func_aliases): Likewise. | |
5167 | * tree-eh.c (tree_could_trap_p): Likewise. | |
5168 | (tree_could_throw_p): Likewise. | |
5169 | * tree-gimple.c (is_gimple_lvalue): Likewise. | |
5170 | (get_call_expr_in): Likewise. | |
5171 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
5172 | (expand_calls_inline): Likewise. | |
5173 | * tree-nested.c (convert_call_expr): Likewise. | |
5174 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
5175 | * tree-sra.c (sra_walk_expr): Likewise. | |
5176 | * tree-ssa-alias.c (add_pointed_to_expr): Likewise. | |
5177 | * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise. | |
5178 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
5179 | * tree-tailcall.c (find_tail_calls): Likewise. | |
3a7e11a3 | 5180 | |
d25cee4d RH |
5181 | * calls.c (expand_call): Reset old_stack_allocated after |
5182 | calling emit_stack_restore. | |
5183 | ||
7740f00d RH |
5184 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5185 | ||
5186 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING, | |
5187 | lhd_tree_inlining_copy_res_decl_for_inlining): Remove. | |
5188 | * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove. | |
5189 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove | |
5190 | copy_res_decl_for_inlining. | |
5191 | ||
5192 | * tree-inline.c (declare_return_variable): New modify_dest argument. | |
5193 | Use it as the return value, when possible or manditory. Handle | |
5194 | TREE_ADDRESSABLE types. | |
5195 | (expand_call_inline): Extract MODIFY_EXPR lhs for call. Simplify | |
5196 | replacement of CALL_EXPR. | |
5197 | ||
26e79d10 RH |
5198 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5199 | ||
5200 | * tree-flow.h (struct var_ann_d): Remove has_hidden_use. | |
5201 | * gimple-low.c (expand_var_p): Don't check it. | |
5202 | * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise. | |
5203 | * tree-ssa-copyrename.c (rename_ssa_copies): Likewise. | |
5204 | * tree-ssa-operands.c (add_stmt_operand): Likewise. | |
5205 | * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill. | |
5206 | (find_referenced_vars): Don't call them. | |
5207 | * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill. | |
5208 | ||
d58247a3 RH |
5209 | 2004-07-16 Richard Henderson <rth@redhat.com> |
5210 | ||
5211 | * function.c (pass_by_reference): True for all variable sized types. | |
5212 | ||
4619c701 SP |
5213 | 2004-07-16 Sebastian Pop <pop@cri.ensmp.fr> |
5214 | ||
5215 | * Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h. | |
5216 | * tree-pretty-print.c: Include tree-chrec.h. | |
3a7e11a3 | 5217 | (dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN |
4619c701 SP |
5218 | and POLYNOMIAL_CHREC nodes. |
5219 | ||
58ec6ece SE |
5220 | 2004-07-16 Steve Ellcey <sje@cup.hp.com> |
5221 | ||
5222 | * builtins.c (expand_builtin_stpcpy): Do not create temporary | |
5223 | reg with VOIDmode. | |
5224 | ||
11368579 SB |
5225 | 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org> |
5226 | ||
5227 | * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi). | |
5228 | ||
490ceeb4 AK |
5229 | 2004-07-16 Andreas Krebbel <krebbel1@de.ibm.com> |
5230 | ||
5231 | * config/s390/s390.md: Changed every occurence of BASE_REGISTER | |
5232 | to BASE_REGNUM. | |
5233 | * config/s390/s390.c: Likewise. | |
5234 | * config/s390/s390.h: Likewise. | |
5235 | ||
5eb00b77 RS |
5236 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5237 | ||
5238 | * config/mips/mips.md (addsi3, adddi3): Remove special handling | |
5239 | of $sp adds. Remove REGNO checks from mips16 patterns. | |
5240 | ||
d811830e RS |
5241 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5242 | ||
5243 | * config/mips/mips.md: Delete outdated comment. | |
5244 | ||
bb592806 RS |
5245 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5246 | ||
5247 | * config/mips/mips.c (get_float_compare_codes): Delete. | |
5248 | (mips_emit_compare): New function, mostly extracted from | |
5249 | get_float_compare_codes and gen_conditional_branch. | |
5250 | (gen_conditional_branch, gen_conditional_move): Use it. | |
5251 | ||
00ca8311 SB |
5252 | 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org> |
5253 | ||
5254 | * genautomata.c (add_vect): Speedup by using integers as | |
5255 | bit-vectors for walking through the comb_vect and finding | |
5256 | a match. | |
5257 | ||
f1286257 RS |
5258 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5259 | ||
5260 | * config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second | |
5261 | operand is an uns_arith_operand; use subtraction otherwise. | |
5262 | * config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand, | |
5263 | not just arith_operands. | |
5264 | ||
a012718f RS |
5265 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5266 | ||
5267 | * config/mips/mips-protos.h (gen_int_relational): Delete. | |
5268 | (mips_emit_scc): Declare. | |
5269 | * config/mips/mips.c (internal_test): Delete. | |
5270 | (sle_operand, sleu_operand): New functions. | |
5271 | (map_test_to_internal_test, gen_int_relational): Delete. | |
5272 | (mips_emit_binary, mips_relational_operand_ok_p) | |
5273 | (mips_emit_int_relational, mips_zero_if_equal) | |
5274 | (mips_emit_scc): New functions. | |
5275 | (gen_conditional_branch): Rework to use mips_emit_int_relational. | |
5276 | * config/mips/mips.h (PREDICATE_CODES): Add sle_operand and | |
5277 | sleu_operand. | |
5278 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
5279 | (sltu, sleu): Use mips_emit_scc. | |
5280 | (*sge_[sd]i, *sgeu_[sd]i): New patterns. | |
5281 | (*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand. | |
5282 | (*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand. | |
5283 | ||
c03eb5a3 RS |
5284 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5285 | ||
5286 | * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint. | |
5287 | ||
9cb24602 RS |
5288 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5289 | ||
5290 | * config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero. | |
5291 | (*sne_[sd]i): Likewise sne_[sd]i_zero. | |
5292 | (*sgt_[sd]i): ...and sgt_[sd]i. | |
5293 | (*slt_[sd]i): ...and slt_[sd]i. | |
5294 | (*sgtu_[sd]i): ...and sgtu_[sd]i. | |
5295 | (*sltu_[sd]i): ...and sltu_[sd]i. | |
5296 | (*sleu_[sd]i): ...and sleu_[sd]i_const. | |
5297 | Name previously unnamed mips16 patterns. Formatting fixes. | |
5298 | ||
d7ad1e57 RS |
5299 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5300 | ||
5301 | * config/mips/mips.c (cmp_operands): Renamed from branch_cmp. | |
5302 | (branch_type): Delete. | |
5303 | (gen_conditional_branch, gen_conditional_move) | |
5304 | (mips_gen_conditional_trap): Update after name change. Get the | |
5305 | comparison mode from cmp_operands[0]. | |
5306 | * config/mips/mips.h (cmp_type, branch_type): Delete. | |
5307 | (cmp_operands): Renamed from branch_cmp. | |
5308 | * config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after | |
5309 | name change. Don't set branch_type. | |
5310 | (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the | |
5311 | mode class of cmp_operands[0] rather than branch_type. Update after | |
5312 | name change. | |
5313 | ||
629198e2 RS |
5314 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5315 | ||
5316 | * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost | |
5317 | of 0...255 to 0 when inside a SET. | |
5318 | ||
2bff1abf RS |
5319 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
5320 | ||
5321 | * config/mips/mips.md: Remove mips16 define_peepholes. | |
5322 | ||
50265400 DB |
5323 | 2004-07-16 Daniel Berlin <dberlin@dberlin.org> |
5324 | ||
5325 | * tree-ssa-pre.c (init_pre): Connect infinite loops to exit. | |
5326 | (fini_pre): Remove fake edges. | |
5327 | ||
310de761 RH |
5328 | 2004-07-15 Richard Henderson <rth@redhat.com> |
5329 | ||
5330 | * tree-ssa-operands.c (get_expr_operands): Use a switch. Split out... | |
5331 | (get_indirect_ref_operands, get_call_expr_operands): ... these. | |
5332 | ||
aaaa46d2 MM |
5333 | 2004-07-15 Nathan Sidwell <nathan@codesourcery.com> |
5334 | ||
5335 | * vec.h (VEC_address): New function. | |
5336 | ||
e4f78bd4 JM |
5337 | 2004-07-14 Jason Merrill <jason@redhat.com> |
5338 | ||
5339 | PR middle-end/15885 | |
5340 | * gimplify.c (gimplify_arg): New fn, split out from... | |
5341 | (gimplify_call_expr): Here. Special-case BUILT_IN_VA_START. | |
5342 | ||
bc2f7bb8 RZ |
5343 | 2004-07-15 Roman Zippel <zippel@linux-m68k.org> |
5344 | ||
3a7e11a3 | 5345 | * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to |
bc2f7bb8 RZ |
5346 | generate code which is generated by pushqi1 now |
5347 | * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove. | |
5348 | ||
8abcb0f7 RZ |
5349 | 2004-07-15 Roman Zippel <zippel@linux-m68k.org> |
5350 | ||
3a7e11a3 ZW |
5351 | * combine.c (simplify_set): match the mode of the constant 0 with |
5352 | the tested operand to match the compare behaviour and the | |
8abcb0f7 RZ |
5353 | simplify_relational_operation() expectation. |
5354 | ||
7a1bf2f9 AH |
5355 | 2004-07-15 Aldy Hernandez <aldyh@redhat.com> |
5356 | ||
e4f78bd4 JM |
5357 | * config/rs6000/rs6000.md ("bunordered"): Disable for e500. |
5358 | ("bordered"): Same. | |
7a1bf2f9 | 5359 | |
24fab1d3 AH |
5360 | 2004-07-15 Aldy Hernandez <aldyh@redhat.com> |
5361 | ||
e4f78bd4 JM |
5362 | * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow |
5363 | unconditionally. | |
5364 | * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove. | |
24fab1d3 | 5365 | |
4c467d41 RS |
5366 | 2004-07-15 Richard Sandiford <rsandifo@redhat.com> |
5367 | ||
5368 | * config/mips/mips.c (mips_adjust_insn_length): Fix handling of | |
5369 | calls in mips16 code. | |
5370 | ||
f6711314 RS |
5371 | 2004-07-15 Richard Sandiford <rsandifo@redhat.com> |
5372 | ||
5373 | * config/mips/mips.md: In the mips16 li/neg splitter, use SImode for | |
5374 | the destination of the li as well as for the neg. | |
5375 | ||
35b6fdcf FCE |
5376 | 2004-07-15 Frank Ch. Eigler <fche@redhat.com> |
5377 | ||
5378 | g++/15861 | |
5379 | * cgraphunit.c (cgraph_build_static_cdtor): Add priority argument. | |
5380 | * cgraph.h: Update declaration. | |
5381 | * c-decl.c (build_cdtor): Update call with default priority. | |
5382 | * coverage.c (create_coverage): Ditto. | |
5383 | * tree-mudflap.c (mf_init_fndecl): New tree. | |
5384 | (mudflap_init): Set it. | |
5385 | (mudflap_register_call): Arrange to call __mf_init before the first | |
5386 | __mf_register call. | |
5387 | (mudflap_finish_file): Mark the mudflap static initializer as extra | |
5388 | high priority, to beat all C++ static constructors. | |
5389 | ||
9270f900 JL |
5390 | 2004-07-15 Jeff Law <law@redhat.com> |
5391 | ||
5392 | * loop.c (check_insn_for_givs): Restore check for code labels that was | |
5393 | accidentally deleted by a recent checkin. | |
5394 | ||
40005366 NS |
5395 | 2004-07-15 Nathan Sidwell <nathan@codesourcery.com> |
5396 | ||
5397 | * vec.h (VEC_T_truncate): Allow truncation of an empty vector. | |
5398 | (VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko. | |
5399 | ||
ad5dc4b3 RH |
5400 | 2004-07-14 Richard Henderson <rth@redhat.com> |
5401 | ||
5402 | * print-tree.c (print_node): Fix casts last change. | |
5403 | ||
e4f78bd4 | 5404 | 2004-07-15 Paul Brook <paul@codesourcery.com> |
951120ea PB |
5405 | |
5406 | * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO | |
5407 | to TARGET_UNWIND_INFO. | |
5408 | * except.c (output_function_exception_table): Ditto. | |
5409 | * except.h: Ditto. | |
5410 | * opts.c (decode_options): Ditto. | |
5411 | * passes.c (rest_of_handle_final): Ditto. | |
5412 | * final.c (final_start_function): Ditto. | |
5413 | (final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with | |
5414 | target hook. | |
5415 | * targhooks.h (default_unwind_emit): Declare. | |
5416 | * targhooks.c (default_unwind_emit): New function. | |
5417 | * target-def.h: Define and use TARGET_UNWIND_EMIT. | |
5418 | * target.h (struct gcc_target): Add unwind_emit. | |
5419 | * config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define. | |
5420 | * config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO. | |
5421 | Remove IA64_UNWIND_EMIT. | |
5422 | * doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO. | |
5423 | ||
018479fb RH |
5424 | 2004-07-14 Richard Henderson <rth@redhat.com> |
5425 | ||
5426 | * print-tree.c (print_node): Handle SSA_NAME. | |
5427 | ||
b5411fea JW |
5428 | 2004-07-14 James E Wilson <wilson@specifixinc.com> |
5429 | ||
5430 | PR target/16325 | |
5431 | * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value | |
5432 | and ! TARGET_64BIT, include REG_PARM_STACK_SPACE. | |
5433 | ||
b8b139c7 JJ |
5434 | 2004-07-15 Jakub Jelinek <jakub@redhat.com> |
5435 | ||
5436 | * expr.c (expand_assignment): Reenable bitfield += optimizations. | |
5437 | Use alias set 0 for memory, do proper mode calculations and adjust | |
5438 | address for memories. | |
5439 | ||
e4f78bd4 | 5440 | 2004-07-14 Per Bothner <per@bothner.com> |
aa3c6dc1 PB |
5441 | |
5442 | * input.h: If USE_MAPPED_LOCATION, define separate expanded_location | |
5443 | structure with extra column field. | |
5444 | * tree.c (expand_location): Also fill in column field. | |
5445 | * gengtype-lex.l: Ignore expanded_location typedef, sinze gengtype | |
5446 | gets confused by the two conditionally-compiled definitions. | |
5447 | ||
7ae4ad28 EC |
5448 | 2004-07-14 Eric Christopher <echristo@redhat.com> |
5449 | ||
5450 | * calls.c (expand_call): Fix typo in comment. | |
5451 | ||
b1346fa3 SE |
5452 | 2004-07-14 Steve Ellcey <sje@cup.hp.com> |
5453 | ||
5454 | * config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED | |
5455 | comparision of TFmode. | |
5456 | ||
08b0dc1b RH |
5457 | 2004-07-14 Richard Henderson <rth@redhat.com> |
5458 | ||
5459 | * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ... | |
5460 | (alpha_gimplify_va_arg): ... handling here. Use pass_by_reference. | |
5461 | * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference. | |
5462 | * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. | |
5463 | * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise. | |
5464 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. | |
5465 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise. | |
5466 | * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise. | |
5467 | * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise. | |
5468 | ||
e4f78bd4 | 5469 | 2004-07-14 Mike Stump <mrs@apple.com> |
2baeaa1b MS |
5470 | |
5471 | * config/darwin.h (WINT_TYPE): Define to be int to match | |
e4f78bd4 | 5472 | system header files. |
2baeaa1b | 5473 | |
85d91d5b BW |
5474 | 2004-07-14 Bob Wilson <bob.wilson@acm.org> |
5475 | ||
5476 | * config/xtensa/xtensa.c (function_arg_advance): Check for args | |
5477 | that must be passed in the stack. | |
5478 | (xtensa_gimplify_va_arg_expr): Skip special-case padding for small | |
5479 | arguments if the size is not a constant. | |
5480 | ||
607bdeaa PB |
5481 | 2004-07-14 Per Bothner <per@bothner.com> |
5482 | ||
5483 | * c-typeck.c (emit_side_effect_warnings): Use EXPR_HAS_LOCATION | |
5484 | instead of EXPR_LOCUS in a boolean context, which is always true | |
5485 | if --enable-mapped-location. | |
5486 | * stmt.c (warn_if_unused_value): Likewise. Also use EXPR_LOCATION. | |
5487 | ||
26e0e410 RH |
5488 | 2004-07-14 Richard Henderson <rth@redhat.com> |
5489 | ||
5490 | * dominance.c (struct dom_info): Add fake_exit_edge. | |
5491 | (init_dom_info): Allocate it. | |
5492 | (free_dom_info): Free it. | |
5493 | (calc_dfs_tree): Set it. Handle noreturn and infinite loops | |
5494 | in two passes. | |
5495 | (calc_idoms): Honor fake_exit_edge. | |
5496 | ||
0c322af3 JM |
5497 | 2004-07-13 Jason Merrill <jason@redhat.com> |
5498 | ||
5499 | * tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns. | |
5500 | (rhs_test_for): New fn. | |
5501 | (is_gimple_tmp_rhs): Rename from is_gimple_rhs. | |
5502 | * tree-gimple.h: Declare them. | |
5503 | * gimplify.c (gimplify_modify_expr): Use the new fns. | |
5504 | ||
3ac5ea7c RH |
5505 | 2004-07-14 Richard Henderson <rth@redhat.com> |
5506 | ||
5507 | * config/arm/arm-protos.h (arm_va_arg): Remove. | |
5508 | * config/arm/arm.c (arm_va_arg): Remove. | |
5509 | (arm_init_expanders): Fix alignment of arg_pointer_rtx. | |
5510 | * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
5511 | ||
a2017852 JDA |
5512 | 2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
5513 | ||
5514 | * pa.c (fix_range): New function to mark a range(s) of registers as | |
5515 | fixed registers. | |
5516 | (override_options): Call fix_range if the -mfixed-range option string | |
5517 | is not empty. | |
5518 | * pa.h (TARGET_OPTIONS): Add -mfixed-range option. | |
5519 | * doc/invoke.texi (-mfixed-range): Document new option. | |
5520 | ||
95674810 DE |
5521 | 2004-07-14 David Edelsohn <edelsohn@gnu.org> |
5522 | ||
5523 | * config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode | |
5524 | for TARGET_64BIT. | |
5525 | (rs6000_gimplify_va_arg): Use size_int instead of build_int_2. | |
5526 | ||
39cab019 RS |
5527 | 2004-07-14 Roger Sayle <roger@eyesopen.com> |
5528 | ||
5529 | * expmed.c (expand_sdiv_pow2): New function to expand signed division | |
5530 | by a positive power of two, split out from expand_divmod. Provide | |
5531 | an alternate implementation when shifts are expensive. Lower the | |
5532 | threshold for using a branchless implementation to BRANCH_COST >= 2. | |
5533 | (expand_divmod): Call expand_sdiv_pow2 for suitable divisions. | |
5534 | ||
51a61243 PB |
5535 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
5536 | ||
5537 | * tree-dfa.c (make_rename_temp): *Really* work just | |
5538 | like create_tmp_var if called while outside SSA form. | |
5539 | ||
220a826e UW |
5540 | 2004-07-14 Ulrich Weigand <uweigand@de.ibm.com> |
5541 | ||
5542 | * config/s390/s390.md ("udivsi3"): Ensure trap is generated | |
5543 | for division by zero. | |
5544 | ("umodsi3"): Likewise. | |
5545 | ||
bb732af8 RS |
5546 | 2004-07-14 Richard Sandiford <rsandifo@redhat.com> |
5547 | ||
5548 | * config/mips/mips.c (mips_output_move): When generating mips16 code, | |
5549 | force loads of negative constants to be split. | |
5550 | * config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise. | |
5551 | Generalize SImode li/neg splitter to cope with other modes. | |
5552 | ||
96985307 PB |
5553 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
5554 | ||
5555 | * expmed.c: Remove more references to QUEUED in the comments. | |
5556 | * expr.c: Likewise. | |
5557 | ||
e7407dec RS |
5558 | 2004-07-14 Richard Sandiford <rsandifo@redhat.com> |
5559 | ||
5560 | Revert: | |
5561 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
5562 | * config/mips/mips.c (mips_pass_by_reference): Handle mode sizes | |
5563 | correctly. | |
5564 | ||
eda9caf6 PB |
5565 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
5566 | ||
5567 | * tree-dfa.c (make_rename_temp): Work just like | |
5568 | create_tmp_var if called while outside SSA form. | |
5569 | ||
ad76cef8 PB |
5570 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
5571 | ||
5572 | * expr.c (enqueue_insn, finish_expr_for_function, | |
5573 | protect_from_queue, queued_subexp_p, mark_queue, | |
5574 | emit_insns_enqueued_after_mark, emit_queue, | |
5575 | expand_increment): Remove. | |
5576 | (store_constructor): Expand increment as an assignment. | |
5577 | (expand_expr_real_1 <case PREINCREMENT_EXPR, | |
5578 | case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR, | |
5579 | case POSTDECREMENT_EXPR>): Abort. | |
5580 | * expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY, | |
5581 | QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function, | |
5582 | protect_from_queue, emit_queue, queued_subexp_p): Remove. | |
5583 | * function.h (pending_chain, x_pending_chain): Remove. | |
5584 | * rtl.def (QUEUED): Remove. | |
5585 | ||
5586 | * emit-rtl.c (copy_insn_1, copy_most_rtx, | |
5587 | set_used_flags, verify_rtx_sharing): Remove references to QUEUED. | |
5588 | * genattrtab.c (attr_copy_rtx, clear_struct_flag, | |
5589 | encode_units_mask): Likewise. | |
5590 | * local-alloc.c (equiv_init_varies_p): Likewise. | |
5591 | * rtl.c (copy_rtx): Likewise. | |
5592 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
5593 | * simplify-rtx.c (simplify_gen_subreg): Likewise. | |
5594 | * config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise. | |
5595 | ||
5596 | * builtins.c (expand_builtin, expand_builtin_apply, | |
5597 | expand_builtin_mathfn, expand_builtin_mathfn_2, | |
5598 | expand_builtin_mathfn_3, expand_builtin_setjmp_setup): | |
5599 | Remove calls to emit_queue and protect_from_queue. | |
5600 | * calls.c (expand_call, precompute_arguments, | |
5601 | precompute_register_parameters, rtx_for_function_call, | |
5602 | store_one_arg): Likewise. | |
5603 | * dojump.c (do_compare_and_jump, do_jump): Likewise. | |
5604 | * explow.c (memory_address): Likewise. | |
5605 | * expmed.c (clear_by_pieces_1, clear_storage, | |
5606 | clear_storage_via_libcall, emit_group_load, | |
5607 | emit_group_store, emit_store_flag, | |
5608 | expand_expr_real_1, store_by_pieces, | |
5609 | store_constructor, store_expr, try_casesi, | |
5610 | try_tablejump): Likewise. | |
5611 | * function.c (expand_pending_sizes): Likewise. | |
5612 | * optabs.c (emit_cmp_and_jump_insns, | |
5613 | emit_conditional_add, emit_conditional_move, | |
5614 | expand_fix, expand_float, prepare_cmp_insn): Likewise. | |
5615 | * stmt.c (emit_case_bit_tests, | |
5616 | expand_asm_expr, expand_computed_goto, | |
5617 | expand_decl_init, expand_end_case_type, | |
5618 | expand_end_stmt_expr, expand_expr_stmt_value, | |
5619 | expand_return, expand_start_case, | |
5620 | optimize_tail_recursion): Likewise. | |
5621 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
5622 | * config/s390/s390.c (s390_expand_cmpmem): Likewise. | |
5623 | ||
70049c7c BE |
5624 | 2004-07-14 Ben Elliston <bje@au.ibm.com> |
5625 | ||
5626 | * vec.h: Comment fix. | |
5627 | ||
8cd5a4e0 RH |
5628 | 2004-07-13 Richard Henderson <rth@redhat.com> |
5629 | ||
5630 | * target.h (struct gcc_target): Add calls.pass_by_reference. | |
5631 | * target-def.h (TARGET_PASS_BY_REFERENCE): New. | |
5632 | * function.c (pass_by_reference): Use the hook. | |
5633 | * system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison. | |
5634 | * targhooks.c, targhooks.h (hook_pass_by_reference_false): New. | |
5635 | (hook_pass_by_reference_must_pass_in_stack): New. | |
5636 | * config/alpha/alpha.c (function_arg): Don't query pass-by-ref. | |
5637 | (alpha_pass_by_reference): New. | |
5638 | (TARGET_PASS_BY_REFERENCE): New. | |
5639 | * config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5640 | * config/arc/arc.c (arc_pass_by_reference): New. | |
5641 | (TARGET_PASS_BY_REFERENCE): New. | |
5642 | * config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5643 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
5644 | * config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove. | |
5645 | * config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New. | |
5646 | (arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference. | |
5647 | * config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5648 | * config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5649 | * config/cris/cris.c (cris_pass_by_reference): New. | |
5650 | (TARGET_PASS_BY_REFERENCE): New. | |
5651 | * config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref. | |
5652 | (FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise. | |
5653 | (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5654 | * config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New. | |
5655 | * config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5656 | * config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill. | |
5657 | * config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New. | |
5658 | (frv_function_arg_pass_by_reference): Remove. | |
5659 | * config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5660 | * config/i386/i386-protos.h (function_arg_pass_by_reference): Remove. | |
5661 | * config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New. | |
5662 | (ix86_pass_by_reference): Rename from function_arg_pass_by_reference. | |
5663 | * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5664 | * config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill. | |
5665 | * config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New. | |
5666 | (ia64_pass_by_reference): Rename from | |
5667 | ia64_function_arg_pass_by_reference. | |
5668 | * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5669 | * config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5670 | * config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill. | |
5671 | * config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New. | |
5672 | (iq2000_pass_by_reference): Rename from function_arg_pass_by_reference. | |
5673 | * config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5674 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
5675 | * config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove. | |
5676 | * config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New. | |
5677 | (m32r_pass_by_reference): Adjust prototype. Make static. | |
5678 | Handle mode sizes correctly. | |
5679 | * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5680 | * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c | |
5681 | (m68hc11_function_arg_pass_by_reference): Remove. | |
5682 | * config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5683 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
5684 | * config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New. | |
5685 | * config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5686 | * config/mips/mips-protos.h (function_arg_pass_by_reference): Remove. | |
5687 | * config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New. | |
5688 | (mips_va_arg): Use pass_by_reference. | |
5689 | (mips_pass_by_reference): Rename from function_arg_pass_by_reference. | |
5690 | Handle mode sizes correctly. | |
5691 | * config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
3ac5ea7c | 5692 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. |
8cd5a4e0 RH |
5693 | * config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill. |
5694 | * config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New. | |
5695 | (mmix_pass_by_reference): Rename from | |
5696 | mmix_function_arg_pass_by_reference. | |
5697 | * config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5698 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
5699 | * config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New. | |
5700 | (mn10300_pass_by_reference): New. | |
5701 | * config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5702 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
5703 | * config/pa/pa.c (pa_pass_by_reference): New. | |
5704 | (TARGET_PASS_BY_REFERENCE): New. | |
5705 | * config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
3ac5ea7c | 5706 | (FUNCTION_ARG_CALLEE_COPIES): True. |
8cd5a4e0 RH |
5707 | * config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill. |
5708 | * config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New. | |
5709 | (rs6000_pass_by_reference): Rename from function_arg_pass_by_reference. | |
5710 | * config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5711 | * config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill. | |
5712 | * config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New. | |
5713 | (s390_pass_by_reference): Rename from | |
5714 | s390_function_arg_pass_by_reference. | |
5715 | (s390_function_arg_advance): Don't query pass-by-ref. | |
5716 | (s390_function_arg): Likewise. | |
5717 | (s390_gimplify_va_arg): Use pass_by_reference. | |
5718 | (s390_call_saved_register_used): Likewise. | |
5719 | * config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5720 | * config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New. | |
5721 | (shcompact_byref, sh_pass_by_reference): New. | |
5722 | * config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5723 | (SHCOMPACT_BYREF): Remove. | |
5724 | * config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill. | |
5725 | * config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New. | |
5726 | (sparc_pass_by_reference): Rename from function_arg_pass_by_reference. | |
5727 | (sparc_gimplify_va_arg): Use pass_by_reference. | |
5728 | * config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5729 | * config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5730 | * config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New. | |
5731 | (v850_pass_by_reference): New. | |
5732 | * config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5733 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
5734 | * doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from | |
5735 | FUNCTION_ARG_PASS_BY_REFERENCE docs. | |
5736 | ||
0310e537 RH |
5737 | 2004-07-14 Richard Henderson <rth@redhat.com> |
5738 | Richard Sandiford <rsandifo@redhat.com> | |
5739 | ||
5740 | * config/mips/mips-protos.h (mips_va_arg): Delete. | |
5741 | * config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete. | |
5742 | * config/mips/mips.c: Include tree-gimple.h. | |
5743 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
5744 | (mips_arg_info): Remove special handling of must_pass_in_stck args. | |
5745 | (mips_gimplify_va_arg_expr): Rewritten from mips_va_arg. | |
5746 | (function_arg_pass_by_reference): Return true if must_pass_in_stack. | |
5747 | ||
e231737a BW |
5748 | 2004-07-13 Bob Wilson <bob.wilson@acm.org> |
5749 | ||
5750 | * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap | |
5751 | arguments for COND_EXPR in big-endian adjustment code. | |
5752 | ||
747e2d0e JDA |
5753 | 2004-07-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
5754 | ||
5755 | * pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete. | |
5756 | * pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64. | |
5757 | * pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers. | |
5758 | * pa64-regs.h (REG_ALLOC_ORDER): Likewise. | |
5759 | ||
ee536902 DN |
5760 | 2004-07-13 Diego Novillo <dnovillo@redhat.com> |
5761 | ||
5762 | PR tree-optimization/16443 | |
5763 | * tree-ssa-alias.c: Add more description for | |
5764 | CALL_CLOBBERED_VARS and ADDRESSABLE_VARS. | |
5765 | * tree-ssa-operands.c (get_asm_expr_operands): Re-order the | |
5766 | clobbering of call-clobbered and addressable variables. If | |
5767 | there are any before aliases have been computed, add them. | |
5768 | ||
2aaf3dd5 DN |
5769 | 2004-07-13 Diego Novillo <dnovillo@redhat.com> |
5770 | ||
5771 | * tree-optimize.c (execute_todo): Flush DUMP_FILE before | |
5772 | verification. | |
5773 | ||
6c6dd4bd UW |
5774 | 2004-07-13 Ulrich Weigand <uweigand@de.ibm.com> |
5775 | ||
5776 | * config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead | |
5777 | of build_int_2. Convert both operands of PLUS_EXPR and MULT_EXPR | |
5778 | to the same type. | |
5779 | ||
27605cbe PB |
5780 | 2004-07-13 Per Bothner <per@bothner.com> |
5781 | ||
5782 | * collect2.c (main): Handle --no-demangle and --demangle flags. | |
5783 | ||
56cf8686 SP |
5784 | 2004-07-13 Sebastian Pop <pop@cri.ensmp.fr> |
5785 | ||
5786 | * Makefile.in (OBJS-common): Add tree-data-ref.o. | |
5787 | (tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h. | |
5788 | (tree-data-ref.o): New rule. | |
5789 | * lambda.h: New file. | |
5790 | * tree-data-ref.c: New file. | |
5791 | * tree-data-ref.h: New file. | |
5792 | * tree.c (int_cst_value, tree_fold_gcd): New functions. | |
5793 | * tree.h (int_cst_value, tree_fold_gcd): Declared here. | |
7ae4ad28 | 5794 | |
1b3c2c2d EB |
5795 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
5796 | ||
5797 | PR target/13926 | |
5798 | * config/sparc/sparc-protos.h (output_ubranch): New prototype. | |
5799 | * config/sparc/sparc.c (output_ubranch): New function. | |
5800 | * config/sparc/sparc.md (jump pattern): Use it. | |
5801 | ||
883d9e0c EB |
5802 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
5803 | ||
5804 | PR target/16494 | |
5805 | * config/sparc/sparc.c (output_cbranch): Properly guard | |
5806 | the code handling far branches with TARGET_V9. | |
5807 | * config/sparc/sparc.md (length attribute): Document the | |
5808 | side-effect of having a length greater or equal to 3. | |
5809 | ||
aeb29bae | 5810 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
3ac5ea7c | 5811 | Lloyd Parkes <lloyd@must-have-coffee.gen.nz> |
aeb29bae EB |
5812 | |
5813 | PR target/15186 | |
5814 | * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass | |
5815 | /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified. | |
5816 | ||
6bfb2f93 | 5817 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
3ac5ea7c | 5818 | Martin Sebor <sebor@roguewave.com> |
6bfb2f93 EB |
5819 | |
5820 | PR target/12602 | |
5821 | * doc/invoke.texi (SPARC options): Document -threads | |
5822 | and -pthreads on Solaris. | |
5823 | ||
af064de5 RH |
5824 | 2004-07-13 Richard Henderson <rth@redhat.com> |
5825 | ||
5826 | * builtins.c (std_gimplify_va_arg_expr): Handle types passed | |
5827 | by reference. | |
5828 | (ind_gimplify_va_arg_expr): Remove. | |
5829 | * tree.h (ind_gimplify_va_arg_expr): Remove. | |
5830 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it. | |
5831 | * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow | |
5832 | argsp to be null. | |
5833 | ||
5834 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove. | |
5835 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove. | |
5836 | * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c, | |
5837 | config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c, | |
5838 | config/mn10300/mn10300.c, config/v850/v850.c: Similarly. | |
5839 | ||
0976078c RH |
5840 | 2004-07-13 Richard Henderson <rth@redhat.com> |
5841 | ||
5842 | * function.c (pass_by_reference): New. | |
5843 | (assign_parm_find_data_types): Use it. | |
5844 | * calls.c (initialize_argument_information): Likewise. | |
5845 | (emit_library_call_value_1): Likewise. | |
5846 | * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
5847 | * function.h (pass_by_reference): Declare. | |
5848 | ||
fe984136 RH |
5849 | 2004-07-13 Richard Henderson <rth@redhat.com> |
5850 | ||
5851 | * target-def.h (TARGET_MUST_PASS_IN_STACK): New. | |
5852 | * target.h (struct gcc_target): Add calls.must_pass_in_stack. | |
5853 | * expr.h (MUST_PASS_IN_STACK): Remove. | |
5854 | * system.h (MUST_PASS_IN_STACK): Poison. | |
5855 | * tree.h (must_pass_in_stack_var_size): Declare. | |
5856 | (must_pass_in_stack_var_size_or_pad): Declare. | |
5857 | * calls.c (must_pass_in_stack_var_size): New. | |
7ae4ad28 | 5858 | (must_pass_in_stack_var_size_or_pad): Rename from |
fe984136 RH |
5859 | default_must_pass_in_stack. |
5860 | * config/alpha/alpha.c (unicosmk_must_pass_in_stack): New. | |
5861 | (TARGET_MUST_PASS_IN_STACK): New. | |
5862 | * config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove. | |
5863 | * config/fr30/fr30.c (fr30_must_pass_in_stack): New. | |
5864 | (TARGET_MUST_PASS_IN_STACK): New. | |
5865 | * config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove. | |
5866 | * config/frv/frv.c (frv_must_pass_in_stack): New. | |
5867 | (TARGET_MUST_PASS_IN_STACK): New. | |
5868 | * config/frv/frv.h (MUST_PASS_IN_STACK): Remove. | |
5869 | * config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove. | |
5870 | * config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New. | |
5871 | (ix86_must_pass_in_stack): Make static. | |
5872 | * config/i386/i386.h (MUST_PASS_IN_STACK): Remove. | |
5873 | * config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New. | |
5874 | * config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove. | |
5875 | * config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New. | |
5876 | * config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove. | |
5877 | * config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove. | |
5878 | * config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New. | |
5879 | (mcore_must_pass_on_stack): Remove. | |
5880 | * config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove. | |
5881 | * config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New. | |
5882 | * config/mips/mips.h (MUST_PASS_IN_STACK): Remove. | |
5883 | * config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New. | |
5884 | * config/pa/pa.h (MUST_PASS_IN_STACK): Remove. | |
5885 | * config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove. | |
5886 | * config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove. | |
5887 | * config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New. | |
5888 | (TARGET_MUST_PASS_IN_STACK): New. | |
5889 | * config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New. | |
5890 | * config/sh/sh.h (MUST_PASS_IN_STACK): Remove. | |
5891 | * config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New. | |
5892 | * config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove. | |
5893 | * config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New. | |
5894 | * config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove. | |
5895 | * doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from | |
5896 | MUST_PASS_IN_STACK. | |
5897 | ||
5898 | * calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h, | |
5899 | config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c, | |
5900 | config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h, | |
5901 | config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c, | |
5902 | config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c, | |
5903 | config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c, | |
5904 | config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c, | |
5905 | config/xtensa/xtensa.c: Use target hook. | |
5906 | ||
ecb0ccbc AH |
5907 | 2004-07-13 Anthony Heading <aheading@jpmorgan.com> |
5908 | ||
a12baf98 | 5909 | * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo. |
ecb0ccbc AH |
5910 | * configure: Rebuilt. |
5911 | ||
5b9cc93e RS |
5912 | 2004-07-13 Richard Sandiford <rsandifo@redhat.com> |
5913 | ||
5914 | * doc/invoke.texi: Remove documentation for MIPS -mrnames option. | |
5915 | * config/mips/mips.h (mips_reg_names): Don't declare. | |
5916 | (MASK_NAME_REGS): Delete. Shuffle other MASK_* values down. | |
5917 | (TARGET_NAME_REGS): Delete. | |
5918 | (TARGET_SWITCHES): Remove -mrnames. | |
5919 | (REGISTER_NAMES): Initialise with the old contents of mips_reg_names[]. | |
5920 | (ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned | |
5921 | in REGISTER_NAMES. | |
5922 | * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete. | |
5923 | (override_options): Remove handling of TARGET_NAME_REGS. | |
5924 | ||
40a350c9 RS |
5925 | 2004-07-13 Richard Sandiford <rsandifo@redhat.com> |
5926 | ||
5927 | * config/mips/mips.h (TARGET_*): Boolify. | |
5928 | ||
8f36864e NC |
5929 | 2004-07-12 Nick Clifton <nickc@redhat.com> |
5930 | ||
5931 | * config.gcc: Add sh-*-symbianelf target. | |
5932 | * config/sh/sh.c: Add new target macros: | |
5933 | TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING, | |
5934 | TARGET_CXX_IMPORT_EXPORT_CLASS. | |
5935 | (sh_file_start): Create a definition of the .directive section. | |
5936 | (sh_attribute): Add dllimport and dllexport attributes. | |
5937 | * config/sh/symbian-pre.h: New file. | |
5938 | * config/sh/symbian-post.h: New file. | |
5939 | * config/sh/symbian.c: New file. Contains Symbian specific | |
5940 | functions. | |
5941 | * config/sh/sh-protos.h: Add prototypes for new functions | |
5942 | provided by symbian.c. | |
5943 | * config/sh/t-symbian: New file. | |
5944 | * doc/extend.texi: Document support for dllimport and dllexport | |
5945 | attributes by the sh-symbianelf target. | |
5946 | ||
f6a874ac JW |
5947 | 2004-07-12 James E Wilson <wilson@specifixinc.com> |
5948 | ||
5949 | * Makefile.in (AR): Use @AR@ not ar. | |
5950 | (NM): New. | |
5951 | (AR_FOR_TARGET): Use $(AR) not ar for native. | |
5952 | (NM_FOR_TARGET): Use $(NM) not nm for native. | |
5953 | * configure.ac: Add AC_CHECK_PROG calls for NM and AR. | |
5954 | * configure: Regenerate. | |
7ae4ad28 | 5955 | |
d7ae4c28 DM |
5956 | 2004-07-12 David S. Miller <davem@nuts.davemloft.net> |
5957 | ||
5958 | * config/sparc/sparc.md (ashlsi3): Eliminate const 1 | |
5959 | special case. | |
5960 | (ashldi3_sp64): Likewise. | |
5961 | ||
7ea18c08 JDA |
5962 | 2004-07-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
5963 | ||
5964 | PR target/16477 | |
5965 | * pa.c (function_arg): Update comment. | |
5966 | * pa.h (BLOCK_REG_PADDING): Define. | |
5967 | ||
066a0344 ZD |
5968 | 2004-07-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
5969 | ||
5970 | PR tree-optimization/16461 | |
5971 | * tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name | |
5972 | arguments of phi nodes. | |
5973 | ||
7aded944 DP |
5974 | 2004-07-12 Devang Patel <dpatel@apple.com> |
5975 | ||
5976 | * doc/invoke.texi (Darwin Options): Document -gused and -gfull. | |
7ae4ad28 | 5977 | |
5e89a381 SE |
5978 | 2004-07-12 Steve Ellcey <sje@cup.hp.com> |
5979 | ||
5980 | * function.c (expand_function_start): Ensure r_save is in Pmode. | |
5981 | * calls.c (prepare_call_address): Ensure static_chain_value is | |
5982 | in Pmode. | |
5983 | * builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and | |
5984 | r_save_area are in Pmode. | |
5985 | * config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr, | |
5986 | fnaddr, and static_chain are in Pmode. | |
5987 | ||
52b754e8 VM |
5988 | 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> |
5989 | ||
5990 | PR target/16445 | |
5991 | * config/ia64/ia64.c (bundling): Don't count ignored insns. | |
5992 | ||
cdc3ddb8 RH |
5993 | 2004-07-12 Richard Henderson <rth@redhat.com> |
5994 | ||
5995 | * target.h (struct gcc_target): Move gimplify_va_arg_expr | |
5996 | next to build_builtin_va_list. | |
5997 | * target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match. | |
5998 | * builtins.c (gimplify_va_arg_expr): Likewise. | |
5999 | * gimplify.c (copy_if_shared_r): Likewise. | |
6000 | ||
a0c71497 AO |
6001 | 2004-07-12 Alexandre Oliva <aoliva@redhat.com> |
6002 | ||
6003 | * passes.c (rest_of_decl_compilation): Don't defer call of | |
6004 | assemble_variable if its DECL_RTL is already set. | |
6005 | ||
9baba81b SP |
6006 | 2004-07-12 Sebastian Pop <pop@cri.ensmp.fr> |
6007 | ||
6008 | * cfgloop.h (struct loop): Add nb_iterations field. | |
7ae4ad28 | 6009 | (current_loops): Declare. |
9baba81b SP |
6010 | * tree-chrec.c (chrec_not_analyzed_yet, |
6011 | chrec_dont_know, chrec_known, count_ev_in_wider_type, | |
6012 | chrec_contains_symbols_defined_in_loop): Remove the temporary | |
7ae4ad28 | 6013 | hooks. |
9baba81b SP |
6014 | * tree-flow-inline.h (loop_containing_stmt): New function. |
6015 | * tree-scalar-evolution.c: Add implementation. | |
6016 | * tree-scalar-evolution.h: Add declarations. | |
6017 | ||
fdbda73f VM |
6018 | 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> |
6019 | ||
6020 | PR rtl-optimization/15921 | |
6021 | * Makefile.in (global.o): Add recog.h. | |
7ae4ad28 | 6022 | |
fdbda73f VM |
6023 | * global.c (recog.h): Add the include-clause. |
6024 | (bb_info): New member earlyclobber. | |
6025 | (allocate_bb_info, free_bb_info): Initialize/finish the new | |
6026 | member. | |
6027 | (earlyclobber_regclass, earlyclobber_regclass_length): The new | |
6028 | global variables. | |
6029 | (check_earlyclobber, regclass_intersect, | |
6030 | mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1): | |
6031 | New functions. | |
6032 | (calculate_local_reg_bb_info): Calculate value of earlyclobber. | |
6033 | (make_accurate_live_analysis): Modify pavin. | |
7ae4ad28 | 6034 | |
255cd731 DN |
6035 | 2004-07-12 Diego Novillo <dnovillo@redhat.com> |
6036 | ||
6037 | * tree-cfg.c (find_taken_edge): Statically compute the truth | |
6038 | value of a predicate comparing an SSA_NAME to itself. | |
6039 | ||
938bf747 RS |
6040 | 2004-07-12 Roger Sayle <roger@eyesopen.com> |
6041 | ||
6042 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the | |
6043 | rs6000 doesn't have shift-and-add or shift-and-sub instructions | |
6044 | by returning the cost of a multiplication plus an addition. | |
6045 | ||
55e99d52 PB |
6046 | 2004-07-12 Paolo Bonzini <bonzini@gnu.org> |
6047 | ||
6048 | PR tree-optimization/14107 | |
6049 | * gimplify.c (gimplify_return_expr): Accept a | |
6050 | RETURN_EXPR with an error argument. | |
6051 | * tree-optimize.c (init_tree_optimization_passes): | |
6052 | Run pass_warn_function_return at -O0. | |
6053 | ||
2a9dc917 RS |
6054 | 2004-07-12 Roger Sayle <roger@eyesopen.com> |
6055 | ||
6056 | * doc/invoke.texi: Correct -fasynchronous-unwind-tables option | |
6057 | index entry. | |
6058 | ||
f10107a1 RS |
6059 | 2004-07-12 Richard Sandiford <rsandifo@redhat.com> |
6060 | ||
6061 | * config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete. | |
6062 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
6063 | * config/mips/3000.md: Add copyright notice. Remove automota and | |
6064 | function units; use generic ones instead. Only define reservations | |
6065 | for things that are different from generic.md. Extend each clause | |
6066 | to include r3900. | |
6067 | * config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files. | |
6068 | * config/mips/mips.md: Include them. Remove define_function_units. | |
6069 | (alu, imuldiv): New automata and units. | |
6070 | ||
4c59781d BE |
6071 | 2004-07-12 Ben Elliston <bje@au.ibm.com> |
6072 | ||
6073 | * doc/invoke.texi (Optimize Options): Document -frename-registers | |
6074 | not being enabled by default at -O3. | |
6075 | ||
df23e6bb RS |
6076 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
6077 | ||
6078 | * fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for | |
6079 | floating point additions, to keep real immediate constant positive. | |
6080 | <MINUS_EXPR>: For floating point subtractions, only transform X - -C | |
6081 | into X + C, and leave positive real constants as X - C. | |
6082 | ||
4dcf7d66 JDA |
6083 | 2004-07-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
6084 | ||
6085 | * pa.c (hppa_gimplify_va_arg_expr): Remove comment. | |
6086 | ||
8d3d51b5 ZD |
6087 | 2004-07-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
6088 | ||
6089 | PR tree-optimization/15654 | |
6090 | * tree-tailcall.c (eliminate_tail_call): Remove unreachable code. | |
6091 | ||
9675412f RS |
6092 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
6093 | ||
6094 | * builtins.c (fold_builtin_fputs): Don't bother converting the | |
6095 | return type to integer_type_node, as we've already checked that | |
6096 | the result will be ignored. | |
6097 | ||
6098 | * tree-eh.c (tree_could_trap_p): Add support for -ftrapv such | |
6099 | that signed addition, subtraction, multiplication, division, | |
6100 | remainder, negation and absolute value may potentially trap. | |
6101 | ||
6102 | * fold-const.c (fold_ignored_result): New function to strip | |
6103 | non-side-effecting tree nodes from an expression whose result | |
6104 | is ignored. | |
6105 | (fold_convert): Call fold_ignored_result when casting a value | |
6106 | to VOID_TYPE. | |
6107 | (omit_one_operand): Call fold_ignored_result on the "omitted" | |
6108 | operand when building a COMPOUND_EXPR. | |
6109 | (pedantic_omit_one_operand): Likewise. | |
6110 | * tree.h (fold_ignored_result): Prototype here. | |
6111 | * tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result | |
6112 | when we're going to ignore the result. | |
6113 | ||
fa27426e RH |
6114 | 2004-07-11 Richard Henderson <rth@redhat.com> |
6115 | ||
6116 | PR tree-opt/16383 | |
6117 | * tree-ssa-ccp.c (fold_stmt_r): Split out... | |
6118 | * tree.c (fields_compatible_p, find_compatible_field): ... new. | |
6119 | * tree.h (fields_compatible_p, find_compatible_field): Declare. | |
6120 | * tree-sra.c (sra_hash_tree): Hash fields by offset. | |
6121 | (sra_elt_eq): Use fields_compatible_p. | |
6122 | (generate_one_element_ref): Use find_compatible_field. | |
6123 | ||
71956db3 RH |
6124 | 2004-07-11 Richard Henderson <rth@redhat.com> |
6125 | ||
6126 | PR tree-opt/16422 | |
6127 | * tree-sra.c (generate_one_element_init): New. | |
6128 | (generate_element_init): Use it. | |
6129 | (scalarize_init): Push/pop gimplify context around it. | |
6130 | (find_new_referenced_vars_1, find_new_referenced_vars): New. | |
6131 | * gimplify.c (gimplify_expr): Allow SSA_NAME. | |
6132 | ||
6fd21094 RS |
6133 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
6134 | ||
6135 | * rtlanal.c (insn_rtx_cost): New function, moved and renamed from | |
6136 | combine.c's combine_insn_cost. | |
6137 | * rtl.h (insn_rtx_cost): Prototype here. | |
6138 | * combine.c (combine_insn_cost): Delete function. | |
6139 | (combine_validate_cost): Update callers of combine_insn_cost to | |
6140 | call insn_rtx_cost instead. | |
6141 | (combine_instructions): Likewise. Use NONJUMP_INSN_P to avoid | |
6142 | requesting the rtx_cost of call and/or jump instructions. | |
6143 | ||
6144 | * ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling | |
6145 | rtx_cost directly. Don't request/use the cost of call or jump | |
6146 | instructions. Return -1 if the cost of any instruction can't be | |
6147 | determined (or the BB contains a function call). | |
6148 | (find_if_case_1): Abort transformation if total_bb_rtx_cost returns | |
6149 | -1 (i.e. can't determine the cost of any instruction or the basic | |
6150 | block contains a subroutine call). | |
6151 | (find_if_case_2): Likewise. | |
6152 | ||
06a67bdd RS |
6153 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
6154 | ||
6155 | * rs6000.c (struct processor_costs): Change semantics of fields to | |
6156 | include the COST_N_INSNS scaling, and update all initializers. | |
6157 | (rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields. | |
6158 | Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE. | |
6159 | Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP. When | |
6160 | optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE. | |
6161 | ||
6ac4b58e JM |
6162 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
6163 | ||
6164 | * LANGUAGES: Remove obsolete information. | |
6165 | ||
bbb362e6 UW |
6166 | 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com> |
6167 | ||
7ae4ad28 | 6168 | * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and |
bbb362e6 UW |
6169 | SIGBUS signal frames, the PSW address points *to* the faulting |
6170 | instruction, not after it. | |
6171 | ||
578d1468 UW |
6172 | 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com> |
6173 | ||
6174 | * config/s390/s390.c (legitimize_tls_address): Handle constant offsets | |
6175 | added to TLS symbol addresses. | |
6176 | ||
79b4a8dc RH |
6177 | 2004-07-11 Richard Henderson <rth@redhat.com> |
6178 | ||
7ae4ad28 | 6179 | * expmed.c (init_expmed): Use stack-local structures for |
79b4a8dc RH |
6180 | temporary rtl. Don't recognize shifts. |
6181 | ||
7e7d1b4b RH |
6182 | 2004-07-11 Richard Henderson <rth@redhat.com> |
6183 | ||
6184 | * expr.c (store_expr): Don't fiddle subreg promotion for types | |
6185 | with precision smaller than the mode. | |
6186 | ||
370b733b JM |
6187 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
6188 | ||
6189 | * tree.h (all_types_permanent): Remove. | |
6190 | ||
9dcf6e73 JM |
6191 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
6192 | ||
6193 | * langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block, | |
6194 | maybe_build_cleanup, update_decl_after_saving): Remove hooks. | |
6195 | * langhooks.c (lhd_clear_binding_stack): Remove. | |
6196 | * langhooks-def.h (lhd_clear_binding_stack, | |
6197 | LANG_HOOKS_MAYBE_BUILD_CLEANUP, | |
6198 | LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, | |
6199 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL, | |
6200 | LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
6201 | (LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing. | |
6202 | * system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
6203 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK, | |
6204 | LANG_HOOKS_MAYBE_BUILD_CLEANUP, | |
6205 | LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison. | |
6206 | * tree.h (poplevel): Don't declare. | |
6207 | * c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, | |
6208 | LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
6209 | * objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, | |
6210 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): | |
6211 | Remove. | |
6212 | ||
fae1b38d JM |
6213 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
6214 | ||
6215 | PR tree-optimization/16437 | |
6216 | * c-common.c (shorten_compare): Don't mark result of conversion to | |
6217 | narrower signed type as overflowing. | |
6218 | * fold-const.c (decode_field_reference): Determine whether | |
6219 | signedness comes from outer type using precision rather than size. | |
6220 | ||
d2640b91 PE |
6221 | 2004-07-11 Phil Edwards <phil@codesourcery.com> |
6222 | ||
6223 | * configure.ac: Alphabetize --enable-checking list, add | |
6224 | missing valgrind entry. | |
6225 | * configure: Regenerate. | |
6226 | ||
d817041f PE |
6227 | 2004-07-11 Phil Edwards <phil@codesourcery.com> |
6228 | ||
6229 | * doc/install.texi (Testing): Fix syntax in "make check" example. | |
6230 | ||
8242b64a JW |
6231 | 2004-07-10 James E Wilson <wilson@specifixinc.com> |
6232 | ||
6233 | * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp. | |
6234 | ||
fe3f617f ZD |
6235 | 2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
6236 | ||
6237 | PR rtl-optimization/16001 | |
6238 | * loop-iv.c (iv_number_of_iterations): Prevent copy propagation in | |
6239 | niter_expr. | |
6240 | ||
ef262483 GK |
6241 | 2004-07-10 Geoffrey Keating <geoffk@apple.com> |
6242 | ||
6243 | * config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt. | |
6244 | ||
f183d374 | 6245 | 2004-07-10 Steve Kargl <sgk@troutmask.apl.washington.edu> |
3ac5ea7c | 6246 | James Morrison <phython@gcc.gnu.org> |
f183d374 | 6247 | |
3ac5ea7c | 6248 | * doc/contrib.texi (Contributors): Add gfortran contributors and |
f183d374 SK |
6249 | fix a couple of typos. |
6250 | ||
01606a5a ZD |
6251 | 2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
6252 | ||
fe3f617f | 6253 | PR rtl-optimization/15387 |
01606a5a ZD |
6254 | * calls.c (check_sibcall_argument_overlap_1): Handle pointers |
6255 | to incoming args space correctly. | |
6256 | ||
2c774817 JDA |
6257 | 2004-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
6258 | ||
6259 | * pa.c (output_indirect_call): Only use %r2 as the link register in | |
6260 | indirect calls with the long PA 2.0 pc-relative branch. | |
6261 | ||
3326f410 DJ |
6262 | 2004-07-10 Daniel Jacobowitz <dan@debian.org> |
6263 | ||
6264 | * config/i386/i386.c (override_options): Pick a 64-bit CPU | |
6265 | for the default tuning if TARGET_64BIT. | |
6266 | ||
07b8df0a RH |
6267 | 2004-07-10 Richard Henderson <rth@redhat.com> |
6268 | ||
6269 | * builtins.c (std_gimplify_va_arg_expr): Widen align/boundary | |
6270 | to HOST_WIDE_INT. Fold pad-args-down arithmetic. | |
6271 | ||
b3520980 JJ |
6272 | 2004-07-10 Jakub Jelinek <jakub@redhat.com> |
6273 | ||
6274 | * expr.h (store_bit_field, extract_bit_field): Remove last argument. | |
6275 | * expmed.c (store_bit_field, extract_bit_field): Remove last | |
6276 | argument. | |
6277 | * builtins.c (expand_builtin_signbit): Adjust callers. | |
6278 | * optabs.c (expand_vector_binop, expand_vector_unop): Likewise. | |
6279 | * calls.c (store_unaligned_arguments_into_pseudos): Likewise. | |
6280 | * ifcvt.c (noce_emit_move_insn): Likewise. | |
6281 | * stmt.c (expand_return): Likewise. | |
6282 | * expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg, | |
6283 | store_field, expand_expr_real_1): Likewise. | |
6284 | ||
76aa5713 RH |
6285 | 2004-07-10 Richard Henderson <rth@redhat.com> |
6286 | ||
6287 | * builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR. | |
6288 | ||
45cc4783 MS |
6289 | 2004-07-09 Mike Stump <mrs@apple.com> |
6290 | ||
6291 | * config/darwin.c (no_dead_strip): Add. | |
6292 | (HAVE_DEAD_STRIP): Add. | |
6293 | (darwin_emit_unwind_label): Ensure that we don't dead code strip | |
6294 | the .eh label. | |
6295 | ||
a7e5372d ZD |
6296 | 2004-07-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
6297 | ||
6298 | * tree-ssa-loop-im.c: New file. | |
6299 | * Makefile.in (tree-ssa-loop-im.o): Add. | |
6300 | * cfgloop.c (superloop_at_depth): New function. | |
6301 | * cfgloop.h (superloop_at_depth): Declare. | |
6302 | * common.opt (ftree-lim): New flag. | |
6303 | * expr.c (array_ref_up_bound): New function. | |
6304 | * params.def (PARAM_LIM_EXPENSIVE): New parameter. | |
6305 | * timevar.def (TV_LIM): New timevar. | |
6306 | * tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when | |
6307 | computing immediate uses of a phi node. | |
6308 | * tree-flow.h (struct tree_ann_common_d): Add aux field. | |
6309 | (loop_commit_inserts, for_each_index, tree_ssa_lim): Declare. | |
6310 | * tree-optimize.c (init_tree_optimization_passes): Add pass_lim. | |
6311 | * tree-pass.h (pass_lim): Declare. | |
6312 | * tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New | |
6313 | functions. | |
6314 | (pass_lim): New pass structure. | |
6315 | * tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly. | |
6316 | * tree.c (in_array_bounds_p): New function. | |
6317 | * tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs. | |
6318 | (in_array_bounds_p, array_ref_up_bound): Declare. | |
6319 | * doc/invoke.texi (-ftree-lim, --param lim-expensive): Document. | |
6320 | * doc/passes.texi (tree-ssa-loop-im.c): Document. | |
6321 | ||
f3a096e8 RH |
6322 | 2004-07-09 Richard Henderson <rth@redhat.com> |
6323 | ||
6324 | * builtins.c (expand_builtin_stpcpy): Don't modify len. | |
6325 | ||
020510c9 RH |
6326 | * tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs |
6327 | with prejudice. | |
6328 | ||
31b66477 KC |
6329 | 2004-07-10 Kelley Cook <kcook@gcc.gnu.org> |
6330 | ||
6331 | * flags.h: Delete redundant prototypes that are being generated | |
6332 | in options.h from common.opt. | |
6333 | * common.opt: Add in the expository comments formerly in flags.h. | |
6334 | ||
78fbfc4b JB |
6335 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
6336 | ||
6337 | * config/i386/i386.c (init_cumulative_args): Set mmx/sse registers | |
6338 | available for use only when TARGET_MMX/_SSE is set, and check for | |
6339 | variable argument function if any register count is non-zero. | |
6340 | (function_arg): Correctly suppress repeated warnings for passing SSE | |
6341 | vectors are arguments without SSE enabled. | |
6342 | (ix86_function_arg_boundary): Without SSE enabled, the use of what | |
6343 | would be SSE register modes does no longer influence the alignment. | |
6344 | ||
e4d3eef1 RH |
6345 | 2004-07-09 Richard Henderson <rth@redhat.com> |
6346 | ||
6347 | * builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD. | |
6348 | Always align upward to arg boundary. Use size_in_bytes/round_up. | |
6349 | Maintain type-correctness of constants. | |
6350 | * stor-layout.c (round_up, round_down): Special-case powers of 2. | |
6351 | ||
ffe384ff DM |
6352 | 2004-07-09 David S. Miller <davem@nuts.davemloft.net> |
6353 | ||
6354 | * config/sparc/sparc.c (*_costs): Scale instruction costs | |
6355 | by COSTS_N_INSNS. | |
6356 | (sparc_rtx_costs): Adjust as appropriate. | |
6357 | ||
0c2a4754 JB |
6358 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
6359 | ||
6360 | * config/i386/mm3dnow.h: New. | |
6361 | * config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64. | |
6362 | ||
04b80a88 RH |
6363 | 2004-07-09 Richard Henderson <rth@redhat.com> |
6364 | ||
6365 | * simplify-rtx.c (simplify_const_relational_operation): Only | |
6366 | look at bounds of scalar integers. | |
6367 | ||
0c2a4754 | 6368 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
946e316c JB |
6369 | |
6370 | * config/i386/i386.md (sse2_clflush): Use correct operand for clflush. | |
6371 | ||
3d0d0a7a AP |
6372 | 2004-07-09 Andrew Pinski <apinski@apple.com> |
6373 | ||
6374 | * objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as | |
6375 | always referenced. | |
6376 | (synth_forward_declarations): Likewise for UOBJC_CLASS_decl and | |
6377 | UOBJC_METACLASS_decl. | |
6378 | ||
5806d4fd JW |
6379 | 2004-07-09 James E Wilson <wilson@specifixinc.com> |
6380 | ||
6381 | PR target/16364 | |
6382 | * config/ia64/ia64.c (ia64_function_arg): For a single element HFA, | |
6383 | do return a parallel if hfa_mode == XFmode and mode == TImode. | |
6384 | ||
3d0d0a7a | 6385 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
8a2cee38 JB |
6386 | |
6387 | * c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes | |
6388 | permissible for unary plus. | |
6389 | ||
3d0d0a7a | 6390 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
2319a1d1 JB |
6391 | |
6392 | * builtin-types.def (BT_UINT): Rename from BT_UNSIGNED. | |
6393 | (BT_FN_UINT): Rename from BT_FN_UNSIGNED. | |
6394 | (BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED. | |
6395 | (BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG, | |
6396 | BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New. | |
6397 | * builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx, | |
6398 | BUILTIN_POPCOUNTxxx): Arguments are unsigned. | |
6399 | (BUILTIN_xxxIMAX): New. | |
6400 | * builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX, | |
6401 | BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and | |
6402 | BUILT_IN_PARITYIMAX. | |
6403 | ||
18df6de9 DM |
6404 | 2004-07-09 David S. Miller <davem@nuts.davemloft.net> |
6405 | ||
6406 | * config/sparc/sparc.h (processor_costs): Define. | |
6407 | (sparc_costs): Declare. | |
6408 | * config/sparc/sparc.c (cypress_costs, supersparc_costs, | |
6409 | hypersparc_costs, sparclet_costs, ultrasparc_costs, | |
6410 | ultrasparc3_costs): New. | |
6411 | (sparc_override_options): Set sparc_costs as appropriate. | |
6412 | (sparc_rtx_costs): Use sparc_costs instead of messy | |
6413 | conditionals. | |
7ae4ad28 | 6414 | |
dae42469 SB |
6415 | 2004-07-09 Steven Bosscher <stevenb@suse.de> |
6416 | ||
6417 | * doc/md.texi (Processor pipeline description): Mention that | |
6418 | the old pipeline description is deprecated. | |
6419 | ||
6420 | * config/rs6000/7450.md (automaton ppc7450): Split up, move | |
6421 | mciu_7450 function unit to... | |
6422 | (automaton ppc7450mciu): ...new automaton. | |
6423 | ||
6424 | * haifa-sched.c (insert_schedule_bubbles_p): Remove. | |
6425 | (schedule_block): Don't consider inserting bubbles. | |
6426 | (sched_init): Don't initialize DFA bubbles. | |
6427 | * target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES, | |
6428 | TARGET_SCHED_DFA_BUBBLE): Remove. | |
6429 | * target.h (init_dfa_bubbles, dfa_bubble): Remove hooks. | |
6430 | * doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES, | |
6431 | TARGET_SCHED_DFA_BUBBLE): Remove documentation. | |
6432 | ||
6433 | * stmt.c (conditional_context): Remove prototype. | |
6434 | * tree.h (conditional_context): Remove. | |
6435 | * tree-cfg.c (pre_insert_on_edge): Remove. | |
6436 | ||
6437 | * c-common.h (c_expand_asm_operands): Remove prototype. | |
6438 | * c-typeck.c (c_expand_asm_operands): Remove. | |
6439 | ||
6440 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
9e9fb0ce JB |
6441 | |
6442 | * config/i386/i386.c (classify_argument): Treat V1xx modes the same as | |
6443 | their base modes. CTImode, TCmode, and XCmode must be passed in memory. | |
6444 | TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode, | |
6445 | and V8QI are class SSE. All sufficiently small remaining vector modes | |
6446 | must be passed in one or two integer registers. | |
6447 | (ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be | |
6448 | returned in memory. | |
6449 | (bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and | |
6450 | __builtin_ia32_pmuludq128 have non-uniform argument and return types | |
6451 | and must thus be handled explicitly. | |
6452 | * config/i386/i386.md (*movdi_1_rex64): Add cases for moving between | |
6453 | MMX and XMM regs. | |
6454 | (movv8qi_internal, movv4hi_internal, movv2si_internal, | |
6455 | movv2sf_internal): Permit moving between MMX and XMM registers (since | |
6456 | MMX areguments and return values are passed in XMM registers). | |
6457 | (sse2_umulsidi3): Correct type and mode. | |
6458 | ||
dae42469 | 6459 | 2004-07-09 Richard Henderson <rth@redhat.com> |
f7fda749 RH |
6460 | |
6461 | * tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors. | |
6462 | ||
60f4f3b7 EC |
6463 | 2004-07-09 Eric Christopher <echristo@redhat.com> |
6464 | ||
6465 | * config/rs6000/40x.md: Split into two automatons. | |
6466 | ||
9affb2c7 ZW |
6467 | 2004-07-09 Zack Weinberg <zack@codesourcery.com> |
6468 | Andrew Pinski <apinski@apple.com> | |
6469 | ||
6470 | * c-opts.c (c_common_post_options): Force unit-at-a-time mode | |
6471 | on when we have more than one input file. | |
6472 | (c_common_parse_file): Restore loop over all input files. | |
6473 | Clarify diagnostic for -dy when YYDEBUG wasn't defined. | |
6474 | ||
6475 | * c-decl.c (set_type_context): New function. | |
6476 | (pop_scope): Use it to set context of types. When we | |
6477 | encounter a TYPE_DECL, set the context of the attached type too. | |
6478 | (pop_file_scope): Don't call cpp_undef_all here. | |
6479 | (diagnose_mismatched_decls): Do not complain about a second | |
6480 | definition of an 'extern inline' function if it's not in the | |
6481 | same translation unit. Do not complain about inline | |
6482 | declaration after use if the use was in a different | |
6483 | translation unit. | |
6484 | (merge_decls): Don't clobber olddecl's DECL_CONTEXT. | |
6485 | (pushdecl): Do not put DECL_EXTERNAL, !TREE_PUBLIC decls in | |
6486 | the external scope. | |
6487 | (pushdecl_top_level): Likewise. | |
6488 | (grokdeclarator): Clarify what is going on with setting | |
6489 | DECL_EXTERNAL on function types, a little. | |
6490 | (c_write_global_declarations): Don't do anything if | |
6491 | -fsyntax-only or errors have been encountered. | |
6492 | ||
dae1dd2e ZW |
6493 | 2004-07-09 Zack Weinberg <zack@codesourcery.com> |
6494 | ||
6495 | * vec.c, vec.h (vec_assert_fail): Use unsigned int for LINE argument. | |
6496 | ||
605201ba JDA |
6497 | 2004-07-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
6498 | ||
6499 | PR target/16459 | |
6500 | * pa.c (output_indirect_call): Use %r2 as the link register when | |
6501 | calling $$dyncall with a pc-relative branch. | |
6502 | ||
6512c54a GP |
6503 | 2004-07-08 Gerald Pfeifer <gerald@pfeifer.com> |
6504 | ||
6505 | * doc/install.texi (Binaries): Mention OpenPKG. | |
6506 | ||
d8903b30 DN |
6507 | 2004-07-09 Diego Novillo <dnovillo@redhat.com> |
6508 | ||
473a4325 | 6509 | Fix PR tree-optimization/15555 |
d8903b30 DN |
6510 | * tree-dfa.c (dump_variable): If the variable is a pointer |
6511 | SSA_NAME, also dump its points-to information. | |
6512 | * tree-flow.h (struct ptr_info_def): Add field | |
6513 | is_dereferenced. | |
6514 | (dump_points_to_info_for): Declare. | |
6515 | (debug_points_to_info_for): Declare. | |
6516 | * tree-optimize.c (init_tree_optimization_passes): Add a | |
6517 | second alias analysis pass after DOM2. | |
6518 | Move pass_del_pta to a later spot. | |
6519 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): Do not | |
6520 | create a name tags when we find a dereferenced pointer. Just | |
6521 | mark the pointer dereferenced. | |
6522 | (collect_points_to_info_for): Move code to clear points-to | |
6523 | information to create_name_tags. | |
6524 | (create_name_tags): New function. | |
6525 | (compute_flow_sensitive_aliasing): Call it. | |
6526 | (setup_pointers_and_addressables): Mark type tags for renaming | |
6527 | here instead of ... | |
6528 | (create_memory_tag): ... here. | |
6529 | (merge_pointed_to_info): Do not merge PT_MALLOC attributes. | |
6530 | (dump_points_to_info_for): Declare extern. | |
6531 | (debug_points_to_info_for): New function. | |
6532 | ||
a59f1942 PB |
6533 | 2004-07-09 Paolo Bonzini <bonzini@gnu.org> |
6534 | ||
6535 | * config/arc/arc.md: Switch to DFA-based scheduler description. | |
6536 | * config/arc/arc.c: Switch to DFA-based scheduler description. | |
6537 | ||
f94bf2ea RE |
6538 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> |
6539 | ||
6540 | * arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame | |
6541 | pointer. | |
6542 | ||
a900345f RH |
6543 | 2004-07-09 Richard Henderson <rth@redhat.com> |
6544 | ||
85d53c1d RH |
6545 | * config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove. |
6546 | * config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6547 | (xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg. | |
6548 | * config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6549 | ||
a900345f RH |
6550 | * config/v850/v850-protos.h (v850_va_arg): Remove. |
6551 | * config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6552 | (v850_gimplify_va_arg_expr): Rewrite from v850_va_arg. | |
6553 | * config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6554 | (FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types. | |
6555 | (FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE. | |
6556 | ||
f372c932 RE |
6557 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> |
6558 | ||
6559 | PR target/12133 | |
dae1dd2e | 6560 | * arm.c (arm_legitimate_index_p) Allow DFmode for soft-float |
f372c932 RE |
6561 | and DImode to use +/-4k offset. |
6562 | ||
634cbdb3 RH |
6563 | 2004-07-09 Richard Henderson <rth@redhat.com> |
6564 | ||
5d47df87 RH |
6565 | * config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg): |
6566 | Remove. | |
6567 | * config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6568 | (xstormy16_gimplify_va_arg_expr): Rewrite from | |
6569 | xstormy16_expand_builtin_va_arg. | |
6570 | * config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6571 | ||
35652573 RH |
6572 | * config/sparc/sparc-protos.h (sparc_va_arg): Remove. |
6573 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static. | |
6574 | ||
5fac2ed2 RH |
6575 | * config/sh/sh-protos.h (sh_va_arg): Remove. |
6576 | * config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6577 | (sh_gimplify_va_arg_expr): Rewrite from sh_va_arg. | |
6578 | * config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6579 | ||
8101c928 RH |
6580 | * config/pa/pa-protos.h (hppa_va_arg): Remove. |
6581 | * config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6582 | (hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg. | |
6583 | * config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6584 | ||
634cbdb3 RH |
6585 | * config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove. |
6586 | * config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6587 | (mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg. | |
6588 | * config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6589 | ||
854f240e EB |
6590 | 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr> |
6591 | ||
6592 | * config/sparc/sparc.md (return): Rewrite length formula. | |
6593 | * config/sparc/sparc.c (output_return): Pass 1 as 5th | |
6594 | argument to final_scan_insn when in a delay slot. | |
6595 | (output_sibcall): Likewise. | |
6596 | ||
2ad4dcf9 RE |
6597 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> |
6598 | ||
6599 | * arm.c (arm_cpp_interwork): New variable. | |
6600 | (arm_override_options): Set it if TARGET_INTERWORK was on the command | |
6601 | line. | |
6602 | * arm.h (arm_cpp_interwork): Declare it. | |
6603 | (TARGET_CPU_CPP_BUILTINS): Use it to control definition of | |
6604 | __THUMB_INTERWORK__ in the preprocessor. | |
6605 | ||
4dbb1656 NS |
6606 | 2004-07-09 Nathan Sidwell <nathan@codesourcery.com> |
6607 | ||
6608 | * vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto. | |
6609 | ||
42032f7a EB |
6610 | 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr> |
6611 | ||
6612 | PR target/16416 | |
6613 | * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro. | |
6614 | Override default settings to account for -m32 and -m64. | |
6615 | ||
8c5ac2c4 RC |
6616 | 2004-07-08 Randolph Chung <tausq@debian.org> |
6617 | ||
6618 | * pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define. | |
6619 | ||
691e2db8 AO |
6620 | 2004-07-09 Alexandre Oliva <aoliva@redhat.com> |
6621 | ||
6622 | * builtins.c (fold_builtin_strncpy): Make sure len is a constant | |
6623 | before comparing it as such. | |
6624 | ||
37369edc RH |
6625 | 2004-07-08 Richard Henderson <rth@redhat.com> |
6626 | ||
6627 | * builtins.c (std_gimplify_va_arg_expr): Hoist valist into a | |
6628 | temporary. Use bit arithmetic to align. | |
6629 | ||
4b4bf941 JQ |
6630 | 2004-07-08 Jerry Quinn <jlquinn@optonline.net> |
6631 | ||
6632 | * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p, | |
6633 | nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P, | |
6634 | NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P. | |
6635 | * bb-reorder.c (mark_bb_for_unlikely_executed_section, | |
6636 | add_labels_and_missing_jumps, find_jump_block, | |
6637 | fix_crossing_unconditional_branches, add_reg_crossing_jump_notes): | |
6638 | Likewise. | |
6639 | * bt-load.c (btr_referenced_p, compute_defs_uses_and_gen, | |
6640 | link_btr_uses, move_btr_def): Likewise. | |
6641 | * builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto, | |
6642 | expand_builtin_expect_jump): Likewise. | |
6643 | * caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise. | |
6644 | * calls.c (expand_call, emit_library_call_value_1): Likewise. | |
6645 | * cfganal.c (forwarder_block_p): Likewise. | |
6646 | * cfgbuild.c (inside_basic_block_p, count_basic_blocks, | |
6647 | make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1, | |
6648 | find_bb_boundaries): Likewise. | |
6649 | * cfgcleanup.c (try_simplify_condjump, try_forward_edges, | |
6650 | merge_blocks_move_predecessor_nojumps, | |
6651 | merge_blocks_move_successor_nojumps, insns_match_p, | |
6652 | flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, | |
6653 | try_optimize_cfg): Likewise. | |
6654 | * cfgexpand.c (expand_block, construct_exit_block): Likewise. | |
6655 | * cfglayout.c (skip_insns_after_block, label_for_bb, | |
6656 | record_effective_endpoints, insn_locators_initialize, | |
6657 | fixup_reorder_chain, update_unlikely_executed_notes): Likewise. | |
6658 | * cfgmainloop.c (create_loop_notes): Likewise. | |
6659 | * cfgrtl.c (delete_insn, delete_insn_chain, | |
6660 | create_basic_block_structure, rtl_delete_block, free_bb_for_insn, | |
6661 | update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks, | |
6662 | block_label, try_redirect_by_replacing_jump, last_loop_beg_note, | |
6663 | redirect_branch_edge, force_nonfallthru_and_redirect, | |
6664 | rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p, | |
6665 | rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb, | |
6666 | update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info, | |
6667 | purge_dead_edges, cfg_layout_redirect_edge_and_branch, | |
6668 | cfg_layout_delete_block, cfg_layout_can_merge_blocks_p, | |
6669 | cfg_layout_merge_blocks, rtl_block_ends_with_call_p, | |
6670 | need_fake_edge_p, rtl_flow_call_edges_add): Likewise. | |
6671 | * combine.c (combine_instructions, can_combine_p, try_combine, | |
6672 | find_split_point, record_dead_and_set_regs, reg_dead_at_p, | |
6673 | distribute_notes, distribute_links, insn_cuid): Likewise. | |
6674 | * cse.c (fold_rtx, cse_insn, cse_around_loop, | |
6675 | invalidate_skipped_block, cse_set_around_loop, | |
6676 | cse_end_of_basic_block, cse_main, cse_basic_block, | |
6677 | cse_condition_code_reg): Likewise. | |
6678 | * cselib.c (cselib_process_insn): Likewise. | |
6679 | * ddg.c (create_ddg): Likewise. | |
6680 | * df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify): | |
6681 | Likewise. | |
6682 | * dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug, | |
6683 | gen_label_die, dwarf2out_var_location): Likewise. | |
6684 | * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn, | |
6685 | next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn, | |
6686 | last_call_insn, active_insn_p, next_label, prev_label, | |
6687 | link_cc0_insns, next_cc0_user, try_split, add_insn_after, | |
6688 | add_insn_before, remove_insn, add_function_usage_to, | |
6689 | reorder_insns, find_line_note, remove_unnecessary_notes, | |
6690 | emit_insn_after_1, classify_insn): Likewise. | |
6691 | * except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before, | |
6692 | connect_post_landing_pads, sjlj_mark_call_sites, | |
6693 | sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers, | |
6694 | can_throw_internal, can_throw_external, set_nothrow_function_flags, | |
6695 | convert_to_eh_region_ranges): Likewise. | |
6696 | * explow.c (optimize_save_area_alloca): Likewise. | |
6697 | * expr.c (expand_expr_real): Likewise. | |
6698 | * final.c (insn_current_reference_address, compute_alignments, | |
6699 | shorten_branches, final, scan_ahead_for_unlikely_executed_note, | |
6700 | final_scan_insn, output_asm_label, leaf_function_p): Likewise. | |
6701 | * flow.c (first_insn_after_basic_block_note, delete_dead_jumptables, | |
6702 | propagate_block_delete_insn, propagate_one_insn, | |
6703 | init_propagate_block_info, propagate_block, libcall_dead_p, | |
6704 | mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment): | |
6705 | Likewise. | |
6706 | * function.c (instantiate_virtual_regs, reorder_blocks_1, | |
6707 | expand_function_start, expand_function_end, contains, | |
6708 | thread_prologue_and_epilogue_insns, | |
6709 | reposition_prologue_and_epilogue_notes): Likewise. | |
6710 | * gcse.c (constprop_register, bypass_conditional_jumps, | |
6711 | insert_insn_end_bb, gcse_after_reload): Likewise. | |
6712 | * genemit.c (gen_expand, gen_split): Likewise. | |
6713 | * genpeep.c (gen_peephole, main): Likewise. | |
6714 | * global.c (build_insn_chain): Likewise. | |
6715 | * graph.c (node_data, print_rtl_graph_with_bb): Likewise. | |
6716 | * haifa-sched.c (unlink_other_notes, unlink_line_notes, | |
6717 | get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes, | |
6718 | restore_line_notes, rm_redundant_line_notes, rm_other_notes, | |
6719 | ok_for_early_queue_removal, set_priorities, sched_init): Likewise. | |
6720 | * ifcvt.c (count_bb_insns, first_active_insn, last_active_insn, | |
6721 | cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block, | |
6722 | merge_if_block, block_jumps_and_fallthru_p, find_if_block, | |
6723 | dead_or_predicable): Likewise. | |
6724 | * integrate.c (try_constants): Likewise. | |
6725 | * jump.c (rebuild_jump_labels, cleanup_barriers, | |
6726 | purge_line_number_notes, init_label_info, mark_all_labels, | |
6727 | squeeze_notes, get_label_before, get_label_after, | |
6728 | reversed_comparison_code_parts, simplejump_p, pc_set, | |
6729 | returnjump_p, onlyjump_p, follow_jumps, mark_jump_label, | |
6730 | delete_barrier, delete_prior_computation, delete_computation, | |
6731 | delete_related_insns, delete_for_peephole, redirect_jump): | |
6732 | Likewise. | |
6733 | * lcm.c (optimize_mode_switching): Likewise. | |
6734 | * local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc): | |
6735 | Likewise. | |
6736 | * loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise. | |
6737 | * loop-invariant.c (find_exits, find_invariants_bb): Likewise. | |
6738 | * loop-iv.c (simplify_using_assignment): Likewise. | |
6739 | * loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg, | |
6740 | libcall_benefit, skip_consec_insns, move_movables, prescan_loop, | |
6741 | find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop, | |
6742 | loop_bivs_init_find, strength_reduce, check_insn_for_bivs, | |
6743 | check_insn_for_givs, check_final_value, update_giv_derive, | |
6744 | basic_induction_var, product_cheap_p, check_dbra_loop, | |
6745 | loop_insn_first_p, last_use_this_basic_block, | |
6746 | canonicalize_condition, get_condition, loop_regs_scan, load_mems, | |
6747 | try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise. | |
6748 | * modulo-sched.c (doloop_register_get, find_line_note, sms_schedule, | |
6749 | sms_schedule_by_order): Likewise. | |
6750 | * optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise. | |
6751 | * postreload.c (reload_cse_simplify_operands, reload_combine, | |
6752 | reload_cse_move2add): Likewise. | |
6753 | * predict.c (can_predict_insn_p, estimate_probability, | |
6754 | expected_value_to_br_prob, process_note_predictions): Likewise. | |
6755 | * print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise. | |
6756 | * profile.c (branch_prob): Likewise. | |
6757 | * ra-build.c (live_out_1, livethrough_conflicts_bb, | |
6758 | detect_webs_set_in_cond_jump): Likewise. | |
6759 | * ra-debug.c (ra_print_rtx_object, ra_debug_insns, | |
6760 | ra_print_rtl_with_bb): Likewise. | |
6761 | * ra-rewrite.c (insert_stores, rewrite_program2): Likewise. | |
6762 | * recog.c (next_insn_tests_no_inequality, find_single_use, | |
6763 | split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise. | |
6764 | * reg-stack.c (next_flags_user, record_label_references, | |
6765 | emit_swap_insn, swap_rtx_condition, subst_stack_regs, | |
6766 | compensate_edge, convert_regs_1): Likewise. | |
6767 | * regclass.c (scan_one_insn): Likewise. | |
6768 | * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2, | |
6769 | regmove_optimize, fixup_match_1, single_set_for_csa, | |
6770 | combine_stack_adjustments_for_block): Likewise. | |
6771 | * regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise. | |
6772 | * reload.c (find_reloads, find_reloads_address_1, subst_reloads, | |
6773 | find_equiv_reg): Likewise. | |
6774 | * reload1.c (reload, calculate_needs_all_insns, set_label_offsets, | |
6775 | reload_as_needed, emit_input_reload_insns, do_output_reload, | |
6776 | delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges): | |
6777 | Likewise. | |
6778 | * reorg.c (find_end_label, emit_delay_sequence, | |
6779 | delete_from_delay_slot, delete_scheduled_jump, optimize_skip, | |
6780 | get_jump_flags, rare_destination, mostly_true_jump, | |
6781 | try_merge_delay_insns, redundant_insn, own_thread_p, | |
6782 | fill_simple_delay_slots, fill_slots_from_thread, | |
6783 | fill_eager_delay_slots, relax_delay_slots, make_return_insns, | |
6784 | dbr_schedule): Likewise. | |
6785 | * resource.c (find_basic_block, next_insn_no_annul, | |
6786 | find_dead_or_set_registers, mark_target_live_regs): Likewise. | |
6787 | * rtl.h (RTX_PREV): Likewise. | |
6788 | * rtlanal.c (global_reg_mentioned_p, no_labels_between_p, | |
6789 | no_jumps_between_p, reg_used_between_p, reg_referenced_between_p, | |
6790 | reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage, | |
6791 | find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1, | |
6792 | tablejump_p, computed_jump_p, insns_safe_to_move_p, | |
6793 | find_first_parameter_load, can_hoist_insn_p): Likewise. | |
6794 | * sched-deps.c (get_condition, add_dependence, sched_analyze_2, | |
6795 | sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise. | |
6796 | * sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns, | |
6797 | schedule_ebbs): Likewise. | |
6798 | * sched-rgn.c (is_cfg_nonregular, find_conditional_protection, | |
6799 | is_conditionally_protected, can_schedule_ready_p, | |
6800 | add_branch_dependences, debug_dependencies): Likewise. | |
6801 | * stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable): | |
6802 | Likewise. | |
6803 | * unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p, | |
6804 | reg_dead_after_loop, loop_find_equiv_value, loop_iterations, | |
6805 | set_dominates_use, ujump_to_loop_cont): Likewise. | |
6806 | * var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise. | |
6807 | * varasm.c (output_constant_pool_1): Likewise. | |
6808 | ||
e9eb809d ZD |
6809 | 2004-07-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
6810 | ||
6811 | * tree-scalar-evolution.c: New file. | |
6812 | * tree-scalar-evolution.h: New file. | |
6813 | * tree-ssa-loop-niter.c: New file. | |
6814 | * Makefile.in (SCEV_H): New. | |
6815 | (tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files. | |
6816 | * cfgloop.h (struct loop): Add bounds field. | |
6817 | * tree-flow.h (struct tree_niter_desc): New type. | |
6818 | (number_of_iterations_cond, number_of_iterations_exit, | |
6819 | loop_niter_by_eval, find_loop_niter_by_eval, | |
6820 | estimate_numbers_of_iterations, can_count_iv_in_wider_type, | |
6821 | free_numbers_of_iterations_estimates): Declare. | |
6822 | * tree.h (lower_bound_in_type, upper_bound_in_type): Declare. | |
6823 | * params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter. | |
6824 | * doc/invoke.texi (max-iterations-to-track): Document. | |
6825 | ||
45dc67b7 KK |
6826 | 2004-07-08 Kaz Kojima <kkojima@gcc.gnu.org> |
6827 | ||
6828 | * config/sh/sh.c (sh_va_arg): Initinalize lab_over. | |
6829 | * config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses. | |
6830 | (MODE_AFTER): Add cast appropriately. | |
6831 | * config/sh/sh.md (movdi splitter): Likewise. | |
6832 | (casesi_worker_2): Add const qualifier appropriately. | |
6833 | (eh_return): Remove unused variable. | |
6834 | (insv): Initialize v; | |
6835 | ||
8d05a22e RH |
6836 | 2004-07-08 Richard Henderson <rth@redhat.com> |
6837 | ||
9d6bb566 RH |
6838 | * config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove. |
6839 | * config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6840 | (mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg. | |
6841 | * config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6842 | (FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label. | |
6843 | ||
4e15608a RH |
6844 | * config/m32r/m32r-protos.h (m32r_va_arg): Remove. |
6845 | * config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6846 | (m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg. | |
6847 | * config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6848 | ||
fcdfad42 RH |
6849 | * config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove. |
6850 | * config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6851 | (iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg. | |
6852 | * config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6853 | ||
28cb7667 RH |
6854 | * config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove. |
6855 | * config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6856 | (frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg. | |
6857 | * config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6858 | ||
8d05a22e RH |
6859 | * config/i860/i860-protos.h (i860_va_arg): Remove. |
6860 | * config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6861 | (i860_gimplify_va_arg_expr): Rewrite from i860_va_arg. | |
6862 | * config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6863 | ||
6a257778 AL |
6864 | 2004-05-31 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
6865 | ||
6866 | * system.h: Prototype getpagesize if missing. | |
6867 | * configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS. | |
6868 | * configure: Regenerate. | |
6869 | * config.in: Regenerate. | |
6870 | ||
0196fbb3 RH |
6871 | 2004-07-08 Richard Henderson <rth@redhat.com> |
6872 | ||
6873 | * config/fr30/fr30-protos.h (fr30_va_arg): Remove. | |
6874 | * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6875 | (fr30_gimplify_va_arg_expr): New. | |
6876 | (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove. | |
6877 | * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6878 | ||
2d8f9759 VM |
6879 | 2004-07-08 Vladimir Makarov <vmakarov@redhat.com> |
6880 | ||
6881 | PR target/16414 | |
6882 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison | |
6883 | of asm_noperands result. | |
6884 | ||
062fff1b RH |
6885 | 2004-07-08 Richard Henderson <rth@redhat.com> |
6886 | ||
6887 | * config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove. | |
6888 | * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6889 | (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg. | |
6890 | * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6891 | ||
083385aa RH |
6892 | 2004-07-08 Richard Henderson <rth@redhat.com> |
6893 | ||
6894 | * builtins.c (ind_gimplify_va_arg_expr): New. | |
6895 | * tree.h (ind_gimplify_va_arg_expr): Declare. | |
6896 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it. | |
6897 | ||
b42271d6 JB |
6898 | 2004-07-08 Jan Beulich <jbeulich@novell.com> |
6899 | ||
6900 | * expmed.c (extract_bit_field): Correct condition to use vec_extract | |
6901 | patterns also on vector elements other than the first one. | |
6902 | * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing | |
6903 | break statements. | |
6904 | ||
f37f2515 GK |
6905 | 2004-07-08 Geoffrey Keating <geoffk@apple.com> |
6906 | ||
6907 | * config/rs6000/darwin-ldouble.c: Correct reference | |
6908 | to the Linnainmaa paper. | |
6909 | ||
d222b827 RH |
6910 | 2004-07-08 Richard Henderson <rth@redhat.com> |
6911 | ||
99680f98 RH |
6912 | * config/arc/arc-protos.h (arc_va_arg): Remove. |
6913 | * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6914 | (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg. | |
6915 | * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6916 | ||
d222b827 RH |
6917 | * config/c4x/c4x-protos.h (c4x_va_arg): Remove. |
6918 | * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
6919 | (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg. | |
6920 | * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
6921 | ||
09eeca5e JDA |
6922 | 2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
6923 | ||
6924 | * pa.md (prefetch_32, prefetch_64): Simplify constraint checks. | |
6925 | ||
36c1b0de ZW |
6926 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> |
6927 | ||
6928 | * c-decl.c (static_ctors, static_dtors): Make static. | |
6929 | (pop_file_scope): Call c_common_write_pch and | |
6930 | cgraph_finalize_compilation_unit here. | |
6931 | (build_cdtor): Moved here from c-objc-common.c; simplify. | |
6932 | (c_write_global_declarations_1): Clarify comment. | |
6933 | (c_write_global_declarations): Close the external scope before | |
6934 | doing anything else. Call build_cdtor, cgraph_optimize, and | |
6935 | mudflap_finish_file here. | |
6936 | * c-lang.c (finish_file): Don't call c_objc_common_finish_file. | |
6937 | Clarify comment. | |
6938 | * c-objc-common.c: No need to include cgraph.h. | |
6939 | (build_cdtor): Moved to c-decl.c. | |
6940 | (c_objc_common_finish_file): Delete. | |
6941 | * c-tree.h: Update to match. | |
6942 | * objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file. | |
6943 | (generate_static_references): Set TREE_USED before calling finish_decl. | |
6944 | Eliminate unnecessary dummy declaration. Call rest_of_decl_compilation | |
6945 | on the static_instances_decl. | |
6946 | ||
5b02f0e0 ZW |
6947 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> |
6948 | ||
6949 | * c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope | |
6950 | decls when there is only one input translation unit. | |
6951 | * langhooks.c (lhd_set_decl_assembler_name): Partially revert | |
6952 | change of 2004-07-05; do not treat declarations with | |
6953 | DECL_CONTEXT a TRANSLATION_UNIT_DECL specially. | |
6954 | * opts.c (cur_in_fname): Delete. | |
6955 | * opts.h: Likewise. | |
6956 | * tree.c: Revert changes of 2004-07-05; no special treatment | |
6957 | for TRANSLATION_UNIT_DECLs. | |
6958 | * Makefile.in (tree.o): Update dependencies. | |
6959 | ||
a32e70c3 RS |
6960 | 2004-07-08 Roger Sayle <roger@eyesopen.com> |
6961 | ||
6962 | * builtins.c (fold_builtin_strcpy): Merge functionality from | |
6963 | simplify_builtin_strcpy. Add additional len argument. No longer | |
6964 | static. Remove function prototype. | |
6965 | (fold_builtin_strncpy): Likewise integrate functionality from | |
6966 | simplify_builtin_strncpy. Add additional slen argument. No | |
6967 | longer static. Remove function prototype. | |
6968 | (simplify_builtin_strcy, simplify_builtin_strncpy): Delete. | |
6969 | (simplify_builtin_fputs): Rename to fold_builtin_fputs. Change | |
6970 | types of "ignore" and "unlocked" parameters to bool. | |
6971 | (fold_builtin_1): Add additional ignore argument. Call renamed | |
6972 | fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked" | |
6973 | builtins. Update arguments to fold_builtin_strncpy and | |
6974 | fold_builtin_strcpy. Add function prototype. | |
6975 | (fold_builtin): Add additional Boolean ignore argument to pass | |
6976 | to fold_builtin_1. | |
6977 | (simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy | |
6978 | and fold_builtin_strncpy instead of simplify_builtin_fputs, | |
6979 | simplify_builtin_strcpy and simplify_builtin_strncpy respectively. | |
6980 | ||
6981 | * expr.h (simplify_builtin_fputs, simplify_builtin_strcpy, | |
6982 | simplify_builtin_strncpy): Delete function prototypes. | |
6983 | * tree.h (fold_builtin_fputs, fold_builtin_strcpy, | |
6984 | fold_builtin_strncpy): Add function prototypes here. | |
6985 | (fold_builtin): Update function prototype with new "bool ignore". | |
6986 | ||
6987 | * tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin. | |
6988 | (ccp_fold_builtin): Update call to fold_builtin. Call | |
6989 | fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy | |
6990 | instead of simplify_builtin_fputs, simplify_builtin_strcpy and | |
6991 | simplify_builtin_strncpy respectively. | |
6992 | * fold-const.c (fold): Update call to fold_builtin. | |
6993 | ||
652eb744 AO |
6994 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> |
6995 | ||
ad4319ec AO |
6996 | * builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy |
6997 | to strcpy. | |
6998 | ||
652eb744 AO |
6999 | * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0. |
7000 | (FUNCTION_ARG_PASS_BY_REFERENCE): Likewise. | |
7001 | (FUNCTION_ARG_CALLEE_COPIES): Likewise. | |
7002 | * calls.c: Remove ifdefs of macros above. | |
7003 | * functions.c: Likewise. | |
7004 | * expr.c: Likewise. | |
7005 | ||
50711d27 EB |
7006 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
7007 | ||
7008 | * config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete. | |
7009 | (arch attribute): Delete. | |
7010 | (current_function_calls_alloca attribute): Rename into calls_alloca. | |
7011 | (calls_eh_return): New attribute. | |
7012 | (leaf_function): Likewise. | |
7013 | (length attribute): Fix formula for sibcalls. | |
7014 | (return insn): Correctly compute the 'length' attribute. | |
7015 | (do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca. | |
7016 | ||
cd709752 RH |
7017 | 2004-07-08 Richard Henderson <rth@redhat.com> |
7018 | ||
7019 | * tree-cfg.c (make_exit_edges): Use get_call_expr_in. | |
7020 | (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise. | |
7021 | (tree_block_ends_with_call_p, need_fake_edge_p): Likewise. | |
7022 | * tree-eh.c (lower_eh_constructs_1): Likewise. | |
7023 | * tree-sra.c (sra_walk_modify_expr): Likewise. | |
7024 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. | |
7025 | (eliminate_unnecessary_stmts): Likewise. | |
7026 | * tree-ssa-dse.c (dse_optimize_stmt): Likewise. | |
7027 | * tree-tailcall.c (optimize_tail_call): Likewise. | |
7028 | * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch. | |
7029 | ||
c618c6ec | 7030 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
5b02f0e0 | 7031 | Jakub Jelinek <jakub@redhat.com> |
c618c6ec JJ |
7032 | |
7033 | * config/i386/i386.c (override_options): Enable | |
7034 | SSE prefetches with -mtune, as long as we are | |
7035 | compiling for i686 or higher. All i686 processors | |
7036 | accept SSE prefetches as NOPS, some i586's don't. | |
7037 | ||
afdbd485 EB |
7038 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
7039 | ||
7040 | PR target/10567 | |
7041 | * config/sparc/sparc.md (update_return): Honor flag_delayed_branch. | |
7042 | ||
7c35745c DN |
7043 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> |
7044 | ||
7045 | * tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in | |
7046 | the handling of clobbering ASM_EXPRs. | |
7047 | ||
c74fd3f1 EB |
7048 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
7049 | ||
7050 | PR target/16430 | |
7051 | * config/sparc/sparc.c (function_value): In 64-bit mode, | |
7052 | return the aggregates larger than 16 bytes like unions. | |
7053 | ||
1d511ed5 EB |
7054 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
7055 | ||
7056 | PR target/16199 | |
7057 | * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When | |
7058 | 'temp' is zero, generate new pseudos as needed and emit the | |
7059 | sequence of insns in single-assignment form. Resync comments | |
7060 | with code. | |
7061 | (sparc_emit_set_const64): Pass zero as 'temp' argument to above | |
7062 | function before reload. | |
7063 | ||
7de5bccc NS |
7064 | 2004-07-08 Nathan Sidwell <nathan@codesourcery.com> |
7065 | ||
70ce47b5 NS |
7066 | * vec.c (vec_assert_fail): Remove duplicate 'function'. |
7067 | ||
7de5bccc | 7068 | * vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed. |
70ce47b5 | 7069 | |
7de5bccc NS |
7070 | * vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init): |
7071 | Allocation is signed. | |
7072 | (VEC_reserve): Return flag, allocation is signed. | |
7073 | ||
5df6d966 RH |
7074 | 2004-07-08 Richard Henderson <rth@redhat.com> |
7075 | ||
7076 | * tree-ssa-ccp.c (fold_stmt): Get type directly from | |
7077 | OBJ_TYPE_REF_OBJECT. | |
7078 | ||
bc15d0ef | 7079 | 2004-07-08 Joseph S. Myers <jsm@polyomino.org.uk> |
5b02f0e0 | 7080 | Neil Booth <neil@daikokuya.co.uk> |
bc15d0ef JM |
7081 | |
7082 | PR c/2511 | |
7083 | PR c/3325 | |
7084 | * c-decl.c (finish_struct): Ensure bit-fields are given the | |
7085 | correct type. | |
7086 | * c-common.c (c_common_signed_or_unsigned_type): For C, require | |
7087 | the precision to match as well as the mode. | |
7088 | * expr.c (reduce_to_bit_field_precision): New function. | |
7089 | (expand_expr_real_1): Reduce expressions of bit-field type to | |
7090 | proper precision. | |
7091 | * langhooks.h (reduce_bit_field_operations): New hook. | |
7092 | * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): | |
7093 | Define. | |
7094 | * c-lang.c, objc/objc-lang.c | |
7095 | (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define. | |
7096 | * objc/objc-act.c (check_ivars): Convert types to bit-field types | |
7097 | before checking. | |
7098 | * tree.c (build_nonstandard_integer_type): New function. | |
7099 | * tree.h (build_nonstandard_integer_type): New prototype. | |
7100 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat | |
7101 | conversions between integer and boolean types as useless. | |
7102 | ||
942e5939 PB |
7103 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
7104 | ||
7105 | * c-common.c (c_common_nodes_and_builtins): Do not | |
7106 | create __builtin_ptrdiff_t and __builtin_size_t. | |
7107 | ||
48747993 AP |
7108 | 2004-07-08 Andrew Pinski <apinski@apple.com> |
7109 | ||
5b02f0e0 | 7110 | * Makefile.in (libbackend.o): Add -combine to the gcc |
48747993 AP |
7111 | command line. |
7112 | ||
1558163d NC |
7113 | 2004-07-08 Nick Clifton <nickc@redhat.com> |
7114 | ||
7115 | * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define. | |
7116 | Set to -Os. | |
7117 | ||
ac45df5d RH |
7118 | 2004-07-08 Richard Henderson <rth@redhat.com> |
7119 | ||
5b02f0e0 | 7120 | * except.c (expand_eh_region_start, expand_eh_region_end, |
ac45df5d RH |
7121 | expand_eh_handler, expand_eh_region_end_cleanup, |
7122 | expand_start_all_catch, expand_start_catch, expand_end_catch, | |
7123 | expand_end_all_catch, expand_eh_region_end_allowed, | |
7124 | expand_eh_region_end_must_not_throw, expand_eh_region_end_throw, | |
7125 | expand_eh_region_end_fixup): Remove. | |
7126 | * stmt.c (struct nesting): Remove stack_level, innermost_stack_block, | |
7127 | cleanups, outer_cleanups, label_chain, exception_region. | |
7128 | (struct goto_fixup): Remove stack_level, cleanup_list_list. | |
7129 | (struct label_chain): Remove. | |
7130 | (struct stmt_status): Remove x_stack_block_stack. | |
7131 | (stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups, | |
7132 | fixup_gotos, save_stack_pointer, expand_decl_cleanup, | |
7133 | expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral, | |
5b02f0e0 | 7134 | end_cleanup_deferral, last_cleanup_this_contour, |
ac45df5d RH |
7135 | containing_blocks_have_cleanups_or_stack_level, |
7136 | any_pending_cleanups): Remove. | |
7137 | (expand_null_return_1): Take no arguments. | |
7138 | (expand_label, expand_naked_return, expand_return, | |
7139 | expand_start_bindings_and_block, expand_end_bindings, expand_decl, | |
7140 | expand_anon_union_decl, expand_start_case, pushcase, pushcase_range, | |
7141 | expand_end_case_type): Don't use any of them. | |
7142 | * calls.c (expand_call): Likewise. | |
7143 | * dojump.c (do_jump): Likewise. | |
7144 | * function.c (expand_function_end): Likewise. | |
7145 | * expr.c (store_expr, expand_expr_real_1): Likewise. | |
7146 | (safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR. | |
5b02f0e0 ZW |
7147 | (expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR, |
7148 | CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR, | |
ac45df5d RH |
7149 | EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR. |
7150 | * fold-const.c (fold_checksum_tree): Use first_rtl_op. | |
7151 | * gengtype.c (adjust_field_tree_exp): Remove rtl op handling. | |
7152 | * gimplify.c (gimplify_cleanup_point_expr): Renumber operands | |
7153 | for WITH_CLEANUP_EXPR. | |
7154 | (gimple_push_cleanup): Likewise. | |
7155 | * integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE. | |
7156 | * print-tree.c (print_node): Likewise. | |
7157 | * tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR. | |
7158 | * tree.c (first_rtl_op): Always just TREE_CODE_LENGTH. | |
7159 | (has_cleanups): Remove GOTO_SUBROUTINE_EXPR. | |
7160 | * tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2. | |
7161 | (GOTO_SUBROUTINE_EXPR): Remove. | |
7162 | * tree.h (WITH_CLEANUP_EXPR_RTL): Remove. | |
7163 | (DECL_TOO_LATE): Remove. | |
7164 | * except.h, tree.h: Update decls. | |
7165 | ||
97b0ade3 PB |
7166 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
7167 | ||
7168 | * explow.c (optimize_save_area_alloca): Do not accept parameters. | |
7169 | * passes.c (rest_of_handle_final): Handle symout. | |
7170 | (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): | |
7171 | Push timevar here. | |
7172 | (rest_of_handle_sched): Break out SMS. Remove ifs for | |
7173 | flag_schedule_insns and flag_modulo_sched. | |
7174 | (rest_of_handle_addressof, rest_of_handle_cse2): Garbage | |
7175 | collect at the end. | |
7176 | (rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS. | |
7177 | (rest_of_handle_partition_blocks, rest_of_handle_sms, | |
7178 | rest_of_handle_if_after_reload, rest_of_handle_peephole2, | |
7179 | rest_of_handle_mode_switching, rest_of_handle_jump, | |
7180 | rest_of_handle_guess_branch_prob, rest_of_handle_eh, | |
7181 | rest_of_handle_jump2, rest_of_handle_postreload, | |
7182 | rest_of_handle_flow2, rest_of_clean_state, | |
7183 | rest_of_handle_shorten_branches, | |
7184 | rest_of_handle_prologue_epilogue, | |
7185 | rest_of_handle_branch_target_load_optimize): New. | |
7186 | (rest_of_compilation): Call the above. Remove ggc_collect | |
7187 | calls moved to rest_of_handle_*. | |
7188 | * rtl.h (optimize_save_area_alloca): Do not accept parameters. | |
7189 | ||
7190 | * dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW. | |
7191 | * except.c (set_nothrow_function_flags): Set TREE_NOTHROW. | |
7192 | * except.h (set_nothrow_function_flags): Update comment. | |
7193 | * function.c (current_function_nothrow): Remove. | |
7194 | * output.h (current_function_nothrow): Remove. | |
7195 | * passes.c (rest_of_compilation): Do not set TREE_NOTHROW. | |
7196 | * config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW. | |
7197 | ||
b9185691 EB |
7198 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
7199 | ||
7200 | PR bootstrap/16326 | |
7201 | * reorg.c: Revert 2004-06-30 change. | |
7202 | (find_end_label): If HAVE_epilogue and !HAVE_return, | |
7203 | return 0 instead of creating a label at the end of the insn chain. | |
7204 | (optimize_skip): Account for the failure mode of find_end_label. | |
7205 | (fill_simple_delay_slots): Likewise. | |
7206 | (fill_slots_from_thread): Likewise. | |
7207 | (relax_delay_slots): Likewise. | |
7208 | ||
a6d02559 DN |
7209 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> |
7210 | ||
7211 | * tree-flow.h (addressable_vars): Declare. | |
7212 | * tree-ssa-alias.c (addressable_vars): Define. | |
7213 | (setup_pointers_and_addressables): Add addressable variables | |
7214 | to addressable_vars. | |
7215 | * tree-ssa-operands.c (get_stmt_operands): Move | |
7216 | handling of ASM_EXPRs ... | |
7217 | (get_asm_expr_operands): ... here. | |
7218 | When the ASM_EXPR clobbers memory, also clobber addressable | |
7219 | variables. | |
7220 | * tree-ssa.c (init_tree_ssa): Initialize addressable_vars. | |
7221 | (delete_tree_ssa): Reset addressable_vars. | |
7222 | ||
08a8c6b6 JB |
7223 | 2004-07-07 Jan Beulich <jbeulich@novell.com> |
7224 | Richard Henderson <rth@redhat.com> | |
7225 | ||
7226 | * varasm.c (assemble_variable): Use assemble_zeros for | |
7227 | zero-initialized variables. | |
7228 | (categorize_decl_for_section): Honor flag_zero_initialized_in_bss | |
7229 | for SECCAT_BSS and SECCAT_TBSS. | |
7230 | ||
7231 | 2004-07-07 Jan Beulich <jbeulich@novell.com> | |
78a47b1d JB |
7232 | |
7233 | * varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP. | |
08a8c6b6 JB |
7234 | |
7235 | * expmed.c (emit_store_flag): Also special-case double-word | |
7236 | (in-)equality comparison against -1. | |
884815aa | 7237 | |
ff15c351 JB |
7238 | * config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for |
7239 | passing arguments the containers for which are registers. | |
7240 | ||
7241 | * calls.c (emit_library_call_value_1): Use mode of function parameter | |
7242 | rather than that of argument since constants have none. | |
e52a6df5 | 7243 | |
beed8fc0 AO |
7244 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> |
7245 | ||
7246 | Introduce H8SX support. | |
7247 | * expr.c (expand_strcpy): Renamed and moved to... | |
7248 | * builtins.c (expand_movstr): ... here. Tweak. | |
7249 | (expand_builtin_strcpy): Adjust. Use movstr if len can't be | |
7250 | computed or has side effects. | |
7251 | (expand_builtin_stpcpy): Likewise. Use strcpy if return value is | |
7252 | unused, or if mempcpy fails. Adjust the return value in the | |
7253 | latter case. Use movstr if everything else fails. | |
7254 | * doc/md.texi (movstr): Document. | |
7255 | (movmemM, clrmemM): Fix explanation of memory block operands. | |
7256 | * config/h8300/h8300.md (stpcpy): Renamed to... | |
7257 | (movstr): ... this. Adjust. | |
7258 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> | |
7259 | * config/h8300/h8300.md: Rename movstr*, except for movstrict*, to | |
7260 | movmem* and clrstr* to clrmem*. | |
7261 | 2004-06-27 Alexandre Oliva <aoliva@redhat.com> | |
7262 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to | |
7263 | GENERAL_REGS, always. | |
7264 | (h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of | |
7265 | getting the stack pointer as addr. | |
7266 | * config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes | |
7267 | from general_operand_dst. | |
7268 | * config/h8300/h8300.md (movmd_internal_normal): New, normal-mode | |
7269 | variant of... | |
7270 | (movmd_internal): ... this. Add modes to operands. Disparage `D' | |
7271 | instead of requiring it to match only before reload. | |
7272 | (stpcpy_internal_normal): New, normal-mode variant of... | |
7273 | (stpcpy_internal): ... this. Add modes to operands. Disparage | |
7274 | `D' instead of requiring it to match only before reload. | |
7275 | * config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add | |
7276 | mode argument. | |
7277 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to... | |
7278 | * config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to | |
7279 | h8300_get_index. | |
7280 | * config/h8300/h8300.md (attr type): Add call. | |
7281 | (attr can_delay): If type is call, set it no. | |
7282 | (call, call_value): Set type to call. | |
7283 | 2004-06-21 Alexandre Oliva <aoliva@redhat.com> | |
7284 | * config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New. | |
7285 | 2004-06-16 Alexandre Oliva <aoliva@redhat.com> | |
7286 | * tree.c (get_narrower): Don't narrow integral types into | |
7287 | non-integral types. | |
7288 | * config/h8300/h8300.c (h8300_expand_epilogue): Initialize | |
7289 | frame_size *before* the first use. | |
7290 | * config/h8300/h8300.md (movstrictqi): Reintroduce post-increment | |
7291 | on input. | |
7292 | (peephole2): Don't widen instructions that push SP. Move | |
7293 | decrement of SP to the end of all stm-generating peepholes. | |
7294 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
7295 | * config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield | |
7296 | and OR to set it to all ones. | |
7297 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
7298 | * config/h8300/h8300.md (can_delay): Default to "no" for bit branches. | |
7299 | (call, call_value): Set can_delay to "no". | |
7300 | 2003-07-22 Richard Sandiford <rsandifo@redhat.com> | |
7301 | * config/h8300/h8300.md (extzv): Make subreg check more robust. | |
7302 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
7303 | * config/h8300/h8300.md (*brabit): Remove. | |
7304 | * config/h8300/h8300.md (*brabc, *brabs): Remove mode from | |
7305 | zero_extract. Use bit_memory_operand as the predicate for | |
7306 | operand 1 and 'WU' as the constraint. Check the difference | |
7307 | between the base length and the final one when deciding which | |
7308 | type of branch to use. | |
7309 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
7310 | * config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1. | |
7311 | Use convert_move to extend the result for TARGET_H8300SX. Check | |
7312 | for QImode memory references. Optimize the case where the | |
7313 | destination is a paradoxical subreg. | |
7314 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
7315 | * config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative. | |
7316 | * config/h8300/h8300.md (andqi): Remove bclr from h8sx version. | |
7317 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
7318 | * config/h8300/h8300.md: Include mova.md | |
7319 | (length_table): Add mova and mova_zero. | |
7320 | * config/h8300/h8300.c (print_operand): Handle '%o'. Print a length | |
7321 | after all constant addresses for '%R', '%X', '%T' and '%S'. | |
7322 | (h8300_mova_length): New function. | |
7323 | (h8300_insn_length_from_table): Use it to handle mova and mova_zero. | |
7324 | * config/h8300/t-h8300 (mova.md): Generate from genmova.sh. Add to | |
7325 | dependencies for s-config, etc. | |
7326 | * config/h8300/gemova.sh: New file. | |
7327 | * config/h8300/mova.md: Generated. | |
7328 | 2003-07-20 Alexandre Oliva <aoliva@redhat.com> | |
7329 | * config/h8300/h8300.c (h8300_bitfield_length): New. | |
7330 | (nibble_operand): Adjust. | |
7331 | (h8300_binary_length): Handle conditional binary op. | |
7332 | (h8300_insn_length_from_table): Handle bitfield and bitbranch. | |
7333 | * config/h8300/h8300.h: Change constraints W# and Y# to P#>X and | |
7334 | P#<X, respectively. The original P is now IP4>X. Introduced P#>0 | |
7335 | and P#<0, unused so far. W and Y are now prefixes to multi-letter | |
7336 | constraints. WU is introduced as a variant of U that requires a | |
7337 | mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT. | |
7338 | * config/h8300/h8300.md (attr type): Added bitbranch. | |
7339 | (attr length_table): Added bitfield and bitbranch. | |
7340 | (attr length): Compute bitbranch length. | |
7341 | (andqi): Separate pattern for H8300SX. Use bfld for loading the | |
7342 | least-significant bit of a byte. | |
7343 | (brabit, brabc, brabs): New. | |
7344 | (insv, extzv): Emit bfst and bfld on H8300SX. | |
7345 | (bfld, bfst, seq, sne): New. | |
7346 | (bstzhireg, cmpstz, bstz, bistz): New. | |
7347 | (cmpcondbset, condbset, cmpcondbclr, condbclr): New. | |
7348 | (cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New. | |
7349 | 2003-07-11 Richard Sandiford <rsandifo@redhat.com> | |
7350 | * config/h8300/h8300.c (h8sx_binary_memory_operator): New function. | |
7351 | (h8sx_unary_memory_operator): New function. | |
7352 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable. | |
7353 | (PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator. | |
7354 | * config/h8300/h8300.md: Add peepholes to combine reloads and | |
7355 | arithmetic insns. | |
7356 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
7357 | * config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints. | |
7358 | (*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise. | |
7359 | (and?i, ior?i, xor?i): Likewise. | |
7360 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
7361 | * config/h8300/h8300.c: Move enums and prototypes to head of file. | |
7362 | Various whitespace fixes. | |
7363 | (h8300_constant_length): New function, split out from... | |
7364 | (h8300_displacement_size): ...here. Rename h8300_displacement_length. | |
7365 | (h8300_classify_operand): Use IN_RANGE. | |
7366 | (h8300_classify_operand): Use h8300_constant_length. | |
7367 | (h8300_short_move_mem_p): Tighten size check. | |
7368 | (h8sx_mergeable_memrefs_p): Tighten equality check. | |
7369 | 2003-06-30 Richard Sandiford <rsandifo@redhat.com> | |
7370 | * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__ | |
7371 | for -msx. | |
7372 | * config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code. | |
7373 | * config/h8300/crtn.asm: Likewise. | |
7374 | * config/h8300/lib1funcs.asm: Likewise. Use 32-bit pointers | |
7375 | if __H8300SX__ is defined. | |
7376 | 2003-06-27 Richard Sandiford <rsandifo@redhat.com> | |
7377 | * config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter. | |
7378 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly. | |
7379 | (GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed | |
7380 | addresses as mode-dependent. | |
7381 | * config/h8300/h8300.c (print_operand_address): Update call to | |
7382 | h8300_get_index. | |
7383 | (h8300_get_index): Take a mode argument. Rework to fix an | |
7384 | earlier misunderstanding. | |
7385 | 2003-06-26 Richard Sandiford <rsandifo@redhat.com> | |
7386 | * config/h8300/h8300.c (zero_extendqisi2): Force the source operand | |
7387 | into a register if TARGET_H8300SX. | |
7388 | (*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for | |
7389 | TARGET_H8300SX. Also disable related define_splits. | |
7390 | (*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns. | |
7391 | 2003-06-23 Richard Sandiford <rsandifo@redhat.com> | |
7392 | * config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling. | |
7393 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
7394 | * config/h8300/h8300.h (OK_FOR_Z): New macro. | |
7395 | (EXTRA_CONSTRAINT_STR): Check it. | |
7396 | * config/h8300/h8300.c (h8300_classify_operand): Accept null | |
7397 | class arguments. | |
7398 | (h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4. | |
7399 | * config/h8300/h8300.md (length_table): Add mov_imm4. | |
7400 | (movqi, movhi): Add Z <- W4 alternatives to h8sx patterns. | |
7401 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
7402 | * genattrtab.c (write_eligible_delay): Allow candidate_insn to | |
7403 | be a label. | |
7404 | * config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro. | |
7405 | * config/h8300/h8300.c (h8300_reorg): New function. | |
7406 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
7407 | * config/h8300/h8300.md (length): Subtract the length of the | |
7408 | delay slot from (pc) when checking the range of forward branches. | |
7409 | (delay_slot, can_delay): New attributes. | |
7410 | (define_delay): Add bra/s handling. | |
7411 | (movmd_internal, return_h8sx, *return_1): Set can_delay to no. | |
7412 | (jump): Add delayed-branch handling. | |
7413 | 2003-06-17 Richard Sandiford <rsandifo@redhat.com> | |
7414 | * expr.c (expand_strcpy): New function. | |
7415 | * builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy. | |
7416 | (expand_builtin_stpcpy): Likewise. | |
7417 | * config/h8300/h8300-protos.h (h8sx_split_movmd): Remove. | |
7418 | (h8300_swap_into_er6, h8300_swap_out_of_er6): Declare. | |
7419 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd' | |
7420 | handling to improve register allocation for -fno-omit-frame-pointer. | |
7421 | (h8sx_split_movmd): Delete, moving er6 handling into... | |
7422 | (h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions. | |
7423 | * config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant. | |
7424 | (movmd): Add calls to copy_rtx. | |
7425 | (movmd_internal): In the second alternative, allow the initial and | |
7426 | final destination registers to be different . Update the splitter | |
7427 | accordingly. Call h8300_swap_into_er6 and h8300_swap_out_of_er6 | |
7428 | instead of h8sx_split_movmd. | |
7429 | (stpcpy, movsd): New expanders. | |
7430 | (movsd_internal): New define_insn. | |
7431 | 2003-06-13 Richard Sandiford <rsandifo@redhat.com> | |
7432 | * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare. | |
7433 | (h8sx_emit_movmd, h8sx_split_movmd): Declare. | |
7434 | * config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS | |
7435 | and DESTINATION_REGS. | |
7436 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. | |
7437 | (REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes. | |
7438 | (REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter. | |
7439 | (h8300_move_ratio): Declare. | |
7440 | (MOVE_RATIO): Use it. | |
7441 | * config/h8300/h8300.c (h8300_move_ratio): New variable. | |
7442 | (h8300_init_once): Initialize it. | |
7443 | (h8300_reg_class_from_letter): New function. | |
7444 | (print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l". | |
7445 | (h8sx_emit_movmd, h8sx_split_movmd): New functions. | |
7446 | * config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant. | |
7447 | (COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants. | |
7448 | (movstrsi, movmd): New expanders. | |
7449 | (movmd_internal): New insn. | |
7450 | 2003-06-06 Richard Sandiford <rsandifo@redhat.com> | |
7451 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define. | |
7452 | 2003-06-04 Richard Sandiford <rsandifo@redhat.com> | |
7453 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn. | |
7454 | * config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise. | |
7455 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
7456 | * config/h8300/h8300.c (nibble_operand): Fix warning. | |
7457 | * config/h8300/h8300.md (movstricthi): Set adjust_length to no. | |
7458 | (movsi_h8sx): Likewise here and the normal h8sx movhi pattern. | |
7459 | (movsf_h8300h): Disable for TARGET_H8300SX. | |
7460 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
7461 | * config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel, | |
7462 | h8300_stm_parallel and h8300_return_parallel. | |
7463 | * config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p, | |
7464 | h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel, | |
7465 | h8300_stm_parallel, h8300_return_parallel): New functions. | |
7466 | (h8300_expand_prologue): Don't enforce ldm/stm register alignment | |
7467 | if TARGET_H8300SX. Use h8300_push_pop. | |
7468 | (h8300_expand_epilogue): Likewise. Try to merge the return insn | |
7469 | and final pop when generating h8sx code. Always emit some form | |
7470 | of return insn. | |
7471 | * config/h8300/h8300.md: Don't enforce register alignment in | |
7472 | stm peepholes if TARGET_H8300SX. | |
7473 | (ldm_h8300s, stm_h8300s, return_h8sx): New patterns. | |
7474 | (ldm_h8300s_[234], stm_h8300_[234]): Disable. | |
7475 | (epilogue): Expect h8300_expand_epilogue to emit a return insn. | |
7476 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
7477 | * config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib. | |
7478 | (MULTILIB_DIRNAMES): Add a directory for it. | |
7479 | (MULTILIB_MATCHES): Delete. | |
7480 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
7481 | * final.c (walk_alter_subreg): Handle addresses with subregs | |
7482 | inside a ZERO_EXTEND or AND. | |
7483 | * config/h8300/h8300-protos.h (h8300_get_index): Declare. | |
7484 | * config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS | |
7485 | if TARGET_H8300SX. | |
7486 | (GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index. | |
7487 | * config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b), | |
7488 | @(dd,Rn.w) and @(dd,ERn.L). | |
7489 | (h8300_displacement_size): Take the whole address as argument. | |
7490 | (h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly. | |
7491 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
7492 | * config/mips/mips-protos.h (h8300_operands_match_p): Declare. | |
7493 | (h8sx_mergeable_memrefs_p): Declare. | |
7494 | * config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX. | |
7495 | (HAVE_PRE_INCREMENT): Likewise. | |
7496 | (GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement | |
7497 | addresses for TARGET_H8300SX, | |
7498 | * config/h8300/h8300.c (print_operand_address): Deal with PRE_INC | |
7499 | and POST_DEC. | |
7500 | (movb_length_table, movl_length_table): New tables. | |
7501 | (movw_length_table): Define to movb_length_table. | |
7502 | (h8300_displacement_size): New, split out from... | |
7503 | (h8300_classify_address): ...here. Handle pre/post inc/dec. | |
7504 | (h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands. | |
7505 | (h8300_insn_length_from_table): Add cases for movb, movw and movl. | |
7506 | (h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions. | |
7507 | (output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx. | |
7508 | (compute_plussi_length, compute_plussi_cc): Update accordingly. | |
7509 | (h8sx_unary_shift_operator): Get the mode from the operator. | |
7510 | (binary_shift_operator): Likewise. | |
7511 | * config/h8300/h8300.md: If a peephole2 applies gen_lowpart to | |
7512 | a memory reference, check whether the reference is offsettable. | |
7513 | (length_table): Add movb, movw and movl. | |
7514 | (movqi): Add new h8sx pattern. Don't force one operand to be a | |
7515 | register when generating h8sx code. | |
7516 | (movhi, movsi, movsf): Likewise. | |
7517 | (movstrictqi): Use the length_table attribute. | |
7518 | (movstricthi): Likewise. Add h8sx alternative for mov.w #xx:3,Rn. | |
7519 | (addqi3): Split into a define_expand and define_insn. Don't accept | |
7520 | memory operands in the expander. Use h8300_operands_match_p to | |
7521 | check for matching operands in the define_insn. | |
7522 | (subqi3, negqi2, one_cmplqi2): Likewise. | |
7523 | (add[hs]i3): Don't accept memory operands in the expander. Likewise | |
7524 | in any patterns that are unused in h8sx code. In the h8sx patterns, | |
7525 | use h8300_operands_match_p to check whether operands match. | |
7526 | (sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3, | |
7527 | one_cmpl[hs]i3): Likewise. | |
7528 | (andqi3, iorqi3, xorqi3): Likewise. Don't call fix_bit_operand | |
7529 | in the expander. | |
7530 | 2003-05-23 Richard Sandiford <rsandifo@redhat.com> | |
7531 | * config/h8300/h8300-protos.h (expand_a_shift): Return a bool. | |
7532 | (h8300_insn_length_from_table): Add a second parameter. | |
7533 | (output_h8sx_shift): Declare. | |
7534 | * config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros. | |
7535 | (EXTRA_CONSTRAINT): Replace with... | |
7536 | (EXTRA_CONSTRAINT_STR): ...this. Use OK_FOR_W and OK_FOR_Y. | |
7537 | (CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'. | |
7538 | (PREDICATE_CODES): Add entries for h8sx_unary_shift_operator | |
7539 | and h8sx_binary_shift_operator. | |
7540 | * config/h8300/h8300.c (two_insn_adds_subs_operand): Return false | |
7541 | for TARGET_H8300SX. | |
7542 | (bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U. | |
7543 | (bit_memory_operand, fix_bit_operand): Likewise. | |
7544 | (h8300_length_table_for_insn): Remove. | |
7545 | (h8300_classify_operand): Fix check for 16-bit operands in 32-bit | |
7546 | instructions. | |
7547 | (h8300_short_immediate_length, h8300_binary_length): New functions. | |
7548 | (h8300_insn_length_from_table): Add an opcodes parameter. Rework. | |
7549 | (output_plussi): Use sub to add negative constants. | |
7550 | (compute_plussi_length): Adjust accordingly. | |
7551 | (h8sx_single_shift_type): New enum. | |
7552 | (h8sx_single_shift, h8sx_unary_shift_operator, | |
7553 | h8sx_binary_shift_operator, output_h8sx_shift): New functions. | |
7554 | (expand_a_shift, expand_a_rotate): Emit nothing if the shift is a | |
7555 | single h8sx instruction. Return false in this case. | |
7556 | * config/h8300/h8300.md (length_table): Add short_immediate. | |
7557 | (length): Pass the operand array to h8300_insn_length_from_table. | |
7558 | (adjust_length): Assume "no" for insns with a length_table attribute. | |
7559 | (*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3. | |
7560 | (*addhi3_h8300hs): Don't use for h8sx. | |
7561 | (*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3 | |
7562 | and sub.w #xx:3. | |
7563 | (ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand | |
7564 | 1's predicate to nonimmediate_operand. Only skip default expansion | |
7565 | if expand_a_shift or expand_a_rotate returns true. Add new patterns | |
7566 | for single h8sx shift instructions. | |
7567 | 2003-05-22 Alexandre Oliva <aoliva@redhat.com> | |
7568 | * config/h8300/h8300.c (nibble_operand): Split out of... | |
7569 | (reg_or_nibble_operand): ... this. | |
7570 | * config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand. | |
7571 | * config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3, | |
7572 | umulhisi3): Introduce expand, and introduce separate insns for | |
7573 | sign- or zero-extended REG and already-extended CONST_INT. | |
7574 | 2003-05-20 Richard Sandiford <rsandifo@redhat.com> | |
7575 | * config/h8300/h8300.c (h8300_unary_length): Fix miscounting. | |
7576 | * config/h8300/h8300.md (subqi3): Generalize for h8sx. | |
7577 | (subhi3): Likewise. Don't accept immediates for operand 1. | |
7578 | Remove the early clobber from second alternative of the h8300s pattern. | |
7579 | (subsi3): Generalize for h8sx. Force operand 2 into a register | |
7580 | on plain h8300 targets. | |
7581 | (subsi3_h8300): Use h8300_dst_operand for consistency with expander. | |
7582 | (subsi3_h8300h): Generalize for h8sx. | |
7583 | (one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise. | |
7584 | 2003-05-19 Alexandre Oliva <aoliva@redhat.com> | |
7585 | * config/h8300/h8300.c (reg_or_nibble_operand): New. | |
7586 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
7587 | (TARGET_H8300SXMUL): New. | |
7588 | (CONST_OK_FOR_P): New. | |
7589 | (CONST_OK_FOR_LETTER_P): Adjust. | |
7590 | * config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3, | |
7591 | umulhisi3): Accept 4-bit immediate on H8SX. | |
7592 | (mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New. | |
7593 | (udivsi3, divhi3, udivsi3, divsi3): New. | |
7594 | 2003-05-19 Richard Sandiford <rsandifo@redhat.com> | |
7595 | * config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare. | |
7596 | * config/h8300/h8300.h (OK_FOR_Q): New macro. | |
7597 | (EXTRA_CONSTRAINT): Use it to check the 'Q' constraint. | |
7598 | (PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand. | |
7599 | Add ADDRESSOF to the bit_operand entry. | |
7600 | * config/h8300/h8300.c (h8300_dst_operand): New predicate. | |
7601 | (h8300_src_operand): Likewise. | |
7602 | (bit_operand): Check nonimmediate_operand rather than general_operand. | |
7603 | Accept any nonimmediate_operand in h8sx code. | |
7604 | (h8300_and_costs): Initialize operands[1]. | |
7605 | (h8300_rtx_costs) <AND>: Return false if the operands aren't valid. | |
7606 | (h8300_operand_class): New enum. | |
7607 | (h8300_length_table): New typedef. | |
7608 | (addb_length_table, addw_length_table, addl_length_table, | |
7609 | logicl_length_table): New tables. | |
7610 | (logicb_length_table, logicw_length_table): New macros. | |
7611 | (h8300_classify_operand, h8300_length_from_table, | |
7612 | h8300_length_table_for_insn, h8300_unary_length, | |
7613 | h8300_insn_length_from_table): New functions. | |
7614 | (output_plussi): Only use adds and subs for register destinations. | |
7615 | Disable redundant clause. | |
7616 | (compute_plussi_cc): Likewise. | |
7617 | (compute_plussi_length): Likewise. Use h8300_length_from_table | |
7618 | to work out the length of an insn. | |
7619 | (output_logical_op): Only use narrower immediate instructions | |
7620 | if the destination is a register. | |
7621 | (compute_logical_op_cc): Likewise. | |
7622 | (compute_logical_op_length): Likewise. Use h8300_length_from_table. | |
7623 | (h8300_adjust_insn_length): Tighten check for reg<->mem moves. | |
7624 | * config/h8300/h8300.md (length_table): New attribute. | |
7625 | (length): When an instruction has a length_table attribute, use | |
7626 | h8300_insn_length_from_table to calculate its default length. | |
7627 | (cmpqi): Use h8300_dst_operand for the first operand and | |
7628 | h8300_src_operand for the second. | |
7629 | (cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2, | |
7630 | negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3, | |
7631 | addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3, | |
7632 | iorsi3, xorhi3, xorsi3): Likewise. | |
7633 | (andqi3): Use h8300_src_operand for operand 2. Adjust the condition | |
7634 | so that it allows any combination of operands for TARGET_H8300SX. | |
7635 | (iorqi3, xorqi3): Likewise. | |
7636 | (cmpqi): Use the length_table attribute. | |
7637 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3, | |
7638 | xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
7639 | (cmpqi): Add 'Q' constraint. | |
7640 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3, | |
7641 | iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
7642 | 2003-05-14 Richard Sandiford <rsandifo@redhat.com> | |
7643 | * config/h8300/h8300.h (MASK_H8300SX): New macro. | |
7644 | (TARGET_H8300S): True for both -ms and -msx. | |
7645 | (TARGET_H8300SX): New macro. | |
7646 | (TARGET_SWITCHES): Add entries for -msx and -mno-sx. | |
7647 | * config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx. | |
7648 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx. | |
7649 | * config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx. | |
7650 | [Temporary change.] | |
7651 | 2003-02-28 Alexandre Oliva <aoliva@redhat.com> | |
7652 | * config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with | |
7653 | 16-bit pointers and 32-bit ints. | |
7654 | * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept | |
7655 | CONST_DOUBLE with mode no wider than SImode. | |
7656 | * config/h8300/h8300.md (extendqisi2_h8300): Add constraints for | |
7657 | output operand. | |
7658 | 2003-02-27 Alexandre Oliva <aoliva@redhat.com> | |
7659 | * config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX | |
7660 | or SUBREG thereof. | |
7661 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
7662 | 2003-02-22 Alexandre Oliva <aoliva@redhat.com> | |
7663 | * config/h8300/h8300.c (dosize): Truncate sign * size to Pmode. | |
7664 | ||
50c0d3fd AL |
7665 | 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
7666 | ||
7667 | * config.gcc (i[34567]86-*-mingw32*): Enable threads by default. | |
7668 | ||
c03e0096 PB |
7669 | 2004-07-07 Per Bothner <per@bothner.com> |
7670 | ||
7671 | * flow.c (attempt_auto_inc): Remove now-redundant PUT_CODE. | |
7672 | ||
789a4ea3 MS |
7673 | 2004-07-07 Mike Stump <mrs@apple.com> |
7674 | ||
7675 | * darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore. | |
5b02f0e0 | 7676 | * darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name) |
789a4ea3 MS |
7677 | (machopic_finish): Likewise. |
7678 | ||
d969ee71 RH |
7679 | 2004-07-07 Richard Henderson <rth@redhat.com> |
7680 | ||
7681 | * tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look | |
7682 | through any value-preserving cast. | |
7683 | ||
6b70713d AO |
7684 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> |
7685 | ||
7686 | * function.c (assign_parm_find_data_types): Call | |
7687 | FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined. | |
7688 | ||
31e9eea2 SB |
7689 | 2004-07-07 Steven Bosscher <stevenb@suse.de> |
7690 | ||
7691 | * tree-cfg.c (group_case_labels): Remove case labels that have | |
7692 | the same target as the default case. | |
7693 | ||
d205c8fd SB |
7694 | 2004-07-07 Steven Bosscher <stevenb@suse.de> |
7695 | ||
7696 | * tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS | |
7697 | regardless of DECL_LANG_SPECIFIC being present or not. | |
7698 | * tree.h (DECL_NUM_STMTS): Purge. | |
7699 | ||
41e622a8 AP |
7700 | 2004-07-07 Andrew Pinski <apinski@apple.com> |
7701 | ||
7702 | * configure: Regenerate with the right autoconf. | |
7703 | ||
25291055 DE |
7704 | 2004-07-07 David Edelsohn <edelsohn@gnu.org> |
7705 | ||
7706 | * ifcvt.c (total_bb_rtx_cost): New function. | |
7707 | (find_if_case_1): Compare rtx_cost of basic block to cost of | |
7708 | BRANCH_COST insns. | |
7709 | (find_if_case_2): Same. | |
7710 | ||
951661a1 EB |
7711 | 2004-07-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
7712 | ||
7713 | PR target/10567 | |
7714 | * config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch. | |
7715 | (output_return): Likewise. | |
7716 | (output_sibcall): Abort if !flag_delayed_branch. | |
7717 | (sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch. | |
7718 | (emit_and_preserve): New function. | |
7719 | (sparc_output_mi_thunk): Use it. Honor flag_delayed_branch. Emit an | |
7720 | indirect jump to the thunked-to function if !flag_delayed_branch. | |
7721 | * config/sparc/sparc.md (delayed_branch): New attribute. | |
7722 | (load_pcrel_sym): Honor flag_delayed_branch. Use above | |
7723 | attribute to compute the length of the insn. | |
7724 | (goto_handler_and_restore): Likewise. | |
7725 | ||
3a18db48 AP |
7726 | 2004-07-07 Andrew Pinski <apinski@apple.com> |
7727 | ||
5f7b2156 AP |
7728 | PR tree-optimization/15777 |
7729 | * fold-const.c (fold_single_bit_test): Fold the x^1 expression. | |
7730 | ||
3a18db48 AP |
7731 | * expr.c (expand_expr_real_1): Fix formating. |
7732 | BUFFER_REF and IN_EXPR are dead. | |
7733 | * fold-const.c (non_lvalue): BUFFER_REF is dead. | |
7734 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
7735 | * tree-pretty-print.c (dump_generic_node): BUFFER_REF, | |
7736 | IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead. | |
7737 | * tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill. | |
7738 | ||
d594623a L |
7739 | 2004-07-07 H.J. Lu <hongjiu.lu@intel.com> |
7740 | ||
7741 | * collect2.c (dump_file): Don't call cplus_demangle if | |
7742 | HAVE_LD_DEMANGLE is defined. | |
7743 | (main): Pass "--demangle" to ld if no_demangle is not 0 and | |
7744 | HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style | |
7745 | if HAVE_LD_DEMANGLE is defined. | |
7746 | ||
7747 | * configure.ac (--with-demangler-in-ld): Added | |
7748 | (HAVE_LD_DEMANGLE): Define if ld supports --demangle when | |
7749 | --with-demangler-in-ld is used. | |
7750 | * config.in: Regenerated. | |
7751 | * configure: Likewise. | |
7752 | ||
f0517163 RS |
7753 | 2004-07-07 Roger Sayle <roger@eyesopen.com> |
7754 | ||
7755 | * config/rs6000/rs6000.c (struct processor_costs): Add new fields | |
7756 | for simple floating point operations "fp", double precision | |
7757 | multiplication "dmul", and single and double precision division | |
7758 | "sdiv" and "ddiv". Update all CPU variant tables as appropriate. | |
7759 | (ppc630_cost): New table split from ppc620_cost, to distinguish | |
7760 | differences in floating point latencies. | |
7761 | (rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630. | |
7762 | (rs6000_rtx_costs): Add support for single and double precision | |
7763 | floating point addition, subtraction, multiplication, division, | |
7764 | fused-multiply-add, fused-multiply-sub, negation, absolute value | |
7765 | and negative absolute value. Tweak MEM case to use prefered idiom. | |
7766 | ||
63b88252 RH |
7767 | 2004-07-07 Richard Henderson <rth@redhat.com> |
7768 | ||
7769 | * tree-flow-inline.h (may_propagate_copy): Move... | |
7770 | * tree-ssa-copy.c (may_propagate_copy): ... here. Fail if we | |
7771 | attempt to copy between types requiring conversion. | |
7772 | * tree-flow.h (may_propagate_copy): Update decl. | |
7773 | * tree-ssa-dom.c (cprop_operand): Tidy redundant tests. | |
7774 | ||
6c4918da JJ |
7775 | 2004-07-07 Jakub Jelinek <jakub@redhat.com> |
7776 | ||
7777 | * config/i386/i386.c (override_options): Don't set x86_prefetch_sse | |
7778 | from -mtune= option. | |
7779 | ||
70128ad9 AO |
7780 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> |
7781 | ||
7782 | * builtins.c: Rename movstr*, except for movstrict*, to | |
7783 | movmem* and clrstr* to clrmem*. | |
7784 | * expr.c: Likewise. | |
7785 | * expr.h: Likewise. | |
7786 | * genopinit.c: Likewise. | |
7787 | * integrate.c: Likewise. | |
7788 | * local-alloc.c: Likewise. | |
7789 | * optabs.c: Likewise. | |
7790 | * optabs.h: Likewise. | |
7791 | * config/alpha/alpha.h: Likewise. | |
7792 | * config/alpha/alpha.md: Likewise. | |
7793 | * config/arm/arm-protos.h: Likewise. | |
7794 | * config/arm/arm.c: Likewise. | |
7795 | * config/arm/arm.md: Likewise. | |
7796 | * config/avr/avr.md: Likewise. | |
7797 | * config/c4x/c4x.c: Likewise. | |
7798 | * config/c4x/c4x.md: Likewise. | |
7799 | * config/frv/frv.md: Likewise. | |
7800 | * config/i386/i386-protos.h: Likewise. | |
7801 | * config/i386/i386.c: Likewise. | |
7802 | * config/i386/i386.h: Likewise. | |
7803 | * config/i386/i386.md: Likewise. | |
7804 | * config/i860/i860.c: Likewise. | |
7805 | * config/i860/i860.md: Likewise. | |
7806 | * config/ip2k/ip2k.md: Likewise. | |
7807 | * config/ip2k/libgcc.S: Likewise. | |
7808 | * config/ip2k/t-ip2k: Likewise. | |
7809 | * config/m32r/m32r.c: Likewise. | |
7810 | * config/m32r/m32r.md: Likewise. | |
7811 | * config/mcore/mcore.md: Likewise. | |
7812 | * config/mips/mips.c: Likewise. | |
7813 | * config/mips/mips.md: Likewise. | |
7814 | * config/ns32k/ns32k.c: Likewise. | |
7815 | * config/ns32k/ns32k.h: Likewise. | |
7816 | * config/ns32k/ns32k.md: Likewise. | |
7817 | * config/pa/pa.c: Likewise. | |
7818 | * config/pa/pa.md: Likewise. | |
7819 | * config/pdp11/pdp11.h: Likewise. | |
7820 | * config/pdp11/pdp11.md: Likewise. | |
7821 | * config/rs6000/rs6000.c: Likewise. | |
7822 | * config/rs6000/rs6000.md: Likewise. | |
7823 | * config/s390/s390-protos.h: Likewise. | |
7824 | * config/s390/s390.c: Likewise. | |
7825 | * config/s390/s390.md: Likewise. | |
7826 | * config/sh/lib1funcs.asm: Likewise. | |
7827 | * config/sh/sh.c: Likewise. | |
7828 | * config/sh/sh.md: Likewise. | |
7829 | * config/sh/t-sh: Likewise. | |
7830 | * config/sparc/sparc.h: Likewise. | |
7831 | * config/vax/vax.md: Likewise. | |
7832 | * config/xtensa/xtensa.c: Likewise. | |
7833 | * config/xtensa/xtensa.md: Likewise. | |
7834 | * doc/invoke.texi: Likewise. | |
7835 | * doc/md.texi: Likewise. | |
7836 | * doc/rtl.texi: Likewise. | |
7837 | ||
48b2e0a7 RS |
7838 | 2004-07-07 Richard Sandiford <rsandifo@redhat.com> |
7839 | ||
7840 | PR target/16407 | |
7841 | * config/mips/mips-protos.h (mips_declare_common_object): Declare. | |
7842 | * config/mips/mips.c (mips_declare_common_object): New function, | |
7843 | mostly split out from... | |
7844 | (mips_output_aligned_decl_common): ...here. | |
7845 | * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of... | |
7846 | (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition. | |
7847 | * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this | |
7848 | rather than ASM_OUTPUT_LOCAL. Call mips_declare_common_object. | |
7849 | ||
477eff96 JDA |
7850 | 2004-07-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
7851 | ||
7852 | PR c/16392 | |
7853 | * function.c (assign_parms): Fix typo from previous change. | |
7854 | ||
fc72b380 JM |
7855 | 2004-07-07 Jason Merrill <jason@redhat.com> |
7856 | ||
7857 | PR c++/15815 | |
7858 | * doc/extend.texi (C++ Interface): Correct information and | |
7859 | discourage use. | |
7860 | ||
25069b42 VM |
7861 | 2004-07-07 Vladimir Makarov <vmakarov@redhat.com> |
7862 | ||
7863 | PR target/16130 | |
7864 | PR target/16142 | |
7865 | PR target/16143 | |
7866 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm | |
7867 | insn. | |
5b02f0e0 | 7868 | |
767dec6b KI |
7869 | 2004-07-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
7870 | ||
7871 | PR target/1679. | |
7872 | * config/m32r/m32r.c (m32r_function_symbol): New function: | |
7873 | Generate a symbol name RTX with the correct m32r specific flags | |
5b02f0e0 | 7874 | set. |
767dec6b KI |
7875 | (block_move_call): Use new function to generate correct symbol. |
7876 | * config/m32r/m32r-protos.h: Add prototype for new funcion. | |
7877 | * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new | |
7878 | function. | |
7879 | ||
604a3205 NS |
7880 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> |
7881 | ||
7882 | * tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE, | |
7883 | TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES, | |
7884 | TYPE_BINFO_BASETYPE): Remove. | |
7885 | (BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename | |
7886 | to ... | |
7887 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ... | |
7888 | here. | |
7889 | (BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ... | |
7890 | (BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here. | |
7891 | (BINFO_INHERITANCE_CHAIN): Redocument as it is actually used. | |
7892 | (struct tree_binfo): Rename base_types to base_binfos. | |
7893 | * alias.c (record_component_aliases): Adjust BINFO macros. | |
7894 | * dbxout.c (dbxout_type): Likewise. | |
7895 | * dwarf2out.c (gen_member_die): Likewise. | |
7896 | * sdbout.c (sdbout_one_type): Likewise. | |
7897 | * tree-dump.c (deque_and_dump): Likewise. | |
7898 | * config/i386/i386.c (classify_argument, | |
7899 | contains_128bit_aligned_vector_p): Likewise. | |
7900 | ||
6b66447a NC |
7901 | 2004-07-07 Nick Clifton <nickc@redhat.com> |
7902 | ||
7903 | * config/fr30/fr30.c (fr30_setup_incoming_varargs): Change | |
5b02f0e0 | 7904 | arguments to match TARGET_SETUP_INCOMING_VARARGS prototype. |
6b66447a | 7905 | |
2272d9cf NS |
7906 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> |
7907 | ||
7908 | * vec.h: Fix the example use. | |
7909 | ||
84936f6f RH |
7910 | 2004-07-06 Richard Henderson <rth@redhat.com> |
7911 | ||
7912 | * langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove. | |
7913 | * langhooks.h (struct lang_hooks): Remove gimple_before_inlining. | |
7914 | * tree-inline.c (copy_body_r, setup_one_parameter, | |
7915 | initialize_inlined_parameters, expand_call_inline, | |
7916 | declare_inline_vars): Don't check it. | |
7917 | (expand_calls_inline): Remove old version, rename new version | |
7918 | from gimple_expand_calls_inline. | |
7919 | * tree-optimize.c (execute_gimple): Remove. | |
7920 | (pass_gimple): Don't run anything. | |
7921 | ||
640d429d JM |
7922 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> |
7923 | ||
7924 | * doc/sourcebuild.texi: Use semicolons instead of commas in | |
7925 | section title. | |
7926 | ||
bfeebecf RH |
7927 | 2004-07-06 Richard Henderson <rth@redhat.com> |
7928 | ||
7929 | * tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change. | |
7930 | (sra_walk_modify_expr, scan_init): Likewise. | |
7931 | (generate_element_zero): Check visited before scanning children. | |
7932 | (generate_element_init): Set visited on error. | |
7933 | (scalarize_init): Handle generate_element_init failure similar | |
7934 | to use_block_copy. | |
7935 | ||
82b5e52a JM |
7936 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> |
7937 | ||
7938 | * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define. | |
7939 | (warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG. | |
7940 | ||
b39edae3 RH |
7941 | 2004-07-06 Richard Henderson <rth@redhat.com> |
7942 | ||
7943 | * config/i386/i386.c (legitimize_pic_address): Make static. | |
7944 | (legitimize_address): Handle CONST with TLS operand. | |
7945 | (ix86_expand_move): Don't call legitimize_pic_address directly. | |
7946 | * config/i386/i386-protos.h (legitimize_pic_address): Remove. | |
7947 | ||
7b5effb4 RS |
7948 | 2004-07-06 Roger Sayle <roger@eyesopen.com> |
7949 | ||
7950 | * ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field. | |
7951 | (noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway. | |
7952 | (noce_process_if_block): Initialize if_info.b_unconditional if insn_b | |
7953 | is currently executed unconditionally, i.e. not in "else_bb". | |
7954 | ||
ca4f3d13 SB |
7955 | 2004-07-06 Steven Bosscher <stevenb@suse.de> |
7956 | ||
7957 | * config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove. | |
7958 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7959 | * config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove. | |
7960 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7961 | * config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove. | |
7962 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7963 | * config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove. | |
7964 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7965 | * config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove. | |
7966 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7967 | * config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove. | |
7968 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7969 | * config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove. | |
7970 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7971 | * config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove. | |
7972 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
7973 | ||
3d3fa3a1 | 7974 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> |
b89cd06e DB |
7975 | |
7976 | * dojump.c (do_jump): REFERENCE_EXPR is dead. | |
7977 | * expr.c (expand_expr_real_1): Ditto. | |
7978 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
7979 | * tree-pretty-print.c (dump_generic_node): Ditto. | |
7980 | (op_symbol): Ditto. | |
7981 | * tree.def: Ditto. | |
7982 | ||
7983 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> | |
7984 | ||
3d3fa3a1 DB |
7985 | * tree-ssa-pre.c (reference_node_pool): New pool. |
7986 | (find_or_generate_expression): Class 'r' is okay too. | |
7987 | (create_value_expr_from): Ditto. | |
7988 | (add_to_sets): LHS should not include vuses. | |
7989 | (eliminate): Ditto. | |
7990 | (compute_avail): Reverse ordering of tests. | |
7991 | Valuize INDIRECT_REF as well. | |
b89cd06e | 7992 | |
60e20b90 RS |
7993 | 2004-07-06 Richard Sandiford <rsandifo@redhat.com> |
7994 | ||
7995 | PR rtl-optimization/16380 | |
7996 | * loop.c (check_dbra_loop): Sink comparison instructions if they | |
7997 | do something other than set cc0. | |
7998 | ||
37bcf311 JW |
7999 | 2004-07-06 James E Wilson <wilson@specifixinc.com> |
8000 | ||
8001 | * doc/interface.texi (longjmp and automatic variables): Delete | |
8002 | paragraph recommending taking the address of a variable. | |
8003 | ||
a064479c NS |
8004 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> |
8005 | ||
8006 | * vec.h (VEC_embedded_alloc): Remove. | |
8007 | (VEC_embedded_size, VEC_embedded_init): New. | |
8008 | (VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add | |
8009 | MEM_STAT_INFO. | |
8010 | (VEC_truncate): New. | |
8011 | (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL. | |
8012 | (vec_embedded_alloc): Remove. | |
8013 | * vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust. | |
8014 | (vec_embedded_alloc): Remove. | |
8015 | ||
9bc81313 MM |
8016 | 2004-07-06 Mark Mitchell <mark@codesourcery.com> |
8017 | ||
8018 | * Makefile.in (langhooks.o): Do not depend on gt-langhooks.h. | |
8019 | (gt-langhooks.h): Remove. | |
8020 | ||
88a2ae20 GH |
8021 | 2004-07-06 George Helffrich <george@gly.bris.ac.uk> |
8022 | ||
8023 | * xcoffout.h (DBX_FINISH_SYMBOL): Fix typo. | |
8024 | ||
ef573211 EB |
8025 | 2004-07-06 Eric Botcazou <ebotcazou@libertysurf.fr> |
8026 | ||
8027 | * config/sparc/sparc.c (get_pc_symbol): Rename into | |
8028 | add_pc_to_pic_symbol. | |
8029 | (get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name. | |
8030 | (load_pic_register): Account for previous changes. | |
8031 | Use reg_names. Don't create the label twice. | |
8032 | * config/sparc/sparc.md (UNSPEC_GET_PC): Rename into | |
8033 | UNSPEC_LOAD_PCREL_SYM. | |
8034 | (get_pc): Rename into load_pcrel_sym. Add predicate to | |
8035 | operands. Remove condition. | |
8036 | ||
809e3e7f NS |
8037 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> |
8038 | ||
2da8f023 NS |
8039 | * dbxout.c (dbxout_type): Don't test whether the binfo slot of |
8040 | RECORD, UNION & QUAL_UNION is actually a binfo. | |
8041 | ||
809e3e7f NS |
8042 | * tree.h (TREE_VIA_VIRTUAL): Rename to ... |
8043 | (BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only. | |
8044 | (BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags. | |
8045 | * dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P. | |
8046 | * dwarf2out.c (add_data_member_location_attribute): Likewise. | |
8047 | (gen_inheritance_die): Likewise. | |
8048 | * tree-dump.c (deque_and_dump): Likewise. | |
8049 | * doc/c-tree.texi (Binfos): Add under reconstruction note. | |
8050 | ||
4404cf7d SB |
8051 | 2004-07-06 Steven Bosscher <stevenb@suse.de> |
8052 | ||
8053 | * config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
8054 | Define. | |
8055 | * config/mcore/mcore.md: Model memory latency with a simple DFA | |
8056 | pipeline description instead of a define_function_unit. | |
8057 | ||
5377d5ba RK |
8058 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
8059 | ||
8060 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg. | |
8061 | * langhooks.h (var_mod_type_p): Likewise. | |
8062 | * c-decl.c (finish_decl): Add extra arg to variably_modified_type_p. | |
8063 | * expr.c (count_type_elements): Properly handle return from | |
8064 | array_type_nelts and properly test for overflow. | |
8065 | * gimplify.c (gimplify_init_constructor): Properly handle return | |
8066 | from array_type_nelts. | |
8067 | (gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS. | |
8068 | * integrate.c (copy_decl_for_inlining): Correct comments. | |
8069 | * tree-inline.c (remap_decl): Update comments, remove dead code, | |
8070 | and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist. | |
8071 | (remap_type): Only remap if variably modified by vars in function | |
8072 | being inlined. | |
8073 | (copy_body_r): Use compatible_type langhooks to see when can fold. | |
8074 | (setup_one_parameter): Don't remap type. | |
8075 | (inline_forbidden_p_1): Add arg to variably_modified_type_p. | |
8076 | * tree.c (recompute_tree_invarant_for_addr_expr): Properly | |
8077 | compute TREE_INVARIANT for decl case. | |
8078 | (find_var_from_fn): New function. | |
8079 | (variably_modified_type_p): Add arg and call new function. | |
8080 | * tree.h (variably_modified_type_p): Add extra arg. | |
5b02f0e0 | 8081 | |
6109c659 EB |
8082 | 2004-07-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
8083 | ||
8084 | * config/sparc/sparc.md (nonlocal_goto): Remove disabled code. | |
8085 | (goto_handler_and_restore_v9): Delete disabled insn. | |
8086 | (goto_handler_and_restore_v9_sp64): Likewise. | |
8087 | ||
09b52670 RS |
8088 | 2004-07-05 Roger Sayle <roger@eyesopen.com> |
8089 | ||
8090 | * calls.c (load_register_parameters): Call expand_shift instead | |
8091 | of expand_binop with ashl_optab (or other shift optab) directly. | |
8092 | * expr.c (emit_group_load, emit_group_store): Likewise. | |
8093 | * function.c (assign_parm_setup_block): Likewise. | |
8094 | * stmt.c (shift_return_value): Likewise. | |
8095 | ||
7682ef83 JJ |
8096 | 2004-07-05 Jakub Jelinek <jakub@redhat.com> |
8097 | ||
8098 | * expr.c (expand_assignment): Disable the bitfield += optimizations. | |
8099 | ||
f5829576 JM |
8100 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
8101 | ||
8102 | * doc/sourcebuild.texi: Revert previous patch. | |
8103 | ||
8f99553f JM |
8104 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
8105 | ||
8106 | * c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check | |
8107 | TARGET_MEM_FUNCTIONS. | |
8108 | * system.h: Poison TARGET_MEM_FUNCTIONS. | |
8109 | * libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc, | |
8110 | bcmp_libfunc, bzero_libfunc): Remove. | |
8111 | * optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or | |
8112 | bzero_libfunc. | |
8113 | * doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove. | |
8114 | * doc/standards.texi: Don't mention calling BSD string functions. | |
8115 | * doc/invoke.texi: Likewise. Mention that memmove may be called. | |
8116 | * config/vax/t-memfuncs: New. | |
8117 | * config/memcmp.c, config/memcpy.c, config/memmove.c, | |
8118 | config/memset.c: New. | |
8119 | * config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files. | |
8120 | * config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use | |
8121 | vax/t-memfuncs. | |
8122 | * config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h, | |
8123 | config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h, | |
8124 | config/elfos.h, config/gnu.h, config/h8300/h8300.h, | |
8125 | config/i386/gas.h, config/ia64/ia64.h, config/interix.h, | |
8126 | config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h, | |
8127 | config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, | |
8128 | config/netbsd.h, config/openbsd.h, config/pa/pa.h, | |
8129 | config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h, | |
8130 | config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h, | |
8131 | config/svr3.h: Don't define TARGET_MEM_FUNCTIONS. | |
8132 | ||
b6448565 RH |
8133 | 2004-07-05 Richard Henderson <rth@redhat.com> |
8134 | ||
8135 | * function.c (assign_parm_setup_reg): Properly rename variables in | |
8136 | FUNCTION_ARG_CALLEE_COPIES section. | |
8137 | ||
c31b8e1b ZW |
8138 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> |
8139 | ||
8140 | * tree-mudflap.c: Include cgraph.h. | |
8141 | (mf_init_extern_trees): Rename to mudflap_init. Export. | |
8142 | Rewrite to create synthetic declarations instead of looking | |
8143 | up declarations from mf-runtime.h. | |
8144 | (mf_make_builtin, mf_make_cache_struct_type): New functions. | |
8145 | (mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl): | |
8146 | Correct commentary. | |
8147 | (execute_mudflap_function_decls, mudflap_register_call): | |
8148 | Don't call mf_init_extern_trees. | |
8149 | (mudflap_finish_file): Use cgraph_build_static_cdtor. | |
8150 | ||
8151 | * tree-mudflap.h: Update prototypes. | |
8152 | * c-mudflap.c: Delete file. | |
8153 | * c-common.c: Include tree-mudflap.h. | |
8154 | (c_common_nodes_and_builtins): Call mudflap_init if appropriate. | |
8155 | * Makefile.in: Remove all references to c-mudflap.o. | |
8156 | Update dependencies. | |
8157 | ||
5dbf8812 JDA |
8158 | 2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
8159 | ||
8160 | * pa.md (prefetch, prefetch_32, prefetch_64): Only allow short | |
8161 | displacements with the spatial-locality cache-control completer. | |
8162 | ||
6de66680 ZW |
8163 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> |
8164 | ||
8165 | * langhooks.c: Don't include gt-langhooks.h. | |
8166 | (var_labelno): Delete. | |
8167 | (lhd_set_decl_assembler_name): Do not append a distinguishing | |
8168 | number to file-scope internal-linkage declarations for the first | |
8169 | input file, even if they have DECL_CONTEXT set. Use DECL_UID of | |
8170 | the declaration itself (if at block scope), or its containing | |
8171 | TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing | |
8172 | number. | |
8173 | ||
8174 | * opts.c (cur_in_fname): New global. | |
8175 | * opts.h: Declare it. | |
8176 | * tree.c: Include opts.h. | |
8177 | (make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it | |
8178 | DECL_UID equal to cur_in_fname. | |
8179 | (copy_node_stat): Do not change DECL_UID when copying a | |
8180 | TRANSLATION_UNIT_DECL. | |
8181 | (build_common_tree_nodes): Adjust next_decl_uid to reserve the | |
8182 | range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs. | |
8183 | ||
8184 | * c-decl.c (c_static_assembler_name): Delete. | |
8185 | * c-tree.h (c_static_assembler_name): Delete prototype. | |
8186 | * c-lang.c, objc/objc-lang.c: Don't override | |
8187 | LANG_HOOKS_SET_DECL_ASSEMBLER_NAME. | |
8188 | ||
8189 | * Makefile.in (tree.o): Update dependencies. | |
8190 | (GTFILES): Remove langhooks.c. | |
8191 | ||
ab0e8f66 RS |
8192 | 2004-07-05 Roger Sayle <roger@eyesopen.com> |
8193 | ||
8194 | * fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus | |
8195 | by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)". | |
8196 | Normalize "X % C" as "X % -C" for signed modulus and negative C. | |
8197 | Optimize "X % -Y" as "X % Y" for signed modulus. | |
8198 | <EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0" | |
8199 | into "((unsigned) X % Y) == 0". | |
8200 | ||
22e9e201 JM |
8201 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
8202 | ||
8203 | * sourcebuild.texi (Config Fragments): Use @comma{} in | |
8204 | cross-reference to section title. | |
8205 | ||
8963a517 RK |
8206 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
8207 | ||
48eb4e53 RK |
8208 | * tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro. |
8209 | * gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it. | |
8210 | (gimplify_target_expr, gimplify_expr): Likewise. | |
8211 | (copy_if_shared_r): No longer need special case for BIND_EXPR. | |
8212 | (unshare_body, unvisit_body): Only look at nested if BODY_P is | |
8213 | whole function. | |
8214 | (gimplify_compound_lval): See if we can strip any useless conversion. | |
8215 | (gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size | |
8216 | from RHS, not LHS. | |
8217 | (gimplify_modify_expr_to_memset): Likewise. | |
8218 | (gimplify_expr, case CONSTRUCTOR): Handle use as statement. | |
8219 | * tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P. | |
8220 | (declare_inline_vars): Likewise. | |
8221 | (walk_type_fields): New function. | |
8222 | (walk_tree): Use it. | |
8223 | * tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR. | |
6de66680 | 8224 | |
402a3dec RK |
8225 | * tree-sra.c (struct sra_walk_fns): Init function now returns bool. |
8226 | (sra_walk_modify_expr): Allow init function to fail. | |
8227 | (scan_init): Now returns bool. | |
8228 | (generate_element_init): If can't understand INIT, return false. | |
8229 | (scalarize_init): Return false if generate_element_init does. | |
6de66680 | 8230 | |
2709efd8 RK |
8231 | * tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly |
8232 | print bounds. | |
8233 | ||
ebd5a208 RK |
8234 | * expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against |
8235 | bounds if bounds aren't constant. | |
8236 | ||
6f70e46e | 8237 | * tree-cfg.c (verify_expr): Use CHECK_OP in binary case. |
50b04185 | 8238 | |
8963a517 RK |
8239 | * function.c, langhooks-def.h, langhooks.h: Move max_size hook |
8240 | to type hooks; remove bogus PARAMS. | |
8241 | ||
95b4aca6 NS |
8242 | 2004-07-05 Nathan Sidwell <nathan@codesourcery.com> |
8243 | ||
8244 | * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1. | |
8245 | * dwarf2out.c (add_data_member_location_attribute): Check for | |
8246 | TREE_BINFO. | |
8247 | * tree.c (tree_node_kinds): Add "binfos". | |
8248 | (binfo_lang_slots): New. | |
8249 | (make_node_stat): Add TREE_BINFO. | |
8250 | (make_tree_binfo_stat): New. | |
8251 | (tree_node_structure): Add TREE_BINFO. | |
8252 | * tree.def (TREE_BINFO): New. | |
8253 | * tree.h (REC_OR_UNION_CHECK): Rename to ... | |
8254 | (RECORD_OR_UNION_CHECK): ... here. | |
8255 | (NOT_RECORD_OR_UNION_CHECK): New. | |
8256 | (TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO. | |
8257 | (TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for | |
8258 | RECORD_OR_UNION_CHECK. | |
8259 | (TYPE_BINFO): Use RECORD_OR_UNION_CHECK. | |
8260 | (TYPE_LANG_SLOT_1): New. | |
8261 | (BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS, | |
8262 | BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD, | |
8263 | BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust. | |
8264 | (BINFO_ELTS): Remove. | |
8265 | (BINFO_LANG_SLOT): New. | |
8266 | (struct tree_binfo): New. | |
8267 | (binfo_lang_slots): Declare. | |
8268 | (enum tree_node_structure_enum): Add TS_BINFO. | |
8269 | (union tree_node): Add binfo. | |
8270 | (make_tree_binfo_stat): Declare. | |
8271 | (make_tree_binfo): New. | |
8272 | (enum tree_node_kind): Add binfo_kind. | |
6de66680 | 8273 | |
95b4aca6 NS |
8274 | * objc/objc-act.c (start_class, objc_declare_protocols, |
8275 | start_protocols): Use TYPE_LANG_SLOT_1. | |
8276 | * objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename | |
8277 | to ... | |
8278 | (CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here. | |
8279 | (CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE, | |
8280 | CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS, | |
8281 | PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1. | |
8282 | ||
acf8677f SB |
8283 | 2004-07-05 Steven Bosscher <stevenb@suse.de> |
8284 | ||
8285 | * rtl.h (struct rtx_def): Remove the integrated flag. | |
8286 | Use the return_val flag for MEM_SCALAR_P. | |
8287 | Reshuffle and update flags in CLEAR_RTX_FLAGS. | |
8288 | ||
e0ec4c3b RS |
8289 | 2004-07-05 Richard Sandiford <rsandifo@redhat.com> |
8290 | ||
8291 | PR target/16357 | |
8292 | * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs | |
8293 | to mips_expand_unaligned_load, mips_expand_unaligned_store, and | |
8294 | move_by_pieces. | |
8295 | ||
feb61729 JZ |
8296 | 2004-07-05 Josef Zlomek <zlomekj@suse.cz> |
8297 | ||
8298 | * var-tracking.c: Fix some comments. | |
8299 | (frame_stack_adjust): New. | |
8300 | (vt_stack_adjustments): Init stack_adjust of entry block to | |
8301 | minus stack adjustment of function prologue. | |
8302 | (adjust_stack_reference): Do not adjust if adjustment == 0. | |
8303 | (compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS. | |
8304 | (emit_notes_in_bb): Likewise. | |
8305 | (vt_add_function_parameters): Do not adjust locations of | |
8306 | function arguments. | |
8307 | (vt_initialize): Compute the stack adjustment of function | |
8308 | prologue and offset the initial "location" of frame_base_decl | |
8309 | from the stack pointer after prologue. | |
8310 | ||
6071dc7f RH |
8311 | 2004-07-04 Richard Henderson <rth@redhat.com> |
8312 | ||
8313 | * function.c (struct assign_parm_data_all): New. | |
8314 | (struct assign_parm_data_one): New. | |
8315 | (assign_parms_initialize_all, assign_parms_augmented_arg_list, | |
8316 | assign_parm_find_data_types, assign_parms_setup_varargs, | |
6de66680 | 8317 | assign_parm_find_entry_rtl, assign_parm_is_stack_parm, |
6071dc7f RH |
8318 | assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl, |
8319 | assign_parm_adjust_stack_rtl, assign_parm_setup_block_p, | |
8320 | assign_parm_setup_block, assign_parm_setup_reg, | |
8321 | assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ... | |
8322 | (assign_parms): ... here. | |
8323 | ||
6b416da1 DB |
8324 | 2004-07-04 Daniel Berlin <dberlin@dberlin.org> |
8325 | ||
8326 | * tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets | |
8327 | now are bitmap_set_t's. | |
8328 | (bitmap_insert_into_set): No point in inserting the value if | |
8329 | it's invariant. | |
8330 | (bitmap_set_contains): New function. | |
6de66680 | 8331 | (bitmap_set_replace_value): Add comment on why we do it |
6b416da1 DB |
8332 | this way. |
8333 | (set_contains): Removed. | |
8334 | (bitmap_set_subtract_from_value_set): New name of | |
8335 | set_subtract now that it's arguments are two different | |
8336 | types of sets. | |
8337 | Update callers. | |
8338 | (bitmap_find_leader): Change algorithm used. | |
8339 | (find_or_generate_expression): Update use of functions for new | |
8340 | bitmap sets. | |
8341 | (create_expression_by_pieces): Ditto. | |
8342 | (insert_aux): Ditto. | |
8343 | (insert): Ditto. | |
8344 | (add_to_sets): Ditto. | |
8345 | (init_pre): Ditto. | |
8346 | (execute_pre): Ditto. | |
8347 | (compute_avail): Ditto. | |
8348 | Also ignore virtual phis. | |
8349 | ||
b8ff6ca0 RS |
8350 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> |
8351 | ||
8352 | * combine.c (simplify_comparison): Fix comment typo. | |
8353 | ||
6244b14e EB |
8354 | 2004-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
8355 | ||
8356 | * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename | |
8357 | into LEAF_SIBCALL_SLOT_RESERVED_P after negation. | |
8358 | (eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
8359 | (output_restore): Change parameter from 'insn' to 'pat'. | |
8360 | (output_return): Adjust call to output_restore. | |
8361 | (output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
8362 | Adjust call to output_restore. | |
8363 | ||
0188c218 NB |
8364 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> |
8365 | ||
8366 | * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__ | |
8367 | and assert system is bsd. | |
8368 | ||
b3583df6 RS |
8369 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> |
8370 | ||
8371 | * config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete. | |
8372 | (TARGET_SWITCHES): Remove -mdebugc. | |
8373 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
8374 | (sltu, sleu): Remove TARGET_DEBUG_C_MODE handling. | |
8375 | (seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i) | |
8376 | (sle_[sd]i_reg): Delete. | |
8377 | ||
78c21202 SB |
8378 | 2004-07-04 Steven Bosscher <stevenb@suse.de> |
8379 | ||
8380 | * config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
8381 | Define. | |
8382 | * config/iq2000/iq2000.md: Translate old pipeline description to an | |
8383 | equivalent new one. | |
8384 | ||
06a9b53f RS |
8385 | 2004-07-04 Roger Sayle <roger@eyesopen.com> |
8386 | ||
8387 | * tree-ssa-ccp.c (set_rhs): Change function to return a bool. | |
8388 | Ensure the replacement rhs is valid gimple before performing | |
8389 | the substitution. Return false if these sanity checks fail. | |
8390 | (fold_stmt): Only set changed to true, if set_rhs returns true. | |
8391 | (execute_fold_all_builtins): Only call modify_stmt if set_rhs | |
8392 | succeeds. | |
8393 | ||
1ec7a978 RH |
8394 | 2004-07-04 Richard Henderson <rth@redhat.com> |
8395 | ||
8396 | PR c/16348 | |
8397 | * c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops. | |
8398 | ||
343a6100 MM |
8399 | 2004-07-04 Mark Mitchell <mark@codesourcery.com> |
8400 | ||
8401 | * configure.ac (ranlib_flags): New variable. | |
8402 | * Makefile.in (RANLIB_FLAGS): New variable. | |
8403 | (libbackend.a): Use it. | |
8404 | * configure: Regenerated. | |
8405 | ||
b75941cb RS |
8406 | 2004-07-04 Roger Sayle <roger@eyesopen.com> |
8407 | ||
8408 | * ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate | |
8409 | a "sign mask" instead of using ashr_optab directly. | |
8410 | ||
a09d4744 NB |
8411 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> |
8412 | ||
8413 | * doc/cpp.texi: Don't document what we do for ill-formed expressions. | |
8414 | * doc/cppopts.texi: Clarify processing of command-line defines. | |
8415 | ||
b25c17bc GP |
8416 | 2004-07-04 Gerald Pfeifer <gerald@pfeifer.com> |
8417 | ||
8418 | * doc/contrib.texi (Contributors): Adjust link for GNU Classpath. | |
8419 | ||
8fff4fc1 RH |
8420 | 2004-07-04 Richard Henderson <rth@redhat.com> |
8421 | ||
8422 | * rtl.def (ADDRESSOF): Remove. | |
8423 | * alias.c (rtx_equal_for_memref_p): Don't handle addressof. | |
8424 | (find_base_term, memrefs_conflict_p): Likewise. | |
8425 | * cse.c (fixed_base_plus_p, find_best_addr: Likewise. | |
8426 | (fold_rtx, cse_insn, set_live_p): Likewise. | |
8427 | * dwarf2out.c (mem_loc_descriptor): Likewise. | |
8428 | (add_location_or_const_value_attribute): Likewise. | |
8429 | * emit-rtl.c (copy_insn_1): Likewise. | |
8430 | * explow.c (memory_address): Likewise. | |
8431 | * expmed.c (store_split_bit_field): Likewise. | |
8432 | * expr.c (expand_expr_real_1): Likewise. | |
8433 | * function.c (instantiate_decl | |
8434 | (instantiate_virtual_regs_1, fix_lexical_addr): Likewise. | |
8435 | * genrecog.c (preds, validate_pattern): Likewise. | |
8436 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
8437 | * recog.c (general_operand, register_operand): Likewise. | |
8438 | (memory_address_p): Likwise. | |
8439 | * reload1.c (eliminate_regs, elimination_effects): Likewise. | |
8440 | * rtl.c (copy_rtx): Likewise. | |
8441 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
8442 | (rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise. | |
8443 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
8444 | * stmt.c (expand_asm_operands): Likewise. | |
8445 | * web.c (entry_register, replace_ref, web_main): Likewise. | |
8446 | * config/alpha/alpha.c (input_operand, alpha_legitimate_address_p, | |
8447 | alpha_expand_block_move, alpha_expand_block_clear): Likewise. | |
8448 | * config/arm/arm.c (thumb_rtx_costs): Likewise. | |
8449 | * config/c4x/c4x.c (c4x_valid_operands): Likewise. | |
8450 | * config/frv/frv.c (move_destination_operand, move_source_operand, | |
8451 | condexec_dest_operand, condexec_source_operand, | |
8452 | condexec_memory_operand): Likewise. | |
8453 | * config/h8300/h8300.h (PREDICATE_CODES): Likewise. | |
8454 | * config/ia64/ia64.c (general_xfmode_operand): Likewise. | |
8455 | (destination_xfmode_operand): Likewise. | |
8456 | * config/mips/mips.h (PREDICATE_CODES): Likewise. | |
8457 | * config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise. | |
8458 | * config/s390/s390.c (general_s_operand): Likewise. | |
8459 | * config/s390/s390.md (mov*): Likewise. | |
8460 | * config/sparc/sparc.h (PREDICATE_CODES): Likewise. | |
8461 | ||
8462 | * c-typeck.c (c_mark_addressable): Don't put_var_into_stack. | |
8463 | * expr.c (expand_expr_real_1): Likewise. | |
8464 | * stmt.c (expand_decl): Likewise. | |
8465 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
8466 | ||
8467 | * function.c (struct fixup_replacement, struct insns_for_mem_entry, | |
8468 | postponed_insns, put_var_into_stack, put_reg_into_stack, | |
8469 | schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement, | |
8470 | fixup_var_refs_insns, fixup_var_refs_insns_with_hash, | |
8471 | fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg, | |
8472 | walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field, | |
8473 | gen_mem_addressof, flush_addressof, put_addressof_into_stack, | |
8474 | purge_bitfield_addressof_replacements, purge_addressof_replacements, | |
8475 | purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp, | |
6de66680 | 8476 | struct insns_for_mem_walk_info, insns_for_mem_walk, |
8fff4fc1 RH |
8477 | compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect, |
8478 | setjmp_protect_args): Remove. | |
8479 | (push_function_context_to): Don't handle var_refs_queue. | |
8480 | (pop_function_context_from, free_after_compilation): Likewise. | |
8481 | (instantiate_virtual_regs): Don't handle parm_reg_stack_loc. | |
8482 | (assign_parms, allocate_struct_function): Likewise. | |
8483 | (use_register_for_decl): New. | |
8484 | (expand_function_end): Don't setjmp_protect. | |
8485 | * function.h (struct emit_status): Update commentary. | |
8486 | (struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc. | |
8487 | (max_parm_reg, parm_reg_stack_loc): Remove. | |
8488 | * passes.c (DFI_addressof): Remove. | |
8489 | (dump_file_info): Remove addressof. | |
8490 | (rest_of_handle_addressof): Remove. | |
8491 | (rest_of_compilation): Don't call it. | |
8492 | * rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove. | |
8493 | * stmt.c (expand_decl): Use use_register_for_decl. | |
8494 | * tree.h: Update decls. | |
8495 | * web.c (mark_addressof): Remove. | |
8496 | * doc/invoke.texi (-dF): Remove. | |
8497 | ||
68d22aa5 RH |
8498 | 2004-07-03 Richard Henderson <rth@redhat.com> |
8499 | ||
8500 | * config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp | |
8501 | instead of gen_mem_addressof. | |
8502 | * config/ia64/ia64.md (movxf): Use assign_stack_temp to handle | |
8503 | TImode output register. | |
8504 | ||
bdecd334 RH |
8505 | 2004-07-03 Richard Henderson <rth@redhat.com> |
8506 | ||
8507 | PR tree-optimization/16341 | |
8508 | * tree-sra.c (sra_walk_function): Increment to next stmt before | |
8509 | processing the current stmt. | |
8510 | (sra_insert_after): Always use BSI_SAME_STMT. | |
8511 | ||
ca8afd0b RH |
8512 | 2004-07-03 Richard Henderson <rth@redhat.com> |
8513 | ||
8514 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold | |
8515 | fp plus with minus. | |
8516 | ||
614ed70a JM |
8517 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> |
8518 | ||
8519 | * tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal | |
8520 | with tree_int_cst_equal. | |
8521 | ||
fa978426 AS |
8522 | 2004-07-03 Andreas Schwab <schwab@suse.de> |
8523 | ||
8524 | * config/ia64/ia64.md: Define new attribute "empty". | |
8525 | (prologue_use, nop_x, insn_group_barrier): Set it. | |
8526 | ||
8527 | * config/ia64/ia64.c (ia64_reorg): When looking for trailing call | |
8528 | skip over "empty" insns. | |
8529 | ||
e30bb772 | 8530 | 2004-07-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
51fa2e5f | 8531 | |
83e113ae RK |
8532 | * tree-inline.c (initialize_inlined_parameters): Pass proper function |
8533 | context to gimplify_body. | |
8534 | (walk_tree): Don't walk into types twice. | |
8535 | (walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers. | |
8536 | ||
51fa2e5f | 8537 | * tree-sra.c (generate_element_init): Remove any useless conversions. |
6de66680 | 8538 | |
73d6ddef RK |
8539 | * gimplify.c (gimplify_conversion): Remove stripping useless |
8540 | conversions from here. | |
8541 | (gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS. | |
8542 | (gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare): | |
8543 | Unshare before substituting PLACEHOLDER_EXPR. | |
8544 | (gimplify_modify_expr_to_memset): Likewise. | |
8545 | Pass address of TO to memset, not TO itself. | |
8546 | (gimplify_init_constructor): Make copy of OBJECT so we have it each | |
8547 | time we make an expression (to match a PLACEHOLDER_EXPR). | |
8548 | ||
580d124f RK |
8549 | * tree-ssa.c (tree_ssa_useless_type_conversion): Also look at |
8550 | VIEW_CONVERT_EXPR and NON_LVALUE_EXPR. | |
8551 | * tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION. | |
8552 | * tree-ssa-dom.c (local_fold): Likewise. | |
8553 | ||
e30bb772 RK |
8554 | * langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook. |
8555 | * langhooks.h (strct lang_hooks): New field type_max_size. | |
8556 | * function.c (assign_temp): Call it. | |
8557 | ||
52c27e16 SB |
8558 | 2004-07-03 Steven Bosscher <stevenb@suse.de> |
8559 | ||
8560 | * config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1. | |
8561 | * config/sh/sh.md: Convert the SH1 pipeline description to | |
8562 | a DFA model. | |
8563 | ||
9aaabf8a ZW |
8564 | 2004-07-02 Zack Weinberg <zack@codesourcery.com> |
8565 | ||
8566 | * c-decl.c (struct c_binding): Remove contour field; add | |
8567 | depth, invisible, nested fields. | |
8568 | (B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE) | |
8569 | (B_IN_EXTERNAL_SCOPE): New convenience macros. | |
8570 | (bind): Add invisible and nested arguments. Initialize | |
8571 | new fields of struct c_binding; adjust loop scanning for | |
8572 | insertion point. | |
8573 | (free_binding_and_advance): Clear structure with memset. | |
8574 | (pop_scope): Adjust to match. Set DECL_CONTEXT on everything | |
8575 | in file scope, even if it's in external scope too. | |
8576 | (pushdecl): Adjust to match. Create invisible file-scope | |
8577 | declarations for block-scope forward declarations of static functions. | |
8578 | (pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare) | |
8579 | (undeclared_variable, lookup_label, declare_label, define_label) | |
8580 | (lookup_tag, lookup_name, lookup_name_in_scope, builtin_function) | |
8581 | (c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value) | |
8582 | (store_parm_decls_oldstyle): Adjust to match. | |
8583 | (diagnose_mismatched_decls): Correct handling of linkage clashes. | |
8584 | (merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE. | |
8585 | ||
8586 | * c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete. | |
8587 | (C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one. | |
8588 | ||
82c82743 RH |
8589 | 2004-07-02 Richard Henderson <rth@redhat.com> |
8590 | ||
8591 | * c-decl.c (grokdeclarator): Don't frob current_function_decl | |
8592 | around variable_size. | |
8593 | (set_decl_nonlocal): Remove. | |
8594 | (store_parm_decls): Add stmts for pending sizes. | |
8595 | * calls.c (calls_function, calls_function_1): Remove. | |
8596 | (precompute_arguments): Don't call it. | |
8597 | * cfgexpand.c (set_save_expr_context): Remove. | |
8598 | (tree_expand_cfg): Don't call it. | |
8599 | * dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR. | |
8600 | (dwarf2out_finish): Likewise. | |
8601 | * expr.c (emit_block_move): Adjust addresses to BLKmode. | |
8602 | (store_constructor): Don't pre-evaluate SAVE_EXPR. | |
8603 | (safe_from_p): Don't queue SAVE_EXPRs. | |
8604 | (expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect, | |
8605 | or build plain VAR_DECLs. | |
8606 | * fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL. | |
8607 | (fold): Likewise. | |
8608 | (fold_checksum_tree): Don't special-case SAVE_EXPR. | |
8609 | * function.c (free_after_compilation): Don't clear x_save_expr_regs. | |
8610 | (put_var_into_stack): Don't handle SAVE_EXPR. | |
8611 | (gen_mem_addressof): Likewise. | |
8612 | * function.h (struct function): Remove x_save_expr_regs. | |
8613 | (save_expr_regs): Remove. | |
8614 | * gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR. | |
8615 | * print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER. | |
8616 | * stor-layout.c (variable_size): Don't set it. | |
8617 | (force_type_save_exprs, force_type_save_exprs_1): Remove. | |
8618 | * tree-inline.c (remap_save_expr): Remove fn argument. Update | |
8619 | all callers. Don't set SAVE_EXPR_CONTEXT. | |
8620 | * tree-inline.h (remap_save_expr): Update decl. | |
8621 | * tree.c (save_expr): Update build size. | |
8622 | (first_rtl_op): Don't handle SAVE_EXPR. | |
8623 | (unsave_expr_1, contains_placeholder_p): Likewise. | |
8624 | (decl_function_context): Likewise. | |
8625 | * tree.def (SAVE_EXPR): Remove args 1 and 2. | |
8626 | * tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove. | |
8627 | (SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove. | |
8628 | ||
962e6e00 JM |
8629 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> |
8630 | ||
8631 | * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi, | |
8632 | doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi, | |
8633 | doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi, | |
8634 | doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid | |
8635 | some first-person references and patronizing comments. Based on | |
8636 | printed manual. | |
8637 | * doc/invoke.texi: Don't reference fortran@gnu.org. | |
8638 | * doc/trouble.texi (Warning when a non-void function value is | |
8639 | ignored): Rewrite. From Russ Allbery and Chris Devers. | |
8640 | ||
bdee7684 DB |
8641 | 2004-07-02 Daniel Berlin <dberlin@dberlin.org) |
8642 | ||
8643 | * tree-ssa-pre.c (bitmap_set_t): New. | |
8644 | (bb_value_sets): avail_out is now a bitmap_set_t. | |
8645 | (bitmap_find_leader): New function. | |
8646 | (bitmap_value_insert_into_set): Ditto. | |
8647 | (bitmap_set_copy): Ditto. | |
8648 | (bitmap_value_replace_in_set): Ditto. | |
8649 | (bitmap_set_contains_value): Ditto. | |
8650 | (bitmap_set_new): Ditto. | |
8651 | (bitmap_set_pool): New pool. | |
8652 | (find_or_generate_expression): Use bitmap_ functions on AVAIL sets. | |
8653 | (insert_aux): Ditto. | |
8654 | (add_to_sets): Ditto. | |
8655 | (compute_avail): Ditto | |
8656 | (eliminate): Ditto. | |
8657 | (init_pre): Ditto. | |
8658 | (fini_pre): Ditto. | |
8659 | (execute_pre): Ditto. | |
8660 | ||
8b897cfa RS |
8661 | 2004-07-02 Roger Sayle <roger@eyesopen.com> |
8662 | ||
8663 | * config/rs6000/rs6000.c (struct processor_costs): New structure | |
8664 | used to hold instruction latencies/sizes for processor types. | |
8665 | (rs6000_cost): New global variable pointing to current CPU's costs. | |
8666 | (rs6000_override_options): Initialize rs6000_cost to point to the | |
8667 | appropriate cost table based upon rs6000_cpu and optimize_size. | |
8668 | (rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor | |
8669 | timings inline. | |
8670 | ||
8a0aa06e RH |
8671 | 2004-07-02 Richard Henderson <rth@redhat.com> |
8672 | ||
8673 | * expmed.c (make_tree): Don't use SET_DECL_RTL. | |
8674 | ||
902054ef SB |
8675 | 2004-07-02 Steven Bosscher <stevenb@suse.de> |
8676 | ||
8677 | * tree-flow.h (bb_ann_d): Remove ephi_nodes field. | |
8678 | ||
229aa352 RH |
8679 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8680 | ||
8681 | * config/alpha/alpha.c (struct machine_function): Add gp_save_rtx. | |
8682 | (alpha_gp_save_rtx): Use assign_stack_local instead of | |
8683 | gen_mem_addressof. | |
8684 | ||
8260c194 RH |
8685 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8686 | ||
8687 | * config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div. | |
8688 | (alpha_rtx_cost_data): Update to match. | |
8689 | (alpha_rtx_cost_size): New. | |
8690 | (alpha_rtx_costs): Honor optimize_size. | |
8691 | ||
6429e3be RH |
8692 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8693 | ||
8a0aa06e RH |
8694 | * gimple-low.c (lower_function_body): Don't reset_block_changes here. |
8695 | * cfgexpand.c (tree_expand_cfg): Do it here. | |
8696 | * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here. | |
8697 | * config/ia64/ia64.c (ia64_output_mi_thunk): And here. | |
8698 | * config/mips/mips.c (mips_output_mi_thunk): And here. | |
8699 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here. | |
8700 | * config/sh/sh.c (sh_output_mi_thunk): And here. | |
8701 | * config/sparc/sparc.c (sparc_output_mi_thunk): And here. | |
6429e3be | 8702 | |
4dfa0342 RH |
8703 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8704 | ||
8705 | * tree.def (RTL_EXPR): Remove. | |
8706 | * c-typeck.c (lvalue_p): Don't handle it. | |
8707 | * expr.c (safe_from_p): Likewise. | |
8708 | (expand_expr_real_1): Likewise. | |
9aaabf8a | 8709 | * fold-const.c (non_lvalue, operand_equal_p, fold): Likewise. |
4dfa0342 RH |
8710 | (fold_checksum_tree, tree_expr_nonnegative_p): Likewise. |
8711 | * gengtype.c (adjust_field_tree_exp): Likewise. | |
8712 | * stmt.c (warn_if_unused_value): Likewise. | |
8713 | * tree-gimple.c (recalculate_side_effects): Likewise. | |
8714 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
8715 | * tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise. | |
8716 | (unsafe_for_reeval, stabilize_reference, build1_stat): Likewise. | |
8717 | * tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove. | |
8718 | ||
8719 | * stmt.c (struct stmt_status): Remove x_last_expr_type, | |
8720 | x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value. | |
8721 | (last_expr_type, last_expr_value, last_expr_alt_rtl): Remove. | |
8722 | (expand_expr_stmt): Merge with expand_expr_stmt_value. Remove | |
8723 | all the bits that tracked last_expr. | |
8724 | (expand_end_bindings): Don't track last_expr. | |
8725 | (expand_start_stmt_expr, expand_end_stmt_expr): Remove. | |
8726 | (clear_last_expr): Remove. | |
8727 | (expand_asm): Don't call it. | |
8728 | (expand_asm_operands, expand_end_cond): Likewise. | |
8729 | (expand_naked_return, expand_null_return_1): Likewise. | |
8730 | * c-typeck.c (c_begin_compound_stmt): Likewise. | |
8731 | * cfgexpand.c (expand_block): Use expand_expr_stmt. | |
8732 | * expr.c (expand_expr_real_1): Likewise. | |
8733 | * tree.h: Update prototypes. | |
8734 | ||
8735 | * function.h (struct sequence_stack): Remove sequence_rtl_expr. | |
8736 | (struct emit_status): Remove sequence_rtl_expr. | |
8737 | (struct function): Remove x_rtl_expr_chain. | |
8738 | (seq_rtl_expr, rtl_expr_chain): Remove. | |
8739 | * function.c (struct temp_slot): Remove rtl_expr. | |
8740 | (assign_stack_temp_for_type): Don't set it. | |
8741 | (free_temp_slots, pop_temp_slots): Don't check it. | |
8742 | (free_after_compilation): Don't clear x_rtl_expr_chain. | |
8743 | (fixup_var_refs): Don't search it. | |
8744 | (preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove. | |
8745 | * emit-rtl.c (start_sequence): Don't use sequence_rtl_expr | |
8746 | or seq_rtl_expr. | |
8747 | (push_topmost_sequence): Likewise. | |
8748 | (end_sequence, init_emit): Likewise. | |
8749 | (start_sequence_for_rtl_expr): Remove. | |
8750 | * expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR. | |
8751 | * rtl.h (preserve_rtl_expr_result): Remove. | |
8752 | ||
f6fe65dc KH |
8753 | 2004-07-02 Kazu Hirata <kazu@cs.umass.edu> |
8754 | ||
8755 | * ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c, | |
8756 | tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment | |
8757 | typos. | |
8758 | ||
656c7a3a AL |
8759 | 2004-07-02 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
8760 | ||
8761 | * gcc.c (STANDARD_STARTFILE_PREFIX_1): Define. | |
8762 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
8763 | (standard_startfile_prefix_1): Initialize to | |
8764 | STANDARD_STARTFILE_PREFIX_1. | |
8765 | (standard_startfile_prefix_2): Initialize to | |
8766 | STANDARD_STARTFILE_PREFIX_2. | |
8767 | * config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove. | |
8768 | (STANDARD_STARTFILE_PREFIX_1): Define. | |
8769 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
8770 | * doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document. | |
8771 | (STANDARD_STARTFILE_PREFIX_2): Document. | |
8772 | ||
78cc4167 RH |
8773 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8774 | ||
8a0aa06e RH |
8775 | * tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr |
8776 | in order to disable scalarization. Instead set a flag and wait | |
8777 | for a candidate decl. | |
78cc4167 | 8778 | |
2eac577f JM |
8779 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> |
8780 | ||
8781 | * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi, | |
8782 | doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: | |
8783 | Use terminology "testsuite" and "enumerated". | |
8784 | ||
1bac3811 RH |
8785 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8786 | ||
8787 | * dwarf2out.c (reg_save): Use INVALID_REGNUM. | |
8788 | (dwarf2out_reg_save, dwarf2out_return_save): Likewise. | |
8789 | (initial_return_save): Likewise. | |
8790 | (flush_queued_reg_saves): Remap register numbers. | |
8791 | (dwarf2out_return_reg): Likewise. | |
8792 | ||
8e6b96d3 RK |
8793 | 2004-07-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
8794 | ||
1e748a2b RK |
8795 | * gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL. |
8796 | ||
8e6b96d3 RK |
8797 | * tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use |
8798 | access functions for lower bound and element size and only output | |
8799 | if lower bound nonzero or element size not same as that of type. | |
8800 | (dump_generic_node, case COMPONENT_REF): Use access func. for offset. | |
8801 | ||
9b61c478 PB |
8802 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
8803 | ||
8804 | * c-pretty-print.c (pp_c_postfix_expression): Fix pasto. | |
8805 | ||
d70dc103 PB |
8806 | 2004-07-01 Per Bothner <per@bothner.com> |
8807 | ||
8808 | * final.c (final): Fix typo reported by Aaron W. LaFramboise. | |
8809 | ||
60ba25bf JJ |
8810 | 2004-07-01 Jakub Jelinek <jakub@redhat.com> |
8811 | ||
8812 | * expr.c (expand_assignment): Optimize bitfld += cst for 1 bit | |
8813 | bitfields as well. STRIP_NOPS from src operand and PLUS_EXPR's | |
8814 | first operand. Don't optimize if the bitfield is volatile. | |
8815 | ||
bd74419f PB |
8816 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
8817 | ||
8818 | * c-pretty-print.c (pp_c_postfix_expression): Handle | |
8819 | floating-point comparison operators. | |
8820 | (pp_c_expression): Pass floating-point comparison | |
8821 | operators to pp_c_postfix_expression. | |
8822 | ||
aec53add RS |
8823 | 2004-07-01 Roger Sayle <roger@eyesopen.com> |
8824 | ||
8825 | * simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use | |
8826 | rtx_cost instead of "had_mult" to determine whether the transformed | |
8827 | expression is cheaper than the original. | |
8828 | ||
3c0cb5de JQ |
8829 | 2004-07-01 Jerry Quinn <jlquinn@optonline.net> |
8830 | ||
8831 | * alias.c (get_alias_set, canon_rtx, get_addr, | |
8832 | nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1): | |
8833 | Use MEM_P. | |
8834 | * builtins.c (expand_builtin_prefetch, expand_builtin_profile_func, | |
8835 | expand_builtin): Likewise. | |
8836 | * calls.c (expand_call, emit_library_call_value_1, store_one_arg): | |
9aaabf8a | 8837 | Likewise. |
3c0cb5de JQ |
8838 | * combine.c (can_combine_p, combinable_i3pat, try_combine, |
8839 | find_split_point, combine_simplify_rtx, simplify_set, make_extraction, | |
8840 | rtx_equal_for_field_assignment_p, gen_lowpart_for_combine, | |
8841 | record_dead_and_set_regs_1, get_last_value_validate, | |
8842 | mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise. | |
8843 | * cse.c (check_dependence, canon_hash, equiv_constant, | |
8844 | gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers, | |
8845 | cse_around_loop, cse_check_loop_start, cse_set_around_loop, | |
8846 | count_reg_usage): Likewise. | |
8847 | * cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup, | |
8848 | cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set, | |
8849 | cselib_record_sets): Likewise. | |
8850 | * dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol, | |
8851 | dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise. | |
8852 | * ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise. | |
8853 | * df.c (df_uses_record): Likewise. | |
8854 | * dojump (do_jump): Likewise. | |
8855 | * dwarf2out.c (stack_adjust_offset, mem_loc_descriptor, | |
8856 | loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info, | |
8857 | decl_start_label): Likewise. | |
8858 | * emit-rtl.c (gen_complex_constant_part, gen_highpart, | |
8859 | operand_subword, change_address_1, make_safe_from): Likewise. | |
8860 | * explow.c (break_out_memory_refs, copy_all_regs, validize_mem, | |
8861 | stabilize, force_not_mem): Likewise. | |
8862 | * expmed.c (store_bit_field, store_split_bit_field, extract_bit_field, | |
8863 | expand_mult_const, expand_divmod, emit_store_flag): Likewise. | |
8864 | * expr.c (convert_move, convert_modes, emit_block_move, | |
8865 | emit_group_load, emit_group_store, clear_storage, emit_move_insn, | |
8866 | emit_move_insn_1, expand_assignment, store_expr, | |
8867 | store_constructor_field, store_constructor, store_field, | |
8868 | force_operand, safe_from_p, expand_expr_real_1, expand_increment): | |
9aaabf8a | 8869 | Likewise. |
3c0cb5de JQ |
8870 | * final.c (cleanup_subreg_operands, alter_subreg, |
8871 | get_mem_expr_from_op): Likewise. | |
8872 | * flow.c (notice_stack_pointer_modification_1, | |
8873 | init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs): | |
9aaabf8a | 8874 | Likewise. |
3c0cb5de JQ |
8875 | * function.c (mark_temp_addr_taken, preserve_temp_slots, |
8876 | preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1, | |
8877 | optimize_bit_field, flush_addressof, purge_addressof_1, | |
8878 | instantiate_decl, instantiate_virtual_regs_1, assign_parms, | |
8879 | setjmp_protect, setjmp_protect_args, fix_lexical_addr, | |
8880 | keep_stack_depressed): Likewise. | |
8881 | * ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok, | |
8882 | noce_process_if_block, find_memory): Likewise. | |
8883 | * integrate.c (subst_constants, allocate_initial_values): Likewise. | |
8884 | * local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p, | |
8885 | update_equiv_regs): Likewise. | |
8886 | * loop.c (scan_loop, prescan_loop, note_addr_stored, check_store, | |
8887 | maybe_eliminate_biv_1, find_mem_in_note_1): Likewise. | |
8888 | * optabs.c (expand_abs, emit_unop_insn): Likewise. | |
8889 | * passes.c (rest_of_handle_final): Likewise. | |
8890 | * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, | |
8891 | move2add_note_store): Likewise. | |
8892 | * ra-build.c (detect_remat_webs): Likewise. | |
8893 | * ra-debug.c (dump_static_insn_cost): Likewise. | |
8894 | * ra-rewrite.c (slots_overlap_p, insert_stores): Likewise. | |
8895 | * recog.c (validate_change, apply_change_group, cancel_changes, | |
8896 | validate_replace_rtx_1, general_operand, register_operand, | |
8897 | nonmemory_operand, push_operand, pop_operand, memory_operand, | |
8898 | indirect_operand, asm_operand_ok, offsettable_memref_p, | |
8899 | offsettable_nonstrict_memref_p, constrain_operands, | |
8900 | store_data_bypass_p): Likewise. | |
8901 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
8902 | * regclass.c (record_operand_costs, scan_one_insn, record_reg_classes, | |
8903 | copy_cost, reg_scan_mark_refs): Likewise. | |
8904 | * regmove.c (optimize_reg_copy_3, stack_memref_p, | |
8905 | combine_stack_adjustments_for_block): Likewise. | |
8906 | * regrename.c (copyprop_hardreg_forward_1): Likewise. | |
8907 | * reload.c (can_reload_into, push_reload, decompose, immune_p, | |
8908 | find_reloads, find_reloads_address, find_reloads_address_1, | |
8909 | reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p, | |
8910 | find_equiv_reg): Likewise. | |
8911 | * reload1.c (reload, eliminate_regs, eliminate_regs_in_insn, | |
8912 | reload_as_needed, choose_reload_regs, emit_input_reload_insns, | |
8913 | do_input_reload, emit_reload_insns, gen_reload, delete_output_reload, | |
8914 | delete_address_reloads): Likewise. | |
8915 | * resource.c (mark_referenced_resources): Likewise. | |
8916 | * rtlanal.c (get_jump_table_offset, count_occurrences, | |
8917 | reg_referenced_p, reg_set_p, set_of_1, set_noop_p, | |
8918 | reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1, | |
8919 | num_sign_bit_copies1): Likewise. | |
8920 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
8921 | * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. | |
8922 | * sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol, | |
8923 | sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms, | |
8924 | sdbout_global_decl): Likewise. | |
8925 | * simplify-rtx.c (simplify_subreg): Likewise. | |
8926 | * stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl, | |
8927 | expand_anon_union_decl, expand_end_case_type): Likewise. | |
8928 | * unroll.c (calculate_giv_inc): Likewise. | |
8929 | * var-tracking.c (stack_adjust_offset_pre_post, | |
8930 | bb_stack_adjust_offset, track_expr_p, count_uses, add_uses, | |
8931 | add_stores, compute_bb_dataflow, vt_get_decl_and_offset, | |
8932 | vt_add_function_parameters): Likewise. | |
8933 | * varasm.c (make_var_volatile, notice_global_symbol, | |
8934 | assemble_external, decode_addr_const, mark_weak, | |
8935 | default_encode_section_info): Likewise. | |
8936 | ||
a0ae6d3b SB |
8937 | 2004-07-01 Steven Bosscher <stevenb@suse.de> |
8938 | ||
8939 | * stmt.c (check_seenlabel): Remove. | |
8940 | (pushcase, pushcase_range, expand_end_case_type): Don't call it. | |
8941 | ||
b79c5284 RH |
8942 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8943 | ||
8944 | * function.h (struct function): Remove x_function_call_count. | |
8945 | (function_call_count): Remove. | |
8946 | * calls.c (expand_call): Don't set it. | |
8947 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
8948 | ||
8949 | * function.h (struct function): Remove x_cleanup_label. | |
8950 | (cleanup_label): Remove. | |
8951 | * stmt.c (expand_value_return): Don't use it. | |
8952 | * function.c (free_after_compilation): Don't set it. | |
8953 | (expand_function_start): Likewise. Remove parms_have_cleanups arg. | |
8954 | * cfgexpand.c (tree_expand_cfg): Update call. | |
8955 | * tree.h (expand_function_start): Update decl. | |
8956 | ||
ede1a387 JM |
8957 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> |
8958 | ||
8959 | PR c/1027 | |
8960 | * c-lang.c (c_initialize_diagnostics): Move from here ... | |
8961 | * c-objc-common.c: ... to here. Include "c-pretty-print.h". | |
8962 | (c_tree_printer): Use pretty-printer to format %T. | |
8963 | * c-pretty-print.c (pp_c_specifier_qualifier_list): Include space | |
8964 | before '*' if not C++. | |
8965 | (pp_c_direct_abstract_declarator): Don't try to print array upper | |
8966 | bound for flexible array members. | |
8967 | * c-tree.h: Include "diagnostic.h". | |
8968 | (c_initialize_diagnostics): Declare. | |
8969 | * objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define. | |
8970 | * c-format.c (format_type_warning): New function. Improve | |
8971 | diagnostics for incorrect format argument types. | |
8972 | (check_format_types): Use it. Add two parameters. Use the | |
8973 | TYPE_MAIN_VARIANT of wanted_type. | |
8974 | (check_format_info_main): Pass new parameters to | |
8975 | check_format_types. | |
8976 | (struct format_wanted_type): Update comment. | |
8977 | ||
d59c7b4b NC |
8978 | 2004-07-01 Nick Clifton <nickc@redhat.com> |
8979 | ||
8980 | * target.h (struct gcc_target): Add new field to struct cxx: | |
8981 | import_export_class. | |
8a0aa06e RH |
8982 | * target-def.h (TARGET_CXX): Initialise the new field. |
8983 | (TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for | |
9aaabf8a | 8984 | the new field. |
8a0aa06e | 8985 | * doc/tm.texi: Document the new target hook. |
d59c7b4b | 8986 | |
e78bb345 PB |
8987 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
8988 | ||
8989 | * builtins.c (fold_builtin_classify): Fix typo. | |
8990 | ||
e3b63af7 RH |
8991 | 2004-07-01 Richard Henderson <rth@redhat.com> |
8992 | ||
8993 | * function.c (identify_blocks, identify_blocks_1): Remove. | |
8994 | * function.h (identify_blocks): Remove. | |
8995 | * rtl.h (NOTE_INSN_BLOCK_BEG): Update comment. | |
8996 | ||
64a9295a PB |
8997 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
8998 | ||
8999 | * builtins.c (fold_builtin_classify): New. | |
9000 | (fold_builtin_unordered_cmp): Fix commentary. | |
9001 | (fold_builtin): Use it. | |
9002 | * builtins.def: Define builtins for isnan, | |
9003 | isnanf, isnanl, finite, finitef, finitel, | |
9004 | isinf, isinff, isinfl. | |
9005 | ||
1ea463a2 RH |
9006 | 2004-07-01 Richard Henderson <rth@redhat.com> |
9007 | ||
9008 | * function.h (struct function): Remove dont_emit_block_notes. | |
9009 | * gimple-low.c (lower_function_body): Don't set it. | |
9010 | * cfgexpand.c (expand_block): Don't check it. | |
9011 | * cfglayout.c (insn_locators_initialize): Likewise. | |
9012 | * expr.c (expand_expr_real, expand_expr_real_1): Likewise. | |
9013 | * passes.c (rest_of_compilation): Likewise. | |
9014 | * stmt.c (expand_start_bindings_and_block): Likewise. | |
9015 | (expand_end_bindings): Likewise. | |
9016 | ||
c9b9aa64 RH |
9017 | 2004-07-01 Richard Henderson <rth@redhat.com> |
9018 | ||
9019 | * cgraph.h (cgraph_build_static_cdtor): Declare. | |
9020 | * cgraphunit.c (cgraph_build_static_cdtor): New. | |
9021 | * c-objc-common.c (build_cdtor): Use it. | |
9022 | * coverage.c (create_coverage): Likewise. | |
9023 | * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove. | |
9024 | * optabs.c (init_optabs): Don't set gcov_init_libfunc. | |
9025 | ||
8436e65a | 9026 | See ChangeLog.11 for earlier changes. |