diff options
| author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-16 02:26:42 +0000 |
|---|---|---|
| committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-16 02:26:42 +0000 |
| commit | 7e69f45bcc1b669079d26df7da08b52e518880c9 (patch) | |
| tree | 559b4a2b278854a13608de391b2050da30ac4881 /gcc/stmt.c | |
| parent | cda885bf1ac81966b20e43d5be45d78cda7cc502 (diff) | |
| download | ppe42-gcc-7e69f45bcc1b669079d26df7da08b52e518880c9.tar.gz ppe42-gcc-7e69f45bcc1b669079d26df7da08b52e518880c9.zip | |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47078 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stmt.c')
| -rw-r--r-- | gcc/stmt.c | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c index 3f940e379a7..52ae097800f 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -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)); |

