summaryrefslogtreecommitdiff
path: root/gcc/tree.def
Commit message (Collapse)AuthorAgeFilesLines
* * tree.def: Fix typos.kazu2002-05-251-2/+2
| | | | | | | * doc/install.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53875 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (c_tree_code_type, c_tree_code_length,ghazi2002-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c_tree_code_name, add_c_tree_codes): Delete. * c-common.h (add_c_tree_codes): Delete. * c-lang.c (tree_code_type, tree_code_length, tree_code_name): Define. * c-objc-common.c (c_objc_common_init): Don't call add_c_tree_codes, instead set lang_unsafe_for_reeval. * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length, objc_tree_code_name, add_objc_tree_codes): Delete. (objc_init): Don't call add_objc_tree_codes. * objc/objc-lang.c (tree_code_type, tree_code_length, tree_code_name): Define. * toplev.c (lang_independent_init): Don't set tree_code_length[IDENTIFIER_NODE]. * tree.c (tree_code_type, tree_code_length, tree_code_name): Delete definitions, moved to language front-ends. * tree.def (IDENTIFIER_NODE): Hardwire the length. * tree.h (tree_code_type, tree_code_length, tree_code_name): Const-ify. (tree_code_length): Change type to unsigned char. ada: * misc.c (gnat_tree_code_type, gnat_tree_code_length, gnat_tree_code_name): Delete. (tree_code_type, tree_code_length, tree_code_name): Define. (gnat_init): Don't try to copy into the various tree_code arrays. ch: * decl.c (chill_tree_code_type, chill_tree_code_length, chill_tree_code_name): Delete. (tree_code_type, tree_code_length, tree_code_name): Define. (init_decl_processing): Don't try to copy into the various tree_code arrays. cp: * cp-lang.c (tree_code_type, tree_code_length, tree_code_name): Define. * decl.c (duplicate_decls): Use TREE_CODE_LENGTH, not tree_code_length. * lex.c (cplus_tree_code_type, cplus_tree_code_length, cplus_tree_code_name): Delete. (cxx_init): Don't call add_c_tree_codes, instead set lang_unsafe_for_reeval. Don't try to copy into the various tree_code arrays. f: * com.c (tree_code_type, tree_code_length, tree_code_name): Define. java: * lang.c (java_tree_code_type, java_tree_code_length, tree_code_name): Delete. (tree_code_type, tree_code_length, tree_code_name): Define. (java_init): Don't try to copy into the various tree_code arrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50705 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-02-19 Aldy Hernandez <aldyh@redhat.com>aldyh2002-02-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector. ("mmx_uavgv4hi3"): Same. ("pmulhrwv4hi3"): Same. * tree-inline.c (walk_tree): Handle vectors. * c-common.c (constant_expression_warning): Handle vectors. (overflow_warning): Same. * sched-deps.c (sched_analyze_2): Handle vectors. * rtlanal.c (rtx_unstable_p): Handle vectors. (rtx_varies_p): Same. (count_occurrences): Same. (regs_set_between_p): Same. (modified_between_p): Same. (modified_in_p): Same. (volatile_insn_p): Same. (volatile_refs_p): Same. (side_effects_p): Same. (may_trap_p): Same. (inequality_comparisons_p): Same. (replace_regs): Same. (computed_jump_p_1): Same. * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th argument. (inner_mode_array): New. (copy_rtx): Handle vectors. (copy_most_rtx): Same. (rtx_equal_p): Same. (get_mode_alignment): Adjust for vectors. * resource.c (mark_referenced_resources): Handle vectors. (mark_set_resources): Same. * reload1.c (eliminate_regs): Handle vectors. (elimination_effects): Same. (scan_paradoxical_subregs): Same. * reload.c (subst_reg_equivs): Handle vectors. * regrename.c (scan_rtx): Handle vectors. * regclass.c (reg_scan_mark_refs): Handle vectors. * recog.c (find_single_use_1): Handle vectors. * local-alloc.c (equiv_init_varies_p): Handle vectors. (contains_replace_regs): Same. (memref_referenced_p): Same. * integrate.c (copy_rtx_and_substitute): Handle vectors. (subst_constants): Same. * genattrtab.c (attr_copy_rtx): Handle vectors. (encode_units_mask): Same. (clear_struct_flag): Same. (count_sub_rtxs): Same. * gcse.c (want_to_gcse_p): Handle vectors. (oprs_unchanged_p): Same. (hash_expr_1): Same. (oprs_not_set_p): Same. (expr_killed_p): Same. (compute_transp): Same. (store_ops_ok): Same. * function.c (purge_addressof_1): Do not allow paradoxical subregs of vectors. (fixup_var_refs_1): Same. (instantiate_virtual_regs_1): Same. * fold-const.c (operand_equal_p): Handle vectors. (fold): Same. (rtl_expr_nonnegative_p): Same. * flow.c (mark_used_regs): Handle vectors. * df.c (df_uses_record): Handle vectors. * cselib.c (cselib_subst_to_values): Handle vectors. (cselib_mem_conflict_p): Same. (hash_rtx): Same. * cse.c (canon_reg): Handle vectors. (fold_rt): Same. (cse_process_notes): Same. (count_reg_usage): Same. (canon_hash): Same. * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR. * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR. * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors. (gen_rtx): Handle CONST_VECTOR. (gen_const_vector_0): New. (copy_rtx_if_shared): CONST_VECTORs can be shared. (reset_used_flags): Same. (copy_insn_1): Same. (initializer_constant_valid_p): Handle VECTOR_CST. * doc/c-tree.texi (Expression trees): Document VECTOR_CST. * doc/rtl.texi (Constants): Document const_vector. (CONST0_RTX): Update for vectors. (RTL sharing): Same. * print-tree.c (print_node): Add case for VECTOR_CST. * tree.h (TREE_VECTOR_CST_ELTS): New. (struct tree_vector): New. (union tree_node): Add vector node. (build_vector): Add prototype. * tree.def (VECTOR_CST): New. * tree.c (build_vector): New. * expmed.c (make_tree): Handle CONST_VECTOR. * rtl.h (CONSTANT_P): CONST_VECTORs are constants too. (CONST_VECTOR_ELT): New. (CONST_VECTOR_NUNITS): New. * machmode.h (GET_MODE_INNER): New. (DEF_MACHMODE): Accept 8th arg. * machmode.def: Add 8th argument for vector inner mode. Add inner vector modes for vectors. * rtl.def (VEC_CONST): Remove. (CONST_VECTOR): New. * expr.c (clear_storage): Allow vectors. (is_zeros_p): Handle VECTOR_CST. * varasm.c (output_constant_pool): Handle vectors. (rtx_const): Add veclo and vechi fields. (kind): Add RTX_VECTOR. (decode_rtx_const): Add case for vector. * config/rs6000/rs6000-protos.h: Add zero_constant. * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector constants. Force easy vector constants into memory. (easy_vector_constant): New. (emit_easy_vector_constant): New. (rs6000_legitimize_reload_address): Do not generate bad reloads on darwin. * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what instruction does. ("altivec_lvxl"): Same. (altivec_lvebx): Same. (altivec_lvehx): Same. (altivec_lvewx): Same. ("*movv4si_const0"): New. ("*movv4sf_const0"): New. ("*movv8hi_const0"): New. ("*movv16qi_const0"): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49853 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightlykenner2001-11-211-1/+6
| | | | | | | | and also support TREE_ADDRESSABLE. * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47249 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (VIEW_CONVERT_EXPR): New tree code.kenner2001-11-191-0/+7
| | | | | | | | | | | | | | | | | | | | | * tree.h (handled_component_p): New declaration. * alias.c (handled_component_p): Move function from here ... * expr.c (handled_component_p): ... to here and non longer static. (is_zeros_p, case VIEW_CONVERT_EXPR): New case. (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call. (get_inner_reference): Handle VIEW_CONVERT_EXPR. (expand_expr, case VAR_DECL): Clean up handling of re-layout case. (expand_expr, case VIEW_CONVERT_EXPR): New case. (expand_expr, cse ADDR_EXPR): No need to copy if already BIGGEST_ALIGNMENT. * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case. * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New. (output_constant): Handle VIEW_CONVERT_EXPR. * dwarf2out.c (loc-descriptor_from_tree, add_bound_info): Add new case for VIEW_CONVERT_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47179 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.h (REG_VTABLE_REF): New.rth2001-10-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | * rtl.c (reg_note_name): Add it. * combine.c (distribute_notes): Handle it. * final.c (final_scan_insn): Handle it. * tree.def (VTABLE_REF): New. * expr.c (expand_expr): Handle it. * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New. * output.h: Declare them. cp/ * class.c (build_vtable_entry_ref): Create a VTABLE_REF instead of an asm statement. (build_vtbl_ref_1): Split out from build_vtbl_ref. (build_vfn_ref): Use it to handle vtable descriptors before calling build_vtable_entry_ref. * decl2.c (output_vtable_inherit): Use assemble_vtable_inherit. testsuite/ * g++.old-deja/g++.other/crash18.C: Add -S to options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46195 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rth2001-09-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.def (FDESC_EXPR): New. * expr.c (expand_expr): Handle it. * varasm.c (initializer_constant_valid_p): Likewise. (output_constant): Likewise. * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New. * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New. (ASM_OUTPUT_FDESC): New. * doc/tm.texi: Document the new macros. gcc/cp/ * class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS. (build_vtbl_initializer): Likewise. (build_vfn_ref): New. * cp-tree.h: Declare it. * call.c (build_over_call): Use it. * decl2.c (mark_vtable_entries): Mark FDESC_EXPR. * typeck.c (get_member_function_from_ptrfunc): Mind descriptors. gcc/java/ * class.c (get_dispatch_table): Handle function descriptors. (build_dtable_decl): Likewise. * expr.c (build_invokevirtual): Likewise. gcc/testsuite/ * g++.old-deja/g++.abi/ptrmem.C: Update for ia64 c++ abi. * g++.old-deja/g++.abi/vtable2.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45733 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-09-06 Ira Ruben <ira@apple.com>shebs2001-09-061-5/+0
| | | | | | | | | | | | | | Remove OP_IDENTIFIER. * tree.def (OP_IDENTIFIER): Remove. * tree.c (tree_node_kind enum): Remove op_id_kind. (tree_node_kind_names): Remove "op_identifiers". (make_node): Remove OP_IDENTIFIER test. (build_op_identifier): Removed because it isn't being used. * print-tree.c (print_node): Remove OP_IDENTIFIER case. * cp/pt.c (tsubst): Remove OP_IDENTIFIER case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45457 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,gerald2001-08-221-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitmap.h, builtin-types.def, builtins.c, builtins.def, c-aux-info.c, c-common.c, c-common.def, c-common.h, c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, caller-save.c, calls.c, collect2.c, collect2.h, combine.c, conditions.h, config.gcc, configure.frag, configure.in, conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, emit-rtl.c, errors.c, errors.h, except.c, except.h, exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, fixproto, flags.h, flow.c, fold-const.c, fp-test.c, function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, gencheck.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, gengenrtl.c, genmultilib, genopinit.c, genoutput.c, genpeep.c, genrecog.c, gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, mkmap-symver.awk, optabs.c, output.h, params.c, params.def, params.h, predict.c, predict.def, predict.h, prefix.c, prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, regclass.c, regmove.c, regrename.c, regs.h, reload.c, reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, stringpool.c, system.h, timevar.c, timevar.def, timevar.h, tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, xcoffout.h: replace "GNU CC" with "GCC". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45105 138bc75d-0d04-0410-961f-82ee72b054a4
* *** empty log message ***apbianco2001-08-011-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44528 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>toon2001-07-191-1/+3
| | | | | | | | | * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument. * doc/tree.texi: Ditto. * f/com.c (ffecom_expr_intrinsic_): Cope with it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44156 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (EXPON_EXPR) remove. Never supported anyway.rth2001-07-151-4/+0
| | | | | | | | | | * f/com.c (ffecom_overlap_): Remove references to EXPON_EXPR. (ffecom_tree_canonize_ref_): Likewise. * java/check-init.c (check_init): Remove references to EXPON_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44011 138bc75d-0d04-0410-961f-82ee72b054a4
* Update comments for ARRAY_RANGE_REFkenner2001-06-051-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42901 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (ARRAY_RANGE_REF): New code.kenner2001-06-041-2/+8
| | | | | | | | | | | | | | * alias.c (handled_component_p, can_address_p): Handle it. * dwarf2out.c (loc_descriptor_from_tree): Likewise. * explow.c (set_mem_attributes): Likewise. * expr.c (expand_assignment, get_inner_reference): Likewise. (expand_expr, expand_expr_unaligned, do_jump): Likewise. * fold-const.c (operand_equal_p): Likewise. * tree.c (staticp, stabilize_reference): Likewise. * varasm.c (decode_addr_const): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42848 138bc75d-0d04-0410-961f-82ee72b054a4
* IA-64 ABI Exception Handling.rth2001-03-281-11/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40924 138bc75d-0d04-0410-961f-82ee72b054a4
* * cse.c (find_comparison_args): Update documentation. Fixmmitchel2001-03-191-0/+6
| | | | | | | | | | mishandling of COMPARE operations. * tree.def (ABS_EXPR): Add documentation. * fold-const.c (fold): Improve folding of ABS_EXPRs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40630 138bc75d-0d04-0410-961f-82ee72b054a4
* * fold-const.c (fold_binary_op_with_conditional_arg): Newmmitchel2001-02-181-2/+4
| | | | | | | | | | function, split out from ... (fold): ... here. * tree.def (COND_EXPR): Document the use of VOID_TYPE for conditional arms that throw exceptions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39822 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyrightmmitchel2001-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38632 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (TRUTH_NOT_EXPR): Improve documentation.mmitchel2001-01-021-5/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38631 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (do_preexpand_calls): Remove.mmitchel2000-10-231-4/+2
| | | | | | | | | | | | | | | (same_from_p): Don't use CALL_EXPR_RTL. (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL. (preexpand_calls): Remove. * tree.c (first_rtl_op): Remove CALL_EXPR case. (unsave_expr_1): Likewise. * tree.def (CALL_EXPR): Give it only two slots. * tree.h (CALL_EXPR_RTL): Remove. * optimize.c (copy_body_r): Don't treat CALL_EXPRs specially. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37012 138bc75d-0d04-0410-961f-82ee72b054a4
* Vector conversions supportcrux2000-06-241-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34680 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT):nathan2000-04-101-2/+2
| | | | | | | | Recomment. * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33060 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.c (free_temps_for_rtl_expr): Don't free slotsmmitchel2000-03-061-5/+4
| | | | | | | | | | that have been pushed into a higher level. * expr.c (cplus_expand_expr, case STMT_EXPR): Don't set RTL_EXPR_HAS_NO_SCOPE after all. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32355 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (RTL_EXPR): Update documentation.mmitchel2000-03-051-4/+8
| | | | | | | | | | | * tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro. * expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE. * function.c (preserve_rtl_expr_temp): New function. (preserve_rtl_expr_temps): Likewise. (preserve_rtl_expr_result): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32344 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (remove_unncessary_notes): Remove notes for emptymmitchel2000-02-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | blocks. * final.c (next_block_index): Remove. (max_block_depth): Likewise. (pending_blocks): Likewise. (init_final): Don't initialize them. (final_start_function): Don't set next_block_index. Set up BLOCK_NUMBER. (final_scan_insn): Use BLOCK_NUMBER, not next_block_index. * function.h (number_blocks): New function. * function.c (get_block_vector): New function. (identify_blocks): Use it. (reorder_blocks): Set NOTE_BLOCK. (number_blocks): New function. * tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag. * tree.h (BLOCK_NUMBER): New macro. (tree_block): Add block_num field. * dbxout.c (next_block_number): Remove. (dbxout_init): Don't set it. (dbxout_block): Only output blocks that have TREE_ASM_WRITTEN set. Use BLOCK_NUMBER, rather than next_block_num, to determine block numbers. * toplev.c (rest_of_compilation): Always call find_loop_tree_blocks. Fix indentation. * dwarf2out.c (next_block_number): Remove. (gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, to determine block numbers. (gen_inlined_subroutine_die): Likewise. (gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set. (decls_for_scope): Don't increment next_block_number. * dwarfout.c (next_block_number): Remove. (output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, to determine block numbers. (output_inlined_subroutine_die): Likewise. (output_block): Only output blocks that have TREE_ASM_WRITTEN set. (output_decls_for_scope): Don't increment next_block_number. * sdbout.c (next_block_number): Remove. (sdbout_block): Use BLOCK_NUMBER. (sdbout_begin_block): Simplify. * xcoffout.c (next_block_number): Remove. (xcoffout_block): Use BLOCK_NUMBER, not next_block_number. (xcoffout_begin_block): Don't set next_block_number. (xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not next_block_number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32228 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (UNNE_EXPR): Remove.rth2000-01-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | * c-typeck.c (build_binary_op): Don't handle it. * expr.c (expand_expr, do_jump, do_store_flag): Likewise. * cp/typeck.c (build_binary_op_nodefault): Likewise. * rtl.def (UNNE): Remove. (LTGT): Add. * jump.c (reverse_condition): Update accordingly. (swap_condition): Likewise. (comparison_dominates_p): Handle unordered comparisons. (reverse_condition_maybe_unordered): New. * rtl.h (reverse_condition_maybe_unordered): Declare. * sparc.c (select_cc_mode): Update for UNNE/LTGT. (output_cbranch): Use reverse_condition_maybe_unordered and LTGT. * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs. * sparc.md (bltgt): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31624 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.def: Add unordered fp comparisions.rth2000-01-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.def: Likewise. * tree.h: Add ISO C 9x unordered fp comparision builtins. * builtins.c (expand_tree_builtin): New function. * c-typeck.c (build_function_call): Use it. (build_binary_op): Support unordered compares. * c-common.c (c_common_nodes_and_builtins): Add unordered compares. * combine.c (known_cond): Handle reverse_condition returning UNKNOWN. (reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed. * cse.c (fold_rtx): Check FLOAT_MODE_P before reversing. (record_jump_equiv): Handle reverse_condition returning UNKNOWN. * jump.c (reverse_condition): Don't abort for UNLE etc, but return UNKNOWN. (swap_condition): Handle unordered compares. (thread_jumps): Check can_reverse before reversing. * loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be reversed for FP. * optabs.c (can_compare_p): New argument CODE. Verify branch or setcc is present before acking for cmp_optab. Update all callers. (prepare_float_lib_cmp, init_optabs): Handle UNORDERED. * expmed.c (do_cmp_and_jump): Update for can_compare_p. * expr.c (expand_expr): Likewise. Support unordered compares. (do_jump, do_store_flag): Likewise. * expr.h (enum libfunc_index): Add unordered compares. * Makefile.in (FPBIT_FUNCS): Add _unord_sf. (DPBIT_FUNCS): Add _unord_df. * config/fp-bit.c (_unord_f2): New. * fp-test.c (main): Try unordered compare builtins. * alpha-protos.h (alpha_fp_comparison_operator): Declare. * alpha.c (alpha_comparison_operator): Check mode properly. (alpha_swapped_comparison_operator): Likewise. (signed_comparison_operator): Likewise. (alpha_fp_comparison_operator): New. (alpha_emit_conditional_branch): Handle unordered compares. * alpha.h (PREDICATE_CODES): Update. * alpha.md (fp compares): Use alpha_fp_comparison_operator. (bunordered, bordered): New. * cp/call.c (build_over_call): Use expand_tree_builtin. * cp/typeck.c (build_function_call_real): Likewise. (build_binary_op_nodefault): Handle unordered compares. * gcc.c-torture/execute/ieee/fp-cmp-4.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31591 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Dec 10 16:12:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco1999-12-121-2/+4
| | | | | | | | * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third operand, for use in the Java front-end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30877 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.mmitchel1999-12-051-1/+1
| | | | | | | | | | | | * tree.h (EXPR_WFL_FILENAME): Define in terms of EXPR_WFL_FILENAME_NODE. (EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than the TREE_CHAIN. * print-tree.c (print_note): Print TREE_PRIVATE and TREE_PROTECTED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30783 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (PLACEHOLDER_EXPR): Update comments.law1999-10-281-30/+39
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30241 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c (expand_builtin_saveregs): Remove static, remove exprth1999-07-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS. (expand_builtin_next_arg): Accept ARGLIST not EXP. (stabilize_va_list): New function. (std_expand_builtin_va_start): New function. (expand_builtin_va_start): New function. (get_varargs_alias_set): New function. (std_expand_builtin_va_arg): New function. (expand_builtin_va_arg): New function. (expand_builtin_va_end): New function. (expand_builtin_va_copy): New function. (expand_builtin): Call them. * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list, __builtin_{varargs_start,stdarg_start,end,copy}. (build_va_arg): New function. * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete. (build_va_arg): Declare. * c-decl.c (ptr_type_node, va_list_type_node): New. * c-parse.gperf (__builtin_va_arg): New. * c-parse.in (VA_ARG): New token. (unary_expr): Recognize it. * expr.c (expand_expr): Expand VA_ARG_EXPR. * expr.h (std_expand_builtin_va_start): Declare. (std_expand_builtin_va_arg): Declare. (expand_builtin_va_arg): Declare. (get_varargs_alias_set): Declare. * tree.def (VA_ARG_EXPR): New. * tree.h (BUILT_IN_VARARGS_START): New. (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New. (ptr_type_node, va_list_type_node): Declare. * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument. * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise. * m88k.h, m88k.c: Likewise. * mn10300.h, mn10300.c: Likewise. * pa.h, pa.c: Likewise. * rs6000.h, rs6000.c: Likewise. * sh.h, sh.c: Likewise. * sparc.h, sparc.c: Likewise. * emit-rtl.c (operand_subword): Copy alias set. (change_address): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28243 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to matchmmitchel1999-05-171-2/+8
| | | | | | | | | reality. * expr.c (init_noncopied_parts): Don't generate initializers for parts that don't need them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26969 138bc75d-0d04-0410-961f-82ee72b054a4
* fix typo in commentburley1999-04-191-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26551 138bc75d-0d04-0410-961f-82ee72b054a4
* fix typo in tree.defburley1999-04-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26153 138bc75d-0d04-0410-961f-82ee72b054a4
* `bothner1999-02-191-0/+21
| | | | | | | | * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes, * expr.c (expand_expr): Support new tree nodes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25307 138bc75d-0d04-0410-961f-82ee72b054a4
* More copyright fixes. Oh what fun.law1999-01-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24536 138bc75d-0d04-0410-961f-82ee72b054a4
* 8bothner1998-10-051-1/+1
| | | | | | | | | * tree.def (GOTO_EXPR): Modified documentation. * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed goto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22859 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1998-09-221-0/+6
| | | | | | | * tree.def (SWITCH_EXPR): New tree node definition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22552 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def (DECL_RESULT): Correct documentation.wilson1998-08-241-5/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21954 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1998-08-211-0/+10
| | | | | | | | | | | | * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes. * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New macros. * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and EXIT_BLOCK_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21896 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1998-08-111-2/+1
| | | | | | | Fix incorrect comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21676 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1998-07-221-5/+6
| | | | | | | | | | * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression so WFL are expanded correctly when contained in a COMPOUND_EXPR. * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use lang_flag_0. Added documentation in the flag table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21338 138bc75d-0d04-0410-961f-82ee72b054a4
* typo typo fixes fixeslaw1998-05-061-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19601 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.def: Add NAMESPACE_DECL.jason1998-05-051-0/+4
| | | | | | | | | | | | | * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now. * dwarf2out.c (push_decl_scope): Likewise. (scope_die_for): Likewise. * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine how to get next context level. * cp-tree.def: Remove NAMESPACE_DECL. * cp/Makefile.in: Add .SUFFIXES. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19539 138bc75d-0d04-0410-961f-82ee72b054a4
* dbothner1998-04-081-0/+5
| | | | | | | | | | | | | | | | | Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition. * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO, COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros. (build_expr_wfl): New prototype declaration. * tree.c (build_expr_wfl): New function, to build EXPR_WITH_FILE_LOCATION nodes. (copy_node): Don't zero TREE_CHAIN if copying a EXPR_WITH_FILE_LOCATION node. * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION. * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19049 138bc75d-0d04-0410-961f-82ee72b054a4
* Finish last change. I'm no emacs wizard :(law1997-12-121-17/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17069 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.c, tree.h: Change tree_code_type, tree_code_length, andlaw1997-12-121-123/+123
| | | | | | | | | | | | | | | tree_code_name from pointers to arrays. * tree.c: Remove standard_tree_code_* variables, no longer used. * print-tree.c: Remove declaration of tree_code_name. * cp/lex.c (init_lex): Update for tree_code_* changes. * objc/objc-act.c (init_objc): Likewise. * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17061 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from gcc-2.8law1997-12-071-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16987 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typo.law1997-11-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16649 138bc75d-0d04-0410-961f-82ee72b054a4
* Add setjmp/longjmp exception handling.mrs1997-04-231-1/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13968 138bc75d-0d04-0410-961f-82ee72b054a4