summaryrefslogtreecommitdiff
path: root/gcc/tree.def
Commit message (Collapse)AuthorAgeFilesLines
* expr.c (do_preexpand_calls): Remove.Mark Mitchell2000-10-231-4/+2
| | | | | | | | | | | | | | | * expr.c (do_preexpand_calls): Remove. (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. From-SVN: r37012
* Vector conversions supportBernd Schmidt2000-06-241-0/+4
| | | | From-SVN: r34680
* rtl.def (ASHIFT, [...]): Recomment.Nathan Sidwell2000-04-101-2/+2
| | | | | | | | * rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT): Recomment. * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment. From-SVN: r33060
* function.c (free_temps_for_rtl_expr): Don't free slots that have been pushed ↵Mark Mitchell2000-03-061-5/+4
| | | | | | | | | | | | into a higher level. * function.c (free_temps_for_rtl_expr): Don't free slots 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. From-SVN: r32355
* tree.def (RTL_EXPR): Update documentation.Mark Mitchell2000-03-051-4/+8
| | | | | | | | | | | * tree.def (RTL_EXPR): Update documentation. * 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. From-SVN: r32344
* emit-rtl.c (remove_unncessary_notes): Remove notes for empty blocks.Mark Mitchell2000-02-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emit-rtl.c (remove_unncessary_notes): Remove notes for empty 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. From-SVN: r32228
* tree.def (UNNE_EXPR): Remove.Richard Henderson2000-01-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | * tree.def (UNNE_EXPR): Remove. * 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. From-SVN: r31624
* rtl.def: Add unordered fp comparisions.Richard Henderson2000-01-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rtl.def: Add unordered fp comparisions. * 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. From-SVN: r31591
* tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third operand, for use ↵Alexandre Petit-Bianco1999-12-121-2/+4
| | | | | | | | | | | in the Java front-end. Fri Dec 10 16:12:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third operand, for use in the Java front-end. From-SVN: r30877
* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.Mark Mitchell1999-12-051-1/+1
| | | | | | | | | | | | * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting. * 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. From-SVN: r30783
* * tree.def (PLACEHOLDER_EXPR): Update comments.Peter Gerwinski1999-10-281-30/+39
| | | | From-SVN: r30241
* builtins.c (expand_builtin_saveregs): Remove static, remove exp and ignore ↵Richard Henderson1999-07-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arguments, bail if no EXPAND_BUILTIN_SAVEREGS. * builtins.c (expand_builtin_saveregs): Remove static, remove exp 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. From-SVN: r28243
* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match reality.Mark Mitchell1999-05-171-2/+8
| | | | | | | | | * tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match reality. * expr.c (init_noncopied_parts): Don't generate initializers for parts that don't need them. From-SVN: r26969
* fix typo in commentCraig Burley1999-04-191-1/+1
| | | | From-SVN: r26551
* fix typo in tree.defCraig Burley1999-04-031-1/+1
| | | | From-SVN: r26153
* tree.def (TRY_FINALLY_EXPR, [...]): New tree nodes,Per Bothner1999-02-191-0/+21
| | | | | | | | ` * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes, * expr.c (expand_expr): Support new tree nodes. From-SVN: r25307
* More copyright fixes. Oh what fun.Jeff Law1999-01-061-1/+1
| | | | From-SVN: r24536
* tree.def (GOTO_EXPR): Modified documentation.Alexandre Petit-Bianco1998-10-051-1/+1
| | | | | | | | | 8 * tree.def (GOTO_EXPR): Modified documentation. * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed goto. From-SVN: r22859
* tree.def (SWITCH_EXPR): New tree node definition.Alexandre Petit-Bianco1998-09-221-0/+6
| | | | | | | � * tree.def (SWITCH_EXPR): New tree node definition. From-SVN: r22552
* * tree.def (DECL_RESULT): Correct documentation.Jim Wilson1998-08-241-5/+4
| | | | From-SVN: r21954
* tree.def (LABELED_BLOCK_EXPR, [...]): New tree nodes.Alexandre Petit-Bianco1998-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. From-SVN: r21896
* Per Bothner1998-08-111-2/+1
| | | | | | Fix incorrect comment. From-SVN: r21676
* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression so WFL are ↵Alexandre Petit-Bianco1998-07-221-5/+6
| | | | | | | | | | | | expanded correctly when... � * 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. From-SVN: r21338
* typo typo fixes fixesJeff Law1998-05-061-2/+2
| | | | From-SVN: r19601
* tree.def: Add NAMESPACE_DECL.Jason Merrill1998-05-041-0/+4
| | | | | | | | | | | | | * tree.def: Add NAMESPACE_DECL. * 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. From-SVN: r19539
* tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.Alexandre Petit-Bianco1998-04-081-0/+5
| | | | | | | | | | | | | | | | | d 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. From-SVN: r19049
* Finish last change. I'm no emacs wizard :(Jeff Law1997-12-121-17/+17
| | | | From-SVN: r17069
* tree.c, tree.h: Change tree_code_type, tree_code_length, and tree_code_name ↵John F. Carr1997-12-111-123/+123
| | | | | | | | | | | | | | | | | from pointers to arrays. * tree.c, tree.h: Change tree_code_type, tree_code_length, and 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. From-SVN: r17061
* Merge from gcc-2.8Jeff Law1997-12-061-2/+2
| | | | From-SVN: r16987
* Fix typo.Jeff Law1997-11-211-1/+1
| | | | From-SVN: r16649
* Add setjmp/longjmp exception handling.Mike Stump1997-04-231-1/+22
| | | | From-SVN: r13968
* xJason Merrill1996-11-091-4/+6
| | | | From-SVN: r13116
* ([LR]SHIFT_EXPR): Remove `a' from printed names.Richard Kenner1996-06-031-2/+2
| | | | From-SVN: r12144
* tree.def (OFFSET_REF): Remove.Mike Stump1996-05-311-6/+0
| | | | | | | | | * tree.def (OFFSET_REF): Remove. * expr.c (expand_expr, case OFFSET_REF): Ditto. * tree.c (substitute_in_expr): Remove OFFSET_REF code. Remove some old cruft From-SVN: r12127
* fix typo, target expr's have 4 fields now, not three.Mike Stump1996-05-291-1/+1
| | | | From-SVN: r12124
* expr.c (expand_expr, [...]): Make TARGET_EXPRs redoable for UNSAVE_EXPR.Mike Stump1996-05-171-1/+3
| | | | | | | | | | | | * expr.c (expand_expr, cond TARGET_EXPR): Make TARGET_EXPRs redoable for UNSAVE_EXPR. * stmt.c (expand_decl_cleanup): Wrap the cleanup in an UNSAVE_EXPR to that we can redo it. * tree.c (unsave_expr_now): Handle TARGET_EXPRs fully now. * tree.def (TARGET_EXPR): Add a third field so that TARGET_EXPRs are redoable. From-SVN: r12018
* expr.c (expand_expr, [...]): Move from the C++ frontend to the backend where ↵Mike Stump1996-05-171-0/+9
| | | | | | | | | | | | | | it belongs. * expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++ frontend to the backend where it belongs. * tree.c (unsave_expr): Ditto. (unsave_expr_now): Ditto. * tree.def (UNSAVE_EXPR): Ditto. * tree.h (unsave_expr): Ditto. (unsave_expr_now): Ditto. From-SVN: r12015
* CONSTRUCTOR: Add comments.Per Bothner1996-01-191-1/+17
| | | | From-SVN: r11075
* Update comments to clarify typing rules.Richard Kenner1995-12-241-23/+15
| | | | From-SVN: r10844
* Update FSF address.Richard Kenner1995-06-151-1/+2
| | | | From-SVN: r9966
* Update copyright dates.Richard Kenner1995-03-091-1/+1
| | | | From-SVN: r9140
* Update CLEANUP_POINT_EXPR docs.Jason Merrill1995-03-031-2/+14
| | | | From-SVN: r9118
* Extend comment for SET_TYPE to mention Chill.Per Bothner1994-11-151-1/+3
| | | | From-SVN: r8465
* calls.c (expand_call): Only destroy temporaries at the end of function ↵Mike Stump1994-05-131-2/+8
| | | | | | | | | | | | | | | | | | | calls, if flag_short_temps is set. * calls.c (expand_call): Only destroy temporaries at the end of function calls, if flag_short_temps is set. * expr.c (safe_from_p, expand_expr): Handle CLEANUP_POINT_EXPRs. * expr.c (expand_expr): Improve handling of temporaries inside COND_EXPRs, cures call to sorry. * expr.c (defer_cleanups_to): New routine to handle the deferral of cleanups. * flags.h (flag_short_temps): New flag, to allow better control over the lifetime of temporaries. * toplev.c (flag_short_temps, lang_options): Ditto. * tree.def (CLEANUP_POINT_EXPR): Add, to allow better control over the lifetime of temporaries. From-SVN: r7289
* Removed un-used STRING_TYPE.Per Bothner1994-02-151-5/+3
| | | | From-SVN: r6569
* (PLACEHOLDER_EXPR, WITH_RECORD_EXPR): New tree codes.Richard Kenner1993-10-031-0/+46
| | | | From-SVN: r5579
* (TRUTH_{AND,OR,XOR}_EXPR): Make code class be 'e' like the rest of theRichard Kenner1993-06-261-4/+4
| | | | | | truth operations. From-SVN: r4745
* (QUAL_UNION_TYPE): New tree code.Richard Kenner1993-04-131-9/+19
| | | | From-SVN: r4115
* Clarify comment on INTEGER_TYPE.Per Bothner1993-03-021-3/+5
| | | | From-SVN: r3618
* Fix typos in comment.Per Bothner1993-02-121-1/+1
| | | | From-SVN: r3467