Richard Henderson
3600c6dbda
i386.md (SSEINT16): New.
...
* config/i386/i386.md (SSEINT16): New.
(movv16qi, movv8hi, movv4si, movv2di): Compress via macros.
(movv16qi_internal, movv8hi_internal, movv4si_internal,
movv2di_internal): Compress via macros. Add SSE zero alternative.
Fix pure SSE alternatives to use 'x' instead of 'Y'.
(MMXINT8): New.
(movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal,
movv2si_internal): Compress via macros.
(SSEPUSH, MMXPUSH): New.
(pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df,
pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros.
From-SVN: r92374
2004-12-19 00:07:19 -08:00
Richard Henderson
4744afba0f
re PR middle-end/16417 (crappy code (gcc.c-torture/compile/20020210-1.c) in arguments causes ICE)
...
PR middle-end/16417
* c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
comment.
* c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
checks.
* c-tree.h (struct lang_decl): Remove pending_sizes.
* function.c: Include tree-gimple.h
(assign_parm_setup_reg): Remove callee-copies code.
(gimplify_parm_type, gimplify_parameters): New functions.
(expand_pending_sizes): Remove.
(expand_function_start): Don't call it.
* gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
(gimplify_body): Add do_parms argument. Use gimplify_parameters.
(gimplify_function_tree): Setup cfun. Update gimplify_body call.
* tree-gimple.h (gimplify_body): Update decl.
* tree-inline.c (initialize_inlined_parameters): Update gimplify_body
call.
* tree.h (gimplify_parameters): Declare.
* Makefile.in (function.o): Depend on TREE_GIMPLE_H.
From-SVN: r92373
2004-12-18 20:42:14 -08:00
Richard Henderson
ca6af4f857
c-decl.c (finish_struct): Add DECL_EXPR for variable sized structures seen inside functions.
...
* c-decl.c (finish_struct): Add DECL_EXPR for variable sized
structures seen inside functions.
From-SVN: r92371
2004-12-18 20:07:54 -08:00
Richard Henderson
8b0b9aefd2
c-decl.c (grokdeclarator): Save variable array size before subtracting 1, rather than after.
...
* c-decl.c (grokdeclarator): Save variable array size before
subtracting 1, rather than after.
From-SVN: r92370
2004-12-18 19:51:36 -08:00
GCC Administrator
00a689881c
Daily bump.
...
From-SVN: r92368
2004-12-19 00:16:18 +00:00
Eric Botcazou
64270ab056
re PR middle-end/15486 (-fdata-sections moves common vars to .bss)
...
PR middle-end/15486
* varasm.c (asm_emit_uninitialised): Return early if
a custom section is requested.
(assemble_variable): Revert 2002-03-15 patch.
From-SVN: r92365
2004-12-18 21:49:55 +00:00
Zdenek Dvorak
36f5ada19a
re PR tree-optimization/18800 (ivopt missed)
...
PR tree-optimization/18800
* params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter.
* tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field.
(ALWAYS_PRUNE_CAND_SET_BOUND): New macro.
(iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field.
(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune):
New functions.
(iv_ca_extend): Return number of candidates in the set.
(try_add_cand_for): Add argument to iv_ca_extend calls.
(try_improve_iv_set): Use iv_ca_prune.
* doc/invoke.texi (iv-always-prune-cand-set-bound): Document.
From-SVN: r92363
2004-12-18 20:22:52 +00:00
Richard Henderson
f54ff90037
* stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr.
...
From-SVN: r92362
2004-12-18 12:19:37 -08:00
Zdenek Dvorak
6b9b7b4cf8
re PR rtl-optimization/19001 (Loops with power of two step and variable bounds not unrolled)
...
PR rtl-optimization/19001
* loop-iv.c (iv_number_of_iterations): Record assumptions for loops
with power of two step to 'infinite' field.
From-SVN: r92361
2004-12-18 20:14:24 +00:00
Roger Sayle
00f24ef794
Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h.
...
* Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h.
(tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h.
(tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h.
(tree-mudflap.o): Depend upon gt-tree-mudflap.h.
(expr.o): Depend upon gt-expr.h.
(regclass.o): Depend upon gt-regclass.h.
(bitmap.o): Depend upon gt-bitmap.h.
(lists.o): Depend upon gt-lists.h.
(cfgexpand.o): Don't depend upon gt-tree-cfg.h.
(GTFILES): Remove fold-const.c.
(gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h):
Remove rules.
From-SVN: r92360
2004-12-18 19:40:20 +00:00
Richard Henderson
3e527d38c3
stor-layout.c (layout_decl): Unshare size expressions copied from the type.
...
* stor-layout.c (layout_decl): Unshare size expressions copied
from the type.
From-SVN: r92359
2004-12-18 11:18:48 -08:00
Richard Henderson
2931700801
fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when BOTTOM is a power of two.
...
* fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when
BOTTOM is a power of two.
From-SVN: r92358
2004-12-18 11:03:49 -08:00
Richard Henderson
c529c27ef5
tree-nested.c (save_tmp_var): New.
...
* tree-nested.c (save_tmp_var): New.
(struct walk_stmt_info): Add is_lhs.
(walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of
val_only; set is_lhs.
(convert_nonlocal_reference): Use save_tmp_var when is_lhs;
clear is_lhs when appropriate.
(convert_local_reference): Likewise.
From-SVN: r92357
2004-12-18 10:59:04 -08:00
Richard Earnshaw
8cd0dbef04
ieee754-sf.S (floatdisf): Fix label definition in FPA compatibility code.
...
* arm/ieee754-sf.S (floatdisf): Fix label definition in FPA
compatibility code.
From-SVN: r92356
2004-12-18 18:45:35 +00:00
H.J. Lu
207db768e9
Makefile.in (top_builddir): Set to `.'.
...
2004-12-18 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (top_builddir): Set to `.'.
(OUTPUT_OPTION): Removed.
(LIBTOOL): New.
(LTLIBOBJS): New.
(EXTRA_LTOFILES): New.
(FLAGS_TO_PASS): Add EXTRA_LTOFILES.
(all): Remove stamp-picdir.
(LTCOMPILE): New.
(.c.lo): New rule.
(REQUIRED_LTOFILES): New.
(CONFIGURED_LTOFILES): New.
($(TARGETLIB)): Check .libs for PIC object files. Depend on
$(REQUIRED_LTOFILES) $(EXTRA_LTOFILES) $(LTLIBOBJS).
(stamp-picdir): Completely removed.
(maint-missing): Pass $(REQUIRED_LTOFILES)
$(CONFIGURED_LTOFILES) instead of (REQUIRED_OFILES)
$(CONFIGURED_OFILES)
(maint-buildall): Depend on $(REQUIRED_LTOFILES)
$(CONFIGURED_LTOFILES).
(mostlyclean): Also remove *.lo .libs.
Run "make maint-deps".
* aclocal.m4: Include ../libtool.m4.
* config.table: Don't check --enable-shared.
* configure.ac (AC_PROG_LIBTOOL): Add.
(AC_PROG_CC_C_O): Removed.
(OUTPUT_OPTION): Removed.
(NO_MINUS_C_MINUS_O): Removed.
(ltpexecute): New substitute.
(LIBOBJS): Cleanup.
* configure: Regenerated.
* maint-tool: Updated for .lo/libtool.
From-SVN: r92353
2004-12-18 08:43:38 -08:00
Roger Sayle
4fb735e4bf
ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p.
...
* ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p.
Take a max_cost argument to avoid scanning large blocks, by returning
a Boolean instead of a total. Include the cost of a "fstp %st(0)"
instruction required to pop dead values off of a register stack.
From-SVN: r92352
2004-12-18 15:26:32 +00:00
Roger Sayle
dbedefae43
re PR middle-end/18548 (Miscompiles code generated by Gambit-C Scheme->C compiler)
...
PR middle-end/18548
* expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
and op1 are all registers (or constants) before expanding the RTL
comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
* gcc.dg/max-1.c: New test case.
From-SVN: r92351
2004-12-18 14:38:44 +00:00
Eric Botcazou
9f70d2bc3a
re PR rtl-optimization/16968 (loop optimizer miscompilation)
...
PR rtl-optimization/16968
* loop.c (scan_loop): Stop scanning the loop for movable
insns as soon as an optimization barrier is encountered.
From-SVN: r92348
2004-12-18 07:55:42 +00:00
Zack Weinberg
bc6d19abb1
re PR middle-end/18897 (/usr/ccs/bin/ld: Unsatisfied symbols: putchar (first referenced in build/gengenrtl.o) (data))
...
PR 18897
* toplev.c (compile_file): Call process_pending_assemble_externals
just before targetm.asm_out.file_end.
From-SVN: r92347
2004-12-18 06:38:24 +00:00
GCC Administrator
a1d601461e
Daily bump.
...
From-SVN: r92343
2004-12-18 00:16:43 +00:00
Danny Smith
4e32e45407
MAINTAINERS: Move myself to OS Port Maintainers for windows, cygwin, mingw.
...
* MAINTAINERS: Move myself to OS Port Maintainers for windows,
cygwin, mingw.
From-SVN: r92340
2004-12-17 23:05:30 +00:00
Diego Novillo
759830388d
tree-optimize.c (init_tree_optimization_passes): Run pass_late_warn_uninitialized before the last DCE run.
...
tree-optimization/18501
* tree-optimize.c (init_tree_optimization_passes): Run
pass_late_warn_uninitialized before the last DCE run.
testsuite/ChangeLog:
* gcc.dg/pr18501.c: New test.
* gcc.dg/uninit-5.c: XFAIL.
* gcc.dg/uninit-9.c: XFAIL.
From-SVN: r92337
2004-12-17 17:20:33 -05:00
Richard Henderson
6c4ccfd8a1
i386.c (x86_64_reg_class_name): Re-indent.
...
* config/i386/i386.c (x86_64_reg_class_name): Re-indent.
(classify_argument, examine_argument, construct_container,
merge_classes): Remove prototypes.
(type_natural_mode): Split out from ...
(function_arg): ... here.
(gen_reg_or_parallel): Remove alt_mode argument. Update callers.
Use orig_mode unless it's BLKmode.
(construct_container): Add orig_mode argument. Update callers.
Use gen_reg_or_parallel for SSE registers.
(ix86_function_value): Use type_natural_mode.
(ix86_gimplify_va_arg): Likewise.
(ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in
SSE registers; always accept all MMX, 3DNOW modes in MMX registers.
* config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
VALID_MMX_REG_MODE.
* config/i386/i386.md (attribute mode): Add V1DF.
(movsi_1): Use 'x' instead of 'Y' constraints.
(movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise.
(movdi_1_rex64_nointerunit): Likewise.
(movdf_nointeger, movdf_integer): Likewise. Handle SSE1.
(movsf_1, movsf_1_nointerunit): Line up constraint alternatives.
(swapsf): Use fp_register_operand, don't disable for TARGET_SSE.
(swapdf): Likewise.
(swapxf): Enable only for TARGET_80387.
(movv2sf, movv2sf_internal, pushv2sf): Enable for MMX.
(movtf): Remove double-check for TARGET_64BIT.
(movv2df_internal): Enable for SSE1.
(movv8hi_internal, movv16qi_internal): Likewise.
(movv2df, movv8hi, movv16qi): Likewise.
(pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise.
(pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal,
movv8qi_internal, movv4hi_internal, movv2sf_internal,
movv2df_internal, movv8hi_internal, movv16qi_internal,
movti_internal): Add leading '*' to name.
From-SVN: r92336
2004-12-17 13:40:39 -08:00
Dale Johannesen
128691426d
c-decl.c (diagnose_mismatched_decls): Accept mismatched function types: void with previous implicit int.
...
2004-12-17 Dale Johannesen <dalej@apple.com>
* c-decl.c (diagnose_mismatched_decls): Accept mismatched
function types: void with previous implicit int.
From-SVN: r92329
2004-12-17 20:05:34 +00:00
Ziemowit Laski
5429f07f64
stabs-1.m: Allow assembly label to begin with a dot ('.').
...
[gcc/testsuite/ChangeLog]
2004-12-17 Ziemowit Laski <zlaski@apple.com>
* objc.dg/stabs-1.m: Allow assembly label to begin
with a dot ('.').
From-SVN: r92328
2004-12-17 19:32:51 +00:00
Steven Bosscher
6b6c8106ab
init.c (build_zero_init): max_index is the number of elements, minus 1.
...
* init.c (build_zero_init): max_index is the number of
elements, minus 1.
From-SVN: r92323
2004-12-17 17:10:49 +00:00
Jakub Jelinek
b9e1e14b5b
20041213-1.c: Move...
...
* gcc.c-torture/execute/20041213-1.c: Move...
* gcc.c-torture/execute/ieee/20041213-1.c: ...to here.
From-SVN: r92318
2004-12-17 17:05:57 +01:00
Nathan Sidwell
10856918e9
fix typoed PR number
...
From-SVN: r92317
2004-12-17 16:02:12 +00:00
Nathan Sidwell
b54a07e8d2
re PR c++/17821 (Poor diagnostic for using . instead of ->)
...
cp:
PR c++/17821
* class.c (add_method): Do not push conversion operators into a
binding level.
* cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE_TYPE): Reformat.
* error.c (dump_decl): <TYPE_DECL case> Remove extraneous braces.
testsuite:
PR c++/17821
* g++.dg/lookup/conv-5.C: New.
From-SVN: r92316
2004-12-17 15:58:04 +00:00
Andrew Haley
64d200483a
re PR libgcj/15001 ([3.4 only] Using JNI with interpreter and interface methods yields SIGSEGV)
...
2004-12-10 Andrew Haley <aph@redhat.com>
PR java/15001
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Look up
abstract methods by name.
From-SVN: r92315
2004-12-17 15:13:44 +00:00
Andrew Haley
cd5fcd3366
re PR java/18931 (Java bytecode ICE in except.c remove_unreachable_regions)
...
2004-12-17 Andrew Haley <aph@redhat.com>
PR java/18931
* typeck.c (convert): Use a CONVERT_EXPR when converting to
BOOLEAN_TYPE or CHAR_TYPE.
(convert_to_boolean, convert_to_char) : Remove.
* convert.h (convert_to_boolean, convert_to_char) : Remove.
* expr.c (expand_load_internal): Do type conversion if type is not
as required.
From-SVN: r92314
2004-12-17 15:09:11 +00:00
Andreas Krebbel
b9a490a0cb
s390.c (s390_gimplify_va_arg): Set alias set to s390_sr_alias_set.
...
2004-12-17 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_gimplify_va_arg): Set alias set to
s390_sr_alias_set.
From-SVN: r92313
2004-12-17 13:18:00 +00:00
Jan Beulich
499accd77b
re PR target/17603 (cpowf and cpowl give wrong results)
...
2004-12-17 Jan Beulich <jbeulich@novell.com>
PR target/17603
* config/i386/i386.c (enum x86_64_reg_class): Define
X86_64_COMPLEX_X87_CLASS.
(x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS.
(merge_classes): Handle X86_64_COMPLEX_X87_CLASS.
(classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS.
(examine_argument): X86_64_COMPLEX_X87_CLASS requires two
registers when dealing with a return value.
(construct_container): Handle X86_64_COMPLEX_X87_CLASS.
Eliminate impossible case of two X87/X87UP pairs (this now is
being expressed by a single COMPLEX_X87).
(x86_libcall_value): XCmode gets returned in st0/st1.
From-SVN: r92312
2004-12-17 08:53:58 +00:00
Steven Bosscher
a65735cde5
tree.c (type_contains_placeholder_1): Always return false for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
...
* tree.c (type_contains_placeholder_1): Always return false
for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
From-SVN: r92310
2004-12-17 08:17:01 +00:00
Uros Bizjak
2312581eff
* config/i386/i386.md (extendsfdf2, *extendsfdf2_1,
...
*extendsfdf2_1_sse_only): Unify enable constraint with
respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH
and TARGET_MIX_SSE_I387.
(*extendsfdf2_i387): New insn pattern.
(*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix
register constraint for operand 0.
(*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse.
(*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387.
From-SVN: r92308
2004-12-17 07:28:59 +01:00
Ziemowit Laski
3cc491e8f3
stabs-1.m: New test.
...
[gcc/testsuite/ChangeLog]
2004-12-16 Ziemowit Laski <zlaski@apple.com>
* objc.dg/stabs-1.m: New test.
From-SVN: r92302
2004-12-17 02:50:33 +00:00
Andrew Pinski
93a1c06dc0
visibility-c.c: Change compile to assemble for the test.
...
2004-12-16 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/visibility-c.c: Change compile to
assemble for the test.
From-SVN: r92293
2004-12-16 16:54:49 -08:00
Andrew Pinski
16515e5c19
re PR target/19041 (-fvisibility=hidden causes bad codegen for common symbols)
...
2004-12-16 Andrew Pinski <pinskia@physics.uc.edu>
PR target/19041
* config/darwin.c (machopic_symbol_defined_p): Return false
if the binds local and is a common symbol.
2004-12-16 Andrew Pinski <pinskia@physics.uc.edu>
PR target/19041
* gcc.dg/visibility-c.c: New test.
From-SVN: r92292
2004-12-16 16:25:16 -08:00
GCC Administrator
67ba1be668
Daily bump.
...
From-SVN: r92290
2004-12-17 00:16:22 +00:00
Richard Henderson
6e62a38d39
i386.md (extv, [...]): Revalidate the operand with ext_register_operand.
...
* config/i386/i386.md (extv, extzv, insv): Revalidate the
operand with ext_register_operand.
From-SVN: r92287
2004-12-16 15:18:03 -08:00
Kazu Hirata
443321ee89
* global.c: Fix a comment typo.
...
From-SVN: r92286
2004-12-16 21:57:49 +00:00
Joseph Myers
30541c404c
* de.po: Update.
...
From-SVN: r92283
2004-12-16 20:02:18 +00:00
Eric Botcazou
c15bc84b7b
re PR tree-optimization/18707 (Performance regression at -O2 with gzip)
...
PR tree-optimization/18707
* cfgloopmanip.c (create_preheader): Move the preheader
only if the latch was falling through to the header.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r92282
2004-12-16 20:01:25 +00:00
Danny Smith
59b1a766fb
re PR target/18997 (Segmentation Violation in pthread_getspecific)
...
gcc
PR target/18997
* config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0.
libstdc++-v3
PR target/18997
* config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
Define to 0 for __CYGWIN__.
From-SVN: r92281
2004-12-16 19:56:12 +00:00
Andrew Stubbs
669f01d83a
configure.in (sh64-*-*): Reenable gprof.
...
2004-12-16 Andrew Stubbs <andrew.stubbs@st.com>
* configure.in (sh64-*-*): Reenable gprof.
* configure: Regenerate.
From-SVN: r92280
2004-12-16 19:50:41 +00:00
Richard Henderson
b2b7ec86c2
simplify-rtx.c (simplify_replace_rtx): Do not blindly replace hard registers.
...
* simplify-rtx.c (simplify_replace_rtx): Do not blindly replace
hard registers.
[[Split portion of a mixed commit.]]
Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>
From-SVN: r92278.2
2004-12-16 19:19:04 +00:00
H.J. Lu
e3cb7e21bd
re PR other/18508 ("basename: too few arguments" when building without bootstrap)
...
2004-12-14 H.J. Lu <hongjiu.lu@intel.com>
PR other/18508
* config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
to back up the existing shared library.
* config/arm/t-netbsd (SHLIB_LINK): Likewise.
* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
* config/sh/t-linux (SHLIB_LINK): Likewise.
* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
* config/i386/t-nwld (SHLIB_LINK): Don't use the temporary
file.
From-SVN: r92276
2004-12-16 11:14:29 -08:00
Tobias Schlüter
4fdb5c7125
trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix comment typo.
...
* trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
comment typo.
From-SVN: r92274
2004-12-16 20:10:18 +01:00
Roger Sayle
f33bcdae77
re PR middle-end/18493 (gcc doesn't like switch blocks without case/default labels)
...
PR middle-end/18493
* gcc.dg/switch-8.c: New test case.
From-SVN: r92271
2004-12-16 17:52:02 +00:00
Richard Henderson
26be549aac
Makefile.in (MD_DEPS, s-mddeps): New.
...
* Makefile.in (MD_DEPS, s-mddeps): New.
(s-config, s-conditions, s-flags, s-codes, s-constants, s-emit,
s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output,
s-preds): Depend on MD_DEPS instead of md_file.
(genobjnames): Add genmddeps.o
(build/genmddeps, build/genmddeps.o): New.
(mostlyclean): Remove mddeps.mk.
* genmddeps.c: New file.
* gensupport.c (include_callback): New.
(process_include): Call it.
* gensupport.h (include_callback): Declare.
From-SVN: r92269
2004-12-16 09:31:58 -08:00