diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-11-16 02:26:42 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-11-15 21:26:42 -0500 |
commit | d43e0b7d97d527f3913f692d19748e66f5b9ff22 (patch) | |
tree | 559b4a2b278854a13608de391b2050da30ac4881 /gcc/stmt.c | |
parent | f50e7a2d92218d935970483c33c61c8566840f6b (diff) | |
download | gcc-d43e0b7d97d527f3913f692d19748e66f5b9ff22.zip gcc-d43e0b7d97d527f3913f692d19748e66f5b9ff22.tar.gz gcc-d43e0b7d97d527f3913f692d19748e66f5b9ff22.tar.bz2 |
expr.c (store_field): Pass tree instead of max size; callers changed.
* expr.c (store_field): Pass tree instead of max size; callers changed.
Change handling of alignment.
Only copy to_rtx if is TARGET.
(expand_expr_unaligned): Delete; callers now use expand_expr.
(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
(expand_assignment): Change handling of alignment.
Only copy to_rtx if was original.
(get_inner_reference): No longer return alginment; callers changed.
(expand_expr, case COMPONENT_REF): Change handling of alignment.
(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
(compare_from_rtx): Delete ALIGN parm; all callers changed.
(do_compare_rtx_and_jump): Likewise.
* expr.h: Reflect above changes.
* tree.h: Likewise.
* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
to get_inner_reference.
* builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
* doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
* optabs.c: Likewise.
(prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
* expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
compare_rtx_and_jump, and emit_cmp_jump_insns.
* fold-const.c: Remove PALIGN in calls to get_inner_reference.
* function.c (assign_stack_temp_for_type): No longer static.
* optabs.h (emit_cmp_insn): Remove ALIGN parm.
(prepare_cmp_insn): Delete declaration.
* rtl.h (assign_stack_temp_for_type): Add declaration.
* config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
* config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
* config/i386/i386.c,config/mips/mips.c: Likewise.
* config/i860/i860.c, config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
* emit-rtl.c (change_address): Fix typo in default alignment.
(adjust_address_1): Use mode of NEW, not MODE, when setting size.
* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
* rtl.h (REGNO_PTR_FRAME_P): New macro.
* expr.c (store_field): Pass tree instead of max size; callers changed.
Change handling of alignment.
Only copy to_rtx if is TARGET.
(expand_expr_unaligned): Delete; callers now use expand_expr.
(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
(expand_assignment): Change handling of alignment.
Only copy to_rtx if was original.
(get_inner_reference): No longer return alginment; callers changed.
(expand_expr, case COMPONENT_REF): Change handling of alignment.
(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
(compare_from_rtx): Delete ALIGN parm; all callers changed.
(do_compare_rtx_and_jump): Likewise.
* expr.h: Reflect above changes.
* tree.h: Likewise.
* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
to get_inner_reference.
* except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns.
* explow.c: Likewise.
* loop.c: Likewise.
* optabs.c: Likewise.
(prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
* fold-const.c: Remove PALIGN in calls to get_inner_reference.
* function.c (assign_stack_temp_for_type): No longer static.
* optabs.h (emit_cmp_insn): Remove ALIGN parm.
(prepare_cmp_insn): Delete declaration.
* rtl.h (assign_stack_temp_for_type): Add declaration.
* config/d30v/d30v.c: Reflect above changes.
* config/i860/i860.c, config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
* ada/trans.c, ada/utils2.c: Remove PALIGN parameter to
get_inner_reference.
From-SVN: r47078
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r-- | gcc/stmt.c | 48 |
1 files changed, 21 insertions, 27 deletions
@@ -2197,9 +2197,7 @@ expand_expr_stmt (exp) emit_cmp_and_jump_insns (last_expr_value, last_expr_value, EQ, expand_expr (TYPE_SIZE (last_expr_type), NULL_RTX, VOIDmode, 0), - BLKmode, 0, - TYPE_ALIGN (last_expr_type) / BITS_PER_UNIT, - lab); + BLKmode, 0, lab); emit_label (lab); } } @@ -5645,20 +5643,16 @@ do_jump_if_equal (op1, op2, label, unsignedp) rtx op1, op2, label; int unsignedp; { - if (GET_CODE (op1) == CONST_INT - && GET_CODE (op2) == CONST_INT) + if (GET_CODE (op1) == CONST_INT && GET_CODE (op2) == CONST_INT) { if (INTVAL (op1) == INTVAL (op2)) emit_jump (label); } else - { - enum machine_mode mode = GET_MODE (op1); - if (mode == VOIDmode) - mode = GET_MODE (op2); - emit_cmp_and_jump_insns (op1, op2, EQ, NULL_RTX, mode, unsignedp, - 0, label); - } + emit_cmp_and_jump_insns (op1, op2, EQ, NULL_RTX, + (GET_MODE (op1) == VOIDmode + ? GET_MODE (op2) : GET_MODE (op1)), + unsignedp, label); } /* Not all case values are encountered equally. This function @@ -6101,7 +6095,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, label_rtx (node->right->code_label)); emit_case_nodes (index, node->left, default_label, index_type); } @@ -6114,7 +6108,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - LT, NULL_RTX, mode, unsignedp, 0, + LT, NULL_RTX, mode, unsignedp, label_rtx (node->left->code_label)); emit_case_nodes (index, node->right, default_label, index_type); } @@ -6133,7 +6127,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, label_rtx (test_label)); /* Value must be on the left. @@ -6168,7 +6162,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - LT, NULL_RTX, mode, unsignedp, 0, + LT, NULL_RTX, mode, unsignedp, default_label); } @@ -6201,7 +6195,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, default_label); } @@ -6244,7 +6238,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, label_rtx (node->right->code_label)); else { @@ -6258,7 +6252,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, label_rtx (test_label)); } @@ -6270,7 +6264,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->low, NULL_RTX, VOIDmode, 0), unsignedp), - GE, NULL_RTX, mode, unsignedp, 0, + GE, NULL_RTX, mode, unsignedp, label_rtx (node->code_label)); /* Handle the left-hand subtree. */ @@ -6301,7 +6295,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->low, NULL_RTX, VOIDmode, 0), unsignedp), - LT, NULL_RTX, mode, unsignedp, 0, + LT, NULL_RTX, mode, unsignedp, default_label); } @@ -6313,7 +6307,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - LE, NULL_RTX, mode, unsignedp, 0, + LE, NULL_RTX, mode, unsignedp, label_rtx (node->code_label)); emit_case_nodes (index, node->right, default_label, index_type); @@ -6331,7 +6325,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, default_label); } @@ -6343,7 +6337,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->low, NULL_RTX, VOIDmode, 0), unsignedp), - GE, NULL_RTX, mode, unsignedp, 0, + GE, NULL_RTX, mode, unsignedp, label_rtx (node->code_label)); emit_case_nodes (index, node->left, default_label, index_type); @@ -6365,7 +6359,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->high, NULL_RTX, VOIDmode, 0), unsignedp), - GT, NULL_RTX, mode, unsignedp, 0, + GT, NULL_RTX, mode, unsignedp, default_label); } @@ -6377,7 +6371,7 @@ emit_case_nodes (index, node, default_label, index_type) expand_expr (node->low, NULL_RTX, VOIDmode, 0), unsignedp), - LT, NULL_RTX, mode, unsignedp, 0, + LT, NULL_RTX, mode, unsignedp, default_label); } else if (!low_bound && !high_bound) @@ -6399,7 +6393,7 @@ emit_case_nodes (index, node, default_label, index_type) NULL_RTX, mode, 0); emit_cmp_and_jump_insns (new_index, new_bound, GT, NULL_RTX, - mode, 1, 0, default_label); + mode, 1, default_label); } emit_jump (label_rtx (node->code_label)); |