summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* * config/h8300/h8300-protos.h: Add a prototype forkazu2002-03-023-47/+162
| | | | | | | | | | | | | compute_a_shift_length. * config/h8300/h8300.c (h8300_asm_insn_count): New. (compute_a_shift_length): Likewise. (h8300_adjust_insn_length): Do not adjust insn length of shift insns. * config/h8300/h8300.md (anonymous shift patterns): Use compute_a_shift_length. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50227 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sparc/sparc.c (sparc_initialize_trampoline): Usekenner2002-03-021-28/+30
| | | | | | | trunc_int_for_mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50226 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn'tamodra2002-03-021-1/+1
| | | | | | | like more than one symbol per .weak directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50217 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_initial_elimination_offset): Do notrth2002-03-011-4/+3
| | | | | | | | adjust argument_pointer by pretend_args_size. (ia64_va_start): Adjust va_start address by -pretend_args_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50212 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.kazu2002-03-011-27/+31
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50207 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.dje2002-03-013-7/+4
| | | | | | | | * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define. * config/rs6000/xcoff.h (COLLET_EXPORT_LIST): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50200 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300-protos.h: Fix formatting.kazu2002-03-013-21/+21
| | | | | | | | * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50192 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.c (print_operand): Support 16-bitkazu2002-03-012-13/+40
| | | | | | | | constant addresses. * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50191 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/tm.texi (ASM_WEAKEN_DECL): Document.amodra2002-03-014-77/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL. (SUPPORTS_WEAK): Likewise. * output.h (add_weak): Add tree param. * varasm.c (add_weak): Likewise. Save decl. (struct weak_syms): Add decl field. (mark_weak_decls): New function. (init_varasm_once): ggc_add_root mark_weak_decls. (assemble_start_function): Use ASM_WEAKEN_DECL. (assemble_variable): Likewise. (assemble_alias): Likewise. (declare_weak): Pass decl to add_weak. (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl. (remove_from_pending_weak_list): Declare and define for ASM_WEAKEN_DECL. * c-pragma.c (handle_pragma_weak): Adjust add_weak call. * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too. * defaults.h (SUPPORTS_WEAK): Likewise. * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit .weak for code sym. Do emit .size for descriptor sym. (ASM_DECLARE_FUNCTION_SIZE): Define. * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define. (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output .lglobl unless TARGET_XCOFF. Formatting fixes. * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit .weak for code sym. (HANDLE_PRAGMA_WEAK): Remove. (ASM_WEAKEN_LABEL): Remove. * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50181 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-28 David O'Brien <obrien@FreeBSD.org>obrien2002-02-281-1/+1
| | | | | | | | | | | | | * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification of "ultrasparc". * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears to be broken. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20020228100723.A30279@redhat.com> git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50165 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers haverth2002-02-281-23/+30
| | | | | | | | 4 cycle latency from MM producers. (ia64_internal_sched_reorder): Likewise with pipeline flush. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50160 138bc75d-0d04-0410-961f-82ee72b054a4
* * haifa-sched.c (sched_emit_insn): New.rth2002-02-281-34/+12
| | | | | | | | | | | (schedule_block): Use last_scheduled_insn to track last insn. * sched-int.h (sched_emit_insn): Prototype. * config/ia64/ia64.c (last_issued): Remove. (ia64_variable_issue): Don't set it. (nop_cycles_until): Use sched_emit_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50153 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate signamacleod2002-02-281-4/+4
| | | | | | | extended constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50152 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.c: Fix formatting.kazu2002-02-282-8/+8
| | | | | | | * config/h8300/h8300.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50150 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29marekm2002-02-281-0/+7
| | | | | | | which may overwrite the high byte of the frame pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50138 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-28 Bo Thorsen <bo@suse.de>bo2002-02-281-3/+22
| | | | | | | | | * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation. (STARTFILE_SPEC): Add 64 bit files. (ENDFILE_SPEC): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50137 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.hubicka2002-02-281-1/+1
| | | | | | | | * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50128 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/s390/s390.c (s390_chunkify_pool): Do not confuseuweigand2002-02-271-6/+11
| | | | | | | insn UIDs with insn addresses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50112 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,zack2002-02-2726-200/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h, cppmacro.c, objc/lang-specs.h, objc/objc-act.c, builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c, gcc.c, toplev.c: Delete code implementing -traditional mode. * ada/misc.c, ch/ch-tree.h, ch/decl.c, cp/decl2.c, f/com.c, f/lex.c, f/top.c, java/builtins.c, java/decl.c: Delete traditional-mode-related code copied from the C front end but not used, or used only to permit the compiler to link. * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi, doc/invoke.texi, doc/standards.texi, doc/trouble.texi: Document removal of -traditional mode for compilation, and remove documentation only relevant to that mode. * config/nextstep.h, config/ptx4.h, config/svr4.h, config/convex/convex.h, config/d30v/d30v.h, config/i386/dgux.h, config/i386/osf1elf.h, config/i386/osfelf.h, config/i386/osfrose.h, config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h, config/m68k/hp310.h, config/m88k/dgux.h, config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c, config/m88k/m88k.h, config/m88k/openbsd.h, config/mips/abi64.h, config/mips/osfrose.h, config/mips/svr4-5.h, config/mips/svr4-t.h, config/sparc/sol2-sld-64.h, config/sparc/sol2.h, config/stormy16/stormy16.h: Remove all references to -traditional from target specs. Delete all mention of the no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also delete a couple of commented-out definitions of DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring to -traditional. * system.h: Poison TRADITIONAL_RETURN_FLOAT. * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro. * testsuite/gcc.c-torture/execute/920730-1t.c, testsuite/gcc.c-torture/execute/920730-1t.x, testsuite/gcc.dg/ext-glob.c: Delete test cases, only relevant to -traditional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50110 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):grahams2002-02-271-1/+1
| | | | | | | Constify NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50102 138bc75d-0d04-0410-961f-82ee72b054a4
* Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>hubicka2002-02-272-17/+0
| | | | | | | | * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove. * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50097 138bc75d-0d04-0410-961f-82ee72b054a4
* * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.hubicka2002-02-271-0/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50096 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-26 David Edelsohn <edelsohn@gnu.org>dje2002-02-274-20/+14
| | | | | | | | | | | | | | | | | * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete. * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete. * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient method on AIX. * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand. (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same. (load_toc_v4_PIC_2): Same. 2002-02-26 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50090 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.md (ashldi_se): Re-enable.rth2002-02-271-17/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50083 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.c (alpha_encode_section_info): Examinerth2002-02-271-1/+7
| | | | | | | MODULE_LOCAL_P; improve commentary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50082 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300-protos.h: Update the prototype forkazu2002-02-273-120/+80
| | | | | | | | | | | | | compute_logical_op_length. Add the prototype for compute_logical_op_cc. * config/h8300/h8300.c (compute_logical_op_length): Figure out code from operands. (compute_logical_op_cc): New. * config/h8300/h8300.md: Combine all the logical op patterns in HImode and SImode. Use compute_logical_op_cc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50078 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (print_operand): Don't append ATT-stylerth2002-02-271-2/+5
| | | | | | | length suffixs to x87 opcodes when in Intel mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50075 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa-linux.h (LIB_SPEC): Update definition.danglin2002-02-262-12/+4
| | | | | | | * pa32-linux.h (LINK_COMMAND_SPEC): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50071 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriersrth2002-02-261-0/+7
| | | | | | | if we emitted a stop bit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50065 138bc75d-0d04-0410-961f-82ee72b054a4
* * attribs.c (c_common_attribute_table): Add visibility.jakub2002-02-262-11/+17
| | | | | | | | | | | | | | | | | | | | | (handle_visibility_attribute): New function. * varasm.c (assemble_visibility): New function. * output.h (assemble_visibility): Add prototype. * tree.h (MODULE_LOCAL_P): Define. * crtstuff.c (__dso_handle): Use visibility attribute. * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for MODULE_LOCAL_P symbols too. * config/ia64/ia64.c (ia64_encode_section_info): Handle MODULE_LOCAL_P symbols the same way as local symbols. Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced into .sdata/.sbss by the user. * doc/extend.texi (Function Attributes): Document visibility attribute. * gcc.dg/ia64-visibility-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50061 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300-protos.h: Add a prototype forkazu2002-02-263-12/+137
| | | | | | | | | | compute_logical_op_length. * config/h8300/h8300.c (compute_logical_op_length): New. * config/h8300/h8300.md (anonymous logical patterns): Use compute_logical_op_length for length. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50055 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-26 Daniel Egger <degger@fhm.edu>aldyh2002-02-261-21/+22
| | | | | | | | | * config/rs6000/rs6000.md: Swap define_insn attributes to fix incorrect generation of merge high instructions instead of merge low. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50047 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-26 Aldy Hernandez <aldyh@redhat.com>aldyh2002-02-261-3/+3
| | | | | | | | * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo. ("*set_vrsave_internal"): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50045 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/5755jakub2002-02-251-3/+16
| | | | | | | | | | * config/i386/i386.c (ix86_return_pops_args): Only pop fake structure return argument if it was passed on the stack. * gcc.dg/20020224-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50028 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sparc/sparc.c (const64_high_operand): Zero-extendaoliva2002-02-253-23/+16
| | | | | | | | | | | | | | | | operands of SPARC_SETHI_P. (input_operand): Likewise. (sparc_emit_set_const32): Likewise. * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64. (SPARC_SETHI32_P): Zero-extend operand from 32 bits. (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI. * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'. (movdi_insn_sp64_vis): Likewise. (movdi split, movdf split): Use SETHI32. * doc/md.texi: Document SPARC constraints L, M and N. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50018 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-25 Aldy Hernandez <aldyh@redhat.com>aldyh2002-02-252-2/+24
| | | | | | | | | | | * config/rs6000/rs6000.md ("get_vrsave_internal"): New. ("*set_vrsave_internal"): use mfspr for Darwin. * config/rs6000/rs6000.c (rs6000_emit_prologue): Call gen_get_vrsave_internal. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50015 138bc75d-0d04-0410-961f-82ee72b054a4
* * optabs.c (widen_operand): Only call convert_modes forkenner2002-02-241-0/+20
| | | | | | | | promoted SUBREG if signedness matches. * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50004 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.c (output_simode_bld): Handle H8/300 andkazu2002-02-232-12/+25
| | | | | | | | | H8/300[HS] separately. * config/h8300/h8300.md: Remove the early clobber constraint from bit field patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49995 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/h8300/h8300.md (mulqihi3): Tighten predicates tokazu2002-02-231-4/+4
| | | | | | | | | | register_operand. (mulhisi3): Likewise. (umulqisi3): Likewise. (umulhisi3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49994 138bc75d-0d04-0410-961f-82ee72b054a4
* - Add missing mask_operand patch.dje2002-02-231-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49984 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-23 David Edelsohn <edelsohn@gnu.org>dje2002-02-232-19/+18
| | | | | | | | | | | | | | | | | | | | * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use gpc_reg_operand constraint. 2002-02-23 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (num_insns_constant): Fix formatting. Simplify comparison of `low'. (add_operand): Fix formatting. (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P. (rs6000_stack_info): Remove redundant test setting push_p. (output_toc): Fix formatting. * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use cc_reg_not_cr0_operand constraint. (booldi3, boolcdi3 splitters): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49983 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-23 Aldy Hernandez <aldyh@redhat.com>aldyh2002-02-231-397/+397
| | | | | | | * altivec.h: Add extra level of parentheses on casts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49982 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (store_expr): When converting expression to promotedkenner2002-02-222-52/+28
| | | | | | | | | | | | | equivalent type, allow using SUBREG_REG of TARGET as the target of the expansion of EXP. * loop.c (basic_induction_var, case SUBREG): Always look inside. * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl. (alpha_emit_set_const): Handle SImode when can't make new pseudos. (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos. * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49972 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/sparc/sol2.h: Don't include sys/mman.h.aoliva2002-02-224-33/+28
| | | | | | | | | | | | | | | | | | | | | | * config/sparc/sparc.c (arith_operand): Use SMALL_INT32. (arith_4096_operand): Don't throw high bits away. (const64_operand): Take sign extension of CONST_INTs into account. (const64_high_operand, sparc_emit_set_const32): Likewise. (GEN_HIGHINT64): Likewise. (sparc_emit_set_const64_quick1): Likewise. (const64_is_2insns): Likewise. (print_operand): Use trunc_int_for_mode for sign extension. * config/sparc/sparc.h (SMALL_INT32): Likewise. * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE chars. Assume CONST_INT is already properly sign-extended. (movdi split): Sign-extend each SImode part. (andsi3 split): Don't mask high bits off, so that result remains properly sign-extend. (iorsi3 split): Likewise. (xorsi3 split): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49970 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-21 Aldy Hernandez <aldyh@redhat.com>aldyh2002-02-221-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/attr-alwaysinline.c: New. * c-common.c (c_common_post_options): Set inline trees by default. * doc/extend.texi (Function Attributes): Document always_inline attribute. Update documentation about inlining when not optimizing. * cp/decl.c (duplicate_decls): Merge always_inline attribute. * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0 unless DECL_ALWAYS_INLINE. * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0 unless DECL_ALWAYS_INLINE. (c_disregard_inline_limits): Disregard if always_inline set. * langhooks.c (lhd_tree_inlining_disregard_inline_limits): Disregard if always_inline set. (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0 unless DECL_ALWAYS_INLINE. * attribs.c (handle_always_inline_attribute): New. (c_common_attribute_table): Add always_inline. * config/rs6000/altivec.h: Add prototypes for builtins requiring the always_inline attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49947 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (offset_address): Use simplify_gen_binary ratherrth2002-02-211-5/+9
| | | | | | | | | | | | | | | | | | | | than gen_rtx_PLUS to form the sum. * explow.c (force_reg): Rearrange to not allocate new pseudo when force_operand returns a register. * expr.c (expand_assignment): Allow offset_rtx expansion to return a sum. Do not force addresses into registers. (expand_expr): Likewise. * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus to canonicalize arithmetic that didn't simpify. (simplify_plus_minus): New argument force; update all callers. Don't split CONST unless we can do something with it, and wouldn't lose the constness of the operands. * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs that we generated earlier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49945 138bc75d-0d04-0410-961f-82ee72b054a4
* * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.amylaar2002-02-211-11/+27
| | | | | | | If input is constant, do shifts at compile time. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49942 138bc75d-0d04-0410-961f-82ee72b054a4
* PR optimization/4994jakub2002-02-211-10/+15
| | | | | | | | | | * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX register moves. * g++.dg/opt/mmx1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49939 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/4574jakub2002-02-214-31/+26
| | | | | | | | | | | | | | | | | | | * expr.h (expand_and): Add mode argument. * expmed.c (expand_and): Add mode argument. (expand_mult_highpart_adjust, emit_store_flag): Adjust callers. * expr.c (store_field, expand_expr, do_store_flag): Likewise. * except.c (expand_builtin_extract_return_addr): Likewise. * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise. * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise. * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise. Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x). * config/c4x/c4x.md: Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x). * gcc.dg/20020220-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49938 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/avr/avr.md: Add more patterns for mized-mode add and subtractdenisc2002-02-211-0/+37
| | | | | | | (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49936 138bc75d-0d04-0410-961f-82ee72b054a4