aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
AgeCommit message (Collapse)AuthorFilesLines
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
1996-05-06(expand_expr, case INDIRECT_REF): Delete obsolete codeJim Wilson1-21/+2
to special case a SAVE_EXPR operand. From-SVN: r11938
1996-04-25(expand_builtin, case BUILT_IN_SETJMP): CLOBBER the static chain afterRichard Kenner1-0/+4
label at setjmp point. From-SVN: r11886
1996-04-23* expr.c (store_constructor): Fix test for missing array elements.Per Bothner1-1/+4
From-SVN: r11869
1996-04-16(do_store_flag): Rewrite last change to avoid compilerJim Wilson1-1/+5
warnings. From-SVN: r11832
1996-04-16(expand_builtin, case BUILT_IN_LONGJMP): Make a decl for __dummy, soRichard Kenner1-4/+11
we can call make_function_rtl on it. From-SVN: r11805
1996-04-16(expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR with aRichard Kenner1-0/+1
variable-size return. From-SVN: r11804
1996-04-15(do_store_flag): Before calling exact_log2, remove anyJim Wilson1-2/+13
sign extension bits. From-SVN: r11803
1996-04-15(bc_expand_increment): Change declaration to return void.Richard Kenner1-1/+1
From-SVN: r11779
1996-04-11(preexpand_calls, case CALL_EXPR): Rework to properly avoid expandingRichard Kenner1-8/+9
functions returning variable size objects. From-SVN: r11698
1996-04-03(emit_push_insn): Clobber register only if it is non-zero.Jim Wilson1-1/+1
From-SVN: r11658
1996-04-01(get_inner_reference): When finding mode to access bitfield that ends up ↵Richard Kenner1-1/+6
properly aligned... (get_inner_reference): When finding mode to access bitfield that ends up properly aligned, use mode class of its type unless type's mode was BLKmode. From-SVN: r11651
1996-03-29calls.c (expand_call): Remove current_call_is_indirect nonsense.Jeff Law1-1/+1
* calls.c (expand_call): Remove current_call_is_indirect nonsense. Add additional argument to INIT_CUMULATIVE_ARGS. (emit_library_call): Likewise. (emit_library_call_value): Likewise. * expr.c (expand_builtin): Likewise. * function.c (assign_parms): Likewise. * cp/method.c (emit_thunk): Likewise. * config/pa/pa.h (hppa_args): New field "indirect". (INIT_CUMULATIVE_ARGS): Initialize "indirect" field. (FUNCTION_ARG): Check "indirect" field, rather than "current_call_is_indirect". * All other backends updated with new argument to INIT_CUMULATIVE_ARGS From-SVN: r11641
1996-03-26expr.c (emit_push_insn): When doing a partial push...Jeff Law1-0/+6
* expr.c (emit_push_insn): When doing a partial push, emit a CLOBBER so that flow doesn't think the entire register is live. From-SVN: r11622
1996-03-20(expand_builtin, case BUILT_IN_SETJMP): Call "setjmp" pattern, if any.Richard Kenner1-9/+52
Call dummy function pointed to by static chain pointer. (expand_builtin, case BUILT_IN_LONJMP): Ignore second expression. Set address of __dummy into static chain pointer. Copy the label to return to into a pseudo earlier. From-SVN: r11576
1996-03-12(expand_expr, case COMPONENT_REF): For unaligned object inJim Wilson1-2/+3
an aligned union, delete check for EXPAND_SUM. From-SVN: r11519
1996-03-08expr.c (expand_expr, [...]): Delay putting the cleanup on the cleanup chain ↵Mike Stump1-10/+9
until after the subexpression... * expr.c (expand_expr, case TARGET_EXPR): Delay putting the cleanup on the cleanup chain until after the subexpression has been expanded. Fixes eh44.C and eh45.C From-SVN: r11504
1996-03-08(store_constructor_field): Add explanatory comment.Jim Wilson1-2/+11
Call store_field if bitpos is nonzero and target is not a MEM. From-SVN: r11503
1996-03-05(expand_expr, case *_DECL): If we make a non-local reference from a function ↵Jason Merrill1-1/+4
with DECL_NO_STATIC_CHAIN set, abort. (expand_expr, case *_DECL): If we make a non-local reference from a function with DECL_NO_STATIC_CHAIN set, abort. (expand_expr, case ADDR_EXPR): We don't need a trampoline for a function with DECL_NO_STATIC_CHAIN set. From-SVN: r11461
1996-03-04(bc_strdup): Delete.Richard Kenner1-11/+1
(bc_load_externaddr_id): Use xstrdup instead of bc_xstrdup. From-SVN: r11411