aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
AgeCommit message (Collapse)AuthorFilesLines
1997-05-06reformat a little to match GNU coding standards.Mike Stump1-9/+9
From-SVN: r14024
1997-04-23Add setjmp/longjmp exception handling.Mike Stump1-471/+64
From-SVN: r13968
1997-04-20({move,clear}_by_pieces_1, expand_assignment): Ensure we have unshared rtx ↵Richard Kenner1-15/+22
before changing flags. ({move,clear}_by_pieces_1, expand_assignment): Ensure we have unshared rtx before changing flags. (store_{constructor,field}): Likewise. (expand_expr, case COMPONENT_REF): Likewise. (store_expr): Check if TEMP and TARGET are same with rtx_equal_p. From-SVN: r13936
1997-04-17xJason Merrill1-4/+7
From-SVN: r13909
1997-04-13* expr.c (move_block_from_reg): Try using an integral mov operation first.Doug Evans1-1/+13
From-SVN: r13897
1997-03-25expr.c (emit_push_insn): Delete emission of CLOBBER when doing partial push, ↵Doug Evans1-6/+0
no longer necessary. * expr.c (emit_push_insn): Delete emission of CLOBBER when doing partial push, no longer necessary. From-SVN: r13797
1997-03-18(emit_group_load): Call operand_subword instead of creatingJim Wilson1-3/+5
an explicit SUBREG. From-SVN: r13743
1997-03-16(expand_expr, case PLACEHOLDER_EXPR): Refine which object is picked.Richard Kenner1-14/+25
From-SVN: r13718
1997-01-05(expand_expr, case COMPONENT_REF): Fix error in last change: don'tRichard Kenner1-1/+1
suppress conversion if just EXPAND_SUM. From-SVN: r13383
1997-01-04(get_inner_reference): Fix type error.Richard Kenner1-3/+7
(expand_expr, case COMPONENT_REF): Don't convert if modifier is EXPAND_CONST_ADDRESS, EXPAND_SUM, or EXPAND_INITIALIZER. From-SVN: r13375
1997-01-04(expand_expr, case COMPONENT_REF): If taking value from a CONSTRUCTOR,Richard Kenner1-4/+44
must mask/sign-extend if bitfield. (expand_builtin, case BUILT_IN_LONGJMP): Pass type, not IDENTIFIER, to send arg of RETURN_POPS_ARGS. From-SVN: r13373
1997-01-04(expand_expr, case COND_EXPR): Add additional cases to "singleton"Richard Kenner1-11/+46
cases. From-SVN: r13372
1996-12-07(move_by_pieces): Abort only if length positive at end.Richard Kenner1-1/+1
From-SVN: r13242
1996-11-17(get_inner_reference): Fix error in previous change.Richard Kenner1-1/+1
From-SVN: r13200
1996-11-16(get_inner_reference): Add new arg PALIGNMENT and compute it.Richard Kenner1-9/+27
(expand_assignment, do_jump): Pass new arg to get_inner_reference. (expand_expr, case COMPONENT_REF): Likewise. From-SVN: r13187
1996-11-12(emit_group_store): For REG case, call gen_lowpart ifJim Wilson1-1/+5
modes are different. From-SVN: r13152
1996-11-08(expand_assignment): Remove bogus resetting of alignment to inner alignment.Richard Kenner1-16/+0
(expand_expr, case COMPONENT_REF): Likewise. From-SVN: r13114
1996-10-31(expand_expr, case CONSTRUCTOR): Don't use a PARALLELJim Wilson1-1/+4
target. From-SVN: r13085
1996-10-27Zero extend when generating a CONST_DOUBLE in convert_modesIan Lance Taylor1-1/+14
From-SVN: r13041
1996-10-22(do_store_flag): Don't check if target is 0 in codeTorbjorn Granlund1-1/+1
emitting store flag as compare-branch. From-SVN: r12993
1996-10-21(store_expr): Disable optimization of using convert if exp's type is aRichard Kenner1-2/+5
subtype. From-SVN: r12992
1996-10-17expr.c (do_jump): Conditionalize cleanups for the COND_EXPR case...Doug Evans1-0/+70
* expr.c (do_jump): Conditionalize cleanups for the COND_EXPR case, similarly to the way TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR are handled. From-SVN: r12974
1996-10-09(store_constructor): Delete unnecessary increment.Jim Wilson1-1/+1
From-SVN: r12940
1996-09-29(expand_expr, case COMPONENT_REF): Don't try to directly load a complex.Richard Kenner1-1/+3
From-SVN: r12867
1996-09-29(store_expr): memset/bzero gets ptr_mode, not Pmode.Richard Kenner1-2/+2
From-SVN: r12861
1996-09-24Fix SI followed by 4 DFs under AIXMichael Meissner1-1/+5
From-SVN: r12838
1996-09-23(expand_increment): If postincrement for MEM can't use add directly,Richard Kenner1-0/+16
load address in reg and enqueue increment and store of reg. From-SVN: r12785
1996-09-23(var_rtx): New function.Richard Kenner1-18/+40
(expand_expr, case COND_EXPR): Also use target if same as singleton. From-SVN: r12777
1996-09-22(convert_move): Replace explicit checks for FP extend ops with use of ↵Richard Kenner1-107/+39
can_extend_p. (convert_move): Replace explicit checks for FP extend ops with use of can_extend_p. Add missing tests for FP trunc operations. From-SVN: r12771
1996-09-14(store_field): If storing a record on big endian targets,Richard Kenner1-0/+24
set up so we store the high-order bits. (expand_expr, case COMPONENT_REF): Likewise for loads. From-SVN: r12714
1996-08-15* expr.c (expand_builtin_return_addr): Fix order of parameters.Mike Stump1-1/+1
From-SVN: r12644
1996-08-12(expand_builtin, case BUILT_IN_SETJMP): Add test and call forRichard Kenner1-0/+4
nonlocal_goto_receiver pattern. From-SVN: r12621
1996-08-12(store_expr): Handle COND_EXPR cleanups like expand_expr.Jason Merrill1-0/+73
From-SVN: r12620
1996-07-25expr.c (do_jump, [...]): Ensure the end of an exception region comes after ↵Mike Stump1-2/+2
its start. * expr.c (do_jump, case TRUTH_ORIF_EXPR): Ensure the end of an exception region comes after its start. (do_jump, case TRUTH_ANDIF_EXPR): Likewise. From-SVN: r12565
1996-07-23install EH codeMike Stump1-11/+11
From-SVN: r12548
1996-07-04(get_inner_reference): Delete using alternate mode for bitfield; weRichard Kenner1-19/+3
don't make bitfields anymore if not needed. From-SVN: r12398
1996-07-03formatting tweaksMike Stump1-80/+94
From-SVN: r12390
1996-07-02expr.c (compare): If function pointers need canonicalization before ↵Jeff Law1-0/+39
comparisons, canonicalize them. * expr.c (compare): If function pointers need canonicalization before comparisons, canonicalize them. (do_store_flag): Do not use an sCC insn for a function pointer comparison if function pointers need canonicalization before comparing. From-SVN: r12381
1996-06-28(expand_builtin, case BUILTIN_MEMSET): Open code memset where val == 0.Richard Kenner1-0/+52
From-SVN: r12363
1996-06-18(expand_builtin, case BUILT_IN_{SET,LONG}JMP): Properly handle caseRichard Kenner1-12/+19
when ptr_mode != Pmode. From-SVN: r12294
1996-06-07* expr.c (safe_from_p): Allow Chill-style variable-sized arrays.Per Bothner1-2/+7
From-SVN: r12213
1996-06-06(emit_group_load, emit_group_store): New functions.Jim Wilson1-2/+125
(use_group_regs): New function. (emit_push_insn): Handle PARALLEL parameter in REG. (expand_assignment): Handle PARALLEL to_rtx. (store_expr): Handle PARALLEL target. From-SVN: r12189
1996-06-03(store_field): Fix typo in last change; update TARGET addr.Richard Kenner1-2/+2
From-SVN: r12142
1996-05-31tree.def (OFFSET_REF): Remove.Mike Stump1-16/+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
1996-05-27(expand_builtin, case BUILT_IN_{LONG,SET}JMP): Convert block addressRichard Kenner1-4/+12
from ptr_mode to Pmode. From-SVN: r12120
1996-05-19(bc_runtime_type_code): Delete redundant declaration.Richard Kenner1-1/+0
From-SVN: r12044
1996-05-17expr.c (expand_expr, [...]): Make TARGET_EXPRs redoable for UNSAVE_EXPR.Mike Stump1-1/+1
* 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
1996-05-17expr.c (expand_expr, [...]): Move from the C++ frontend to the backend where ↵Mike Stump1-0/+8
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
1996-05-11(store_field): Support BLKmode bitfield if aligned on byte boundary using ↵Richard Kenner1-1/+42
emit_block_move. (store_field): Support BLKmode bitfield if aligned on byte boundary using emit_block_move. (expand_expr, case COMPONENT_REF): Likewise. From-SVN: r11971
1996-05-06expr.c (expand_increment): Add third parameter to know when to ignore the ↵Mike Stump1-7/+7
result value. * expr.c (expand_increment): Add third parameter to know when to ignore the result value. (store_constructor): Ditto. (expand_expr, case PREINCREMENT_EXPR): Ditto. (expand_expr, case PREDECREMENT_EXPR): Ditto. (expand_expr, case POSTINCREMENT_EXPR): Ditto. (expand_expr, case POSTDECREMENT_EXPR): Ditto. * tree.c (stabilize_reference): Always ignore the first operand of COMPOUND_EXPRs. From-SVN: r11939