Kazu Hirata
aabcd30904
cgraphunit.c, [...]: Fix comment typos.
...
* cgraphunit.c, dbxout.c, flow.c, gcse.c, gimplify.c,
lambda-code.c, loop.c, machmode.def, mips-tfile.c,
modulo-sched.c, passes.c, postreload-gcse.c, tree-eh.c,
tree-ssa-ccp.c, varasm.c, config/frv/frv.c, config/frv/frv.h,
config/frv/frv.md, config/i386/i386.c, config/i386/i386.h,
config/i386/i386.md, config/rs6000/predicates.md,
config/rs6000/rs6000.c, config/s390/fixdfdi.h,
config/s390/s390.c, config/stormy16/stormy16.c,
config/stormy16/stormy16.md, config/vax/vax.md: Fix comment
typos.
From-SVN: r97362
2005-04-01 03:42:55 +00:00
Joseph Myers
0223e4f514
re PR c/17855 (modification of function struct return not diagnosed)
...
PR c/17855
* gimplify.c (gimplify_expr): Create a temporary for lvalue
COND_EXPR and CALL_EXPR.
testsuite:
* gcc.c-torture/compile/struct-non-lval-1.c,
gcc.c-torture/compile/struct-non-lval-2.c,
gcc.c-torture/compile/struct-non-lval-3.c: New tests.
From-SVN: r97352
2005-04-01 00:34:44 +01:00
Joseph Myers
d101034cd8
langhooks.h (truthvalue_conversion): Remove.
...
* langhooks.h (truthvalue_conversion): Remove.
* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
LANG_HOOKS_TRUTHVALUE_CONVERSION.
* system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
* gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
ada:
* misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
cp:
* cp-objcp-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
fortran:
* f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
java:
* lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
treelang:
* treetree.c (LANG_HOOKS_TRUTHVALUE_CONVERSION,
tree_lang_truthvalue_conversion): Remove.
* tree-convert.c: Don't call truthvalue_conversion.
From-SVN: r96947
2005-03-23 19:47:09 +00:00
Kazu Hirata
49d1af8985
builtins.c (fold_builtin): Take decomposed arguments of CALL_EXPR.
...
* builtins.c (fold_builtin): Take decomposed arguments of
CALL_EXPR.
* fold-const.c (fold_ternary): Update a call to fold_builtin.
* gimplify.c (gimplify_call_expr): Likewise.
* tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
* tree.h: Update the prototype of fold_builtin.
From-SVN: r96800
2005-03-21 14:35:08 +00:00
Alexandre Oliva
aff98faf41
re PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368)
...
gcc/ChangeLog:
PR c++/20280
* gimplify.c (gimplify_cond_expr): Add fallback argument. Use a
temporary variable of pointer type if an lvalues is required.
(gimplify_modify_expr_rhs): Request an rvalue from it.
(gimplify_expr): Pass fallback on.
gcc/testsuite/ChangeLog:
PR c++/20280
* g++.dg/tree-ssa/pr20280.C: New.
From-SVN: r96444
2005-03-14 20:02:05 +00:00
Kazu Hirata
70e2829d25
gimplify.c (gimplify_expr): Remove local variables r0 and r1.
...
* gimplify.c (gimplify_expr): Remove local variables r0 and
r1.
From-SVN: r96344
2005-03-12 18:33:25 +00:00
Jakub Jelinek
372d72d917
re PR inline-asm/20314 (Bogus differ in number of alternatives error)
...
PR inline-asm/20314
* gimplify.c (gimplify_asm_expr): Handle input/output constraints
with multiple alternatives.
* stmt.c (parse_output_constraint): Fix a typo.
* gcc.dg/torture/pr20314-1.c: New test.
* gcc.dg/torture/pr20314-2.c: New test.
From-SVN: r96222
2005-03-10 01:12:31 +01:00
Kazu Hirata
6c6cfbfd52
c-common.c, [...]: Fix comment formatting.
...
* c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
From-SVN: r96104
2005-03-08 13:57:01 +00:00
Kazu Hirata
c24b7de90d
gimplify.c (gimple_push_bind_expr, [...]): Make them static.
...
* gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
unshare_all_trees): Make them static.
* tree-gimple.h: Remove the corresponding prototypes.
From-SVN: r96079
2005-03-08 02:20:19 +00:00
Jason Merrill
258dba8f62
* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
...
From-SVN: r95231
2005-02-18 14:35:37 -05:00
Jason Merrill
eff9a5d034
PR mudflap/19319, c++/19317
...
PR mudflap/19319, c++/19317
* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
slot explicit.
From-SVN: r95150
2005-02-17 00:37:19 -05:00
Jason Merrill
6a720599bb
re-apply fold_indirect_ref patch
...
From-SVN: r95024
2005-02-14 11:07:16 -05:00
Jason Merrill
6b708a6bcd
temporarily revert last changes
...
From-SVN: r94987
2005-02-13 12:10:47 -05:00
Jason Merrill
38116e3d1d
re PR libmudflap/19319 (Mudflap produce many violations on simple, correct c++ program)
...
PR mudflap/19319
* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
slot explicit.
PR c++/16405
* fold-const.c (fold_indirect_ref_1): Split out from...
(build_fold_indirect_ref): Here.
(fold_indirect_ref): New fn.
* tree.h: Declare it.
* gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
(gimplify_modify_expr_rhs): Likewise.
(gimplify_expr): Likewise.
From-SVN: r94979
2005-02-13 01:43:58 -05:00
Stuart Hastings
4356a1bf59
gimplify.c (shortcut_cond_expr): Re-compute side-effects.
...
2005-01-26 Stuart Hastings <stuart@apple.com>
* gcc/gimplify.c (shortcut_cond_expr): Re-compute side-effects.
* gcc/testsuite/gcc.c-torture/execute/20050125-1.c: New.
From-SVN: r94300
2005-01-27 01:03:27 +00:00
Richard Henderson
6f642f9852
re PR middle-end/19515 (Violation of C99 6.7.8 §21 for unions)
...
PR middle-end/19515
* expr.c (categorize_ctor_elements): New argument p_must_clear.
(categorize_ctor_elements_1): Likewise. Detect a union that isn't
fully initialized.
(mostly_zeros_p): Update for new categorize_ctor_elements argument.
* gimplify.c (gimplify_init_constructor): Likewise. Only shove
objects into static storage if they have more than one non-zero value.
* tree.h (categorize_ctor_elements): Update decl.
From-SVN: r94266
2005-01-26 07:20:53 -08:00
Kazu Hirata
35fd3193de
alias.c, [...]: Fix comment typos.
...
* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
fold-const.c, gimplify.c, params.h, tree-data-ref.c,
tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
config/freebsd-spec.h, config/arm/arm.h,
config/h8300/h8300.md, config/i386/i386.md,
config/i386/predicates.md, config/i386/sse.md,
config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
config/vax/vax.md: Fix comment typos. Follow spelling
conventions.
From-SVN: r94112
2005-01-23 15:05:49 +00:00
Ian Lance Taylor
089efaa4a1
re PR tree-optimization/13000 ([unit-at-a-time] Using -O2 cannot detect missing return statement in a function)
...
PR tree-optimization/13000
* tree-inline.c: Include "tree-flow.h".
(expand_call_inline): If warn_return_type, warn if non-void inline
function falls through.
* tree-cfg.c (execute_warn_function_return): Don't warn about
control reaching end if TREE_NO_WARNING is set. Set
TREE_NO_WARNING.
* gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
has been lowered.
* gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
branch if we don't need one.
* c-typeck.c: Include "tree-flow.h"
(c_finish_bc_stmt): Don't add a goto if the current statement
list doesn't fall through to the current point.
From-SVN: r94024
2005-01-21 19:05:23 +00:00
Jakub Jelinek
e89be13bdf
re PR c/17297 (ICE with FP vector constructor containing qnan calculation)
...
PR c/17297
* c-typeck.c (digest_init): Only call build_vector if all constructor
elements are *_CST nodes.
* gimplify.c (gimplify_init_constructor): Likewise.
* gcc.c-torture/compile/20050113-1.c: New testcase.
PR middle-end/19164
* c-typeck.c (digest_init): Only call build_vector if inside_init
is a CONSTRUCTOR.
* gcc.dg/20050113-1.c: New testcase.
From-SVN: r93891
2005-01-19 10:27:23 +01:00
Eric Botcazou
8c96cd51c7
calls.c (expand_call): Check DECL_BUILT_IN_CLASS before accessing DECL_FUNCTION_CODE.
...
* calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
accessing DECL_FUNCTION_CODE.
* dojump.c (do_jump): Likewise.
* gimplify.c (gimplify_call_expr): Likewise.
* predict.c (expr_expected_value): Likewise.
(strip_builtin_expect): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-ssa-loop-im.c (stmt_cost): Likewise
* fold-const.c (fold): Test for BUILT_IN_NORMAL.
(tree_expr_nonnegative_p): Likewise.
From-SVN: r93864
2005-01-18 23:06:59 +00:00
Kazu Hirata
ad616de14c
basic-block.h, [...]: Update copyright.
...
* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
combine.c, config.gcc, coverage.h, cse.c, cselib.c,
defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
output.h, postreload-gcse.c, postreload.c, recog.c,
resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
From-SVN: r93827
2005-01-18 11:36:31 +00:00
Richard Henderson
78e0d62b95
re PR middle-end/17799 (Non-optimizing compile loses 'this')
...
PR middle-end/17799
* function.c (use_register_for_decl): Check DECL_IGNORED_P instead
of DECL_ARTIFICIAL.
(assign_parms_augmented_arg_list): Set DECL_IGNORED_P.
* c-decl.c (build_compound_literal): Likewise.
* dwarf2asm.c (dw2_force_const_mem): Likewise.
* gimplify.c (create_artificial_label): Likewise.
* tree-inline.c (expand_call_inline): Likewise.
* var-tracking.c (vt_initialize): Likewise.
* tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P.
cp/
* call.c (make_temporary_var_for_ref_to_temp): Set DECL_IGNORED_P.
* class.c (build_vtable): Don't conditionallize setting it
based on DWARF2_DEBUG.
(layout_class_type): Set DECL_IGNORED_P.
* decl2.c (get_guard): Likewise.
* rtti.c (get_tinfo_decl, build_lang_decl): Likewise.
* tree.c (build_local_temp): Likewise.
From-SVN: r92781
2004-12-31 17:43:12 -08:00
Richard Henderson
74f0c611c6
re PR inline-asm/15740 (ICE caused by a memory operand in an asm statement)
...
PR inline-asm/15740
* gimplify.c (gimplify_asm_expr): Move resolve asm names ...
* c-typeck.c (build_asm_expr): ... here. Validate input
constraints. Mark memory inputs addressable.
* semantics.c (finish_asm_stmt): Resolve asm names. Validate input
constraints. Mark memory inputs addressable.
From-SVN: r92693
2004-12-28 17:22:15 -08:00
Mark Mitchell
6ec215790a
re PR c++/19148 (ICE: gimplification failed)
...
PR c++/19148
* gimplify.c (gimplify_cond_expr): Add post_p parameter.
(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
(gimplify_expr): Likewise.
From-SVN: r92640
2004-12-27 16:06:13 +00:00
Mark Mitchell
058e32b336
gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
...
* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
* g++.dg/opt/temp1.C: Make memcpy actually copy bytes.
From-SVN: r92571
2004-12-23 21:55:12 +00:00
Mark Mitchell
f98625f6a5
re PR c++/16405 (Temporary aggregate copy not elided)
...
PR c++/16405
* gimplify.c (gimplify_modify_expr_rhs): Handle
INDIRECT_REF/ADDR_EXPR combinations.
PR c++/16405
* g++.dg/opt/temp1.C: New test.
From-SVN: r92539
2004-12-23 08:14:33 +00:00
Richard Henderson
ad50bc8d80
[multiple changes]
...
2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.h (TYPE_SIZES_GIMPLIFIED): New.
* function.c (gimplify_parm_type): Don't gimplify type if already done.
* gimplify.c (gimplify_decl_expr): Likewise.
(gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED. Examine nested
array types.
2004-12-22 Richard Henderson <rth@redhat.com>
* gimplify.c (eval_save_expr): Remove.
(gimplify_one_sizepos): Unshare expr before gimplifying.
* stor-layout.c (variable_size): Revert 2004-12-19 change.
(layout_decl): Revert 2004-12-18 change.
(layout_type): Revert 2004-12-21 change.
From-SVN: r92495
2004-12-22 10:51:24 -08:00
Richard Henderson
b4830636f8
gimplify.c (eval_save_expr): New.
...
* gimplify.c (eval_save_expr): New.
(gimplify_one_sizepos): Use it.
* stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
From-SVN: r92468
2004-12-21 11:27:08 -08:00
Steven Bosscher
6fa91b4874
re PR middle-end/18191 (Struct member is not getting default-initialized)
...
gcc/
PR middle-end/18191
PR middle-end/18965
PR middle-end/18999
* expr.c (categorize_ctor_elements_1): Count the total number
of elements in the constructor.
(categorize_ctor_elements): Return it in a new argument.
* tree.h (categorize_ctor_elements): Adjust prototype.
* gimplify.c (gimplify_init_ctor_eval_range): New.
(gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
(gimplify_init_constructor): Block clear the object if the
constructor has fewer elements than the object type. Only try
to add assignments to individual elements when we have to.
testsuite/
* gcc.dg/20041219-1.c: New test.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r92415
2004-12-20 11:26:47 +00:00
Richard Henderson
4744afba0f
re PR middle-end/16417 (crappy code (gcc.c-torture/compile/20020210-1.c) in arguments causes ICE)
...
PR middle-end/16417
* c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
comment.
* c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
checks.
* c-tree.h (struct lang_decl): Remove pending_sizes.
* function.c: Include tree-gimple.h
(assign_parm_setup_reg): Remove callee-copies code.
(gimplify_parm_type, gimplify_parameters): New functions.
(expand_pending_sizes): Remove.
(expand_function_start): Don't call it.
* gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
(gimplify_body): Add do_parms argument. Use gimplify_parameters.
(gimplify_function_tree): Setup cfun. Update gimplify_body call.
* tree-gimple.h (gimplify_body): Update decl.
* tree-inline.c (initialize_inlined_parameters): Update gimplify_body
call.
* tree.h (gimplify_parameters): Declare.
* Makefile.in (function.o): Depend on TREE_GIMPLE_H.
From-SVN: r92373
2004-12-18 20:42:14 -08:00
Nathan Sidwell
0710ccffc3
re PR c++/18672 (Segfault with simple template code)
...
.: PR c++/18672
* gimplify.c (canonicalize_addr_expr): Cope with array of
incomplete type.
(gimplify_conversion): Remove redundant checks.
testsuite:
PR c++/18672
* g++.dg/opt/array1.C: New.
From-SVN: r91865
2004-12-08 08:47:59 +00:00
Roger Sayle
b086a2eaf8
c-gimplify.c (gimplify_c_loop): Improve initial implementations for loops whose conditions are known at...
...
* c-gimplify.c (gimplify_c_loop): Improve initial implementations
for loops whose conditions are known at compile-time.
* gimplify.c (append_to_statement_list_1): Remove side_effects
parameter, this function should never be called if its false.
(append_to_statement_list): Only call append_to_statement_list_1
if t is non-NULL tree with side-effects.
(append_to_statement_list_force): Likewise, if t is not NULL.
From-SVN: r91784
2004-12-06 17:24:16 +00:00
Andrew Pinski
2efcfa4ef6
re PR middle-end/17909 (ICE: verifiy_stms failed)
...
2004-12-04 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/17909
* builtins.c (fold_builtin_next_arg): Export and return true
when there is a warning or an error.
(expand_builtin_va_start): When fold_builtin_next_arg returns true,
return const0_rtx.
(expand_builtin): Likewise.
* gimplify.c (gimplify_call_expr): Error out if there is not
enough arguments to va_start. Call fold_builtin_next_arg also
on the second argument.
* tree.h (fold_builtin_next_arg): Prototype.
From-SVN: r91727
2004-12-04 06:11:45 -08:00
Richard Henderson
afe849213e
expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
...
* expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
(handled_component_p): Likewise.
* alias.c (can_address_p): Reformat and simplify. Handle
REAL/IMAGPART_EXPR. Do not disable addressability based on
alias set zero.
* fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
check for REAL/IMAGPART_EXPR.
* gimplify.c (gimplify_compound_lval): Likewise.
* tree-cfg.c (verify_expr): Likewise.
* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
* tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
(convert_local_reference): Likewise.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
From-SVN: r91511
2004-11-29 19:52:37 -08:00
Andrew Pinski
6db081f1a8
[multiple changes]
...
2004-11-18 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/18164
* gimplify.c (gimplify_asm_expr): If the length of an output operand
is zero, do not process it, just let it go through.
2004-11-28 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/pr18164.c: New test.
From-SVN: r91459
2004-11-28 18:21:28 -08:00
Richard Kenner
317c0092a6
Fix indentation on line 3063.
...
From-SVN: r91194
2004-11-24 15:43:44 -05:00
Steven Bosscher
16df8078b8
expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
...
gcc/
* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
* gimplify.c (gimplify_labeled_block_expr): Remove.
(gimplify_exit_block_expr): Remove.
(gimplify_expr): Don't call them.
* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
(estimate_num_insns_1): Likewise.
(walk_tree): Likewise.
* tree-pretty-print.c (dump_generic_node): Don't handle
EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
(LABELED_BLOCK_EXPR): Likewise.
* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
(EXIT_BLOCK_RETURN): Removed.
java/
* java-gimplify.c (java_gimplify_labeled_block_expr): New function.
(java_gimplify_exit_block_expr): New function.
(java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
LABELED_BLOCK_EXPR.
* java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
(EXIT_BLOCK_EXPR): Likewise.
* java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
* jcf-write.c (generate_bytecode_insns): Don't handle the unused
EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
TREE_OPERAND.
* lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
(java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
second operand of EXIT_BLOCK_EXPR.
* parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
TREE_OPERAND.
(build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
From-SVN: r91149
2004-11-24 11:41:38 +00:00
Kazu Hirata
1f83835576
c-cppbuiltin.c, [...]: Fix comment typos.
...
* c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
lambda-code.c, postreload.c, predict.c, tree-sra.c,
tree-ssa-loop-manip.c, tree.c: Fix comment typos.
From-SVN: r90596
2004-11-13 21:11:04 +00:00
Eric Botcazou
918047526d
re PR middle-end/17793 (Ada bootstrap failure)
...
PR middle-end/17793
* gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
through the operand if it is a useless type conversion.
From-SVN: r89488
2004-10-23 09:16:46 +00:00
Andrew Pinski
d775bc45ed
gimplify.c (gimple_push_condition): Make sure that we don't have any saved condition cleanup if...
...
2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
* gimplify.c (gimple_push_condition): Make sure that we don't
have any saved condition cleanup if we were at the top level.
From-SVN: r88877
2004-10-11 05:57:09 -07:00
Richard Henderson
e670d9e4ce
re PR tree-optimization/17739 (tree-optimizers extend the lifetime of a hard register variable)
...
PR 17739
* tree-gimple.c (is_gimple_reg): Reject hard registers.
(is_gimple_asm_val): New.
* tree-gimple.h (is_gimple_asm_val): Declare.
* gimplify.c (gimplify_asm_expr): Use it.
* tree-pretty-print.c (print_declaration): Dump hard regs.
* tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
* tree-ssa-pre.c (is_undefined_value): Likewise.
* tree-ssa-copy.c (may_propagate_copy): Likewise.
(may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
* tree-ssa.c (warn_uninit): Likewise.
* tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
From-SVN: r88321
2004-09-29 18:22:07 -07:00
Dorit Naishlos
7ccf35ed17
tree.def (ALIGN_INDIRECT_REF, [...]): New tree-codes.
...
2004-09-23 Dorit Naishlos <dorit@il.ibm.com>
* tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
New tree-codes.
* tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
MISALIGNED_INDIRECT_REF.
* alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
* emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
Likewise.
* expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
(find_interesting_uses_address): Likewise.
* fold-const.c (non_lvalue, operand_equal_p): Likewise.
(build_fold_addr_expr_with_type): Likewise.
* gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
* print-rtl.c (print_mem_expr): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
* tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
* tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
* tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
(add_address_candidates, rewrite_address_base): Likewise.
* tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
Likewise.
* tree.c (staticp, build1_stat): Likewise.
* tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
* tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
optabs.
(OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
for the new optabs.
(expand_ternary_op): New function.
* genopinit.c (optabs): Handle the new optabs.
* optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
(init_optabs): Initialize vec_realign_load_optab.
(expand_ternary_op): New functions.
* target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
(TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
* target.h (struct vectorize): New member for struct gcc_target.
(misaligned_mem_ok): New member for targetm.vectorize.
(builtin_mask_for_load): Likewise.
(builtin_mask_for_store): Likewise.
* targethooks.c (default_vect_misaligned_mem_ok): New function.
* targethooks.h (default_vect_misaligned_mem_ok): New function.
* config/rs6000/altivec.md (build_vector_mask_for_load): New
define_expand.
(vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
(vec_realign_load_v16qi): New define_insn.
* config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
(ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
* config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
(altivec_builtin_mask_for_store): New variables.
(rs6000_builtin_mask_for_load): New function. Implements
TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
(rs6000_builtin_mask_for_store): New function. Implements
TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
(rs6000_expand_builtin): Expand the target builtins
builtin_mask_for_load and builtin_mask_for_store.
(altivec_init_builtins): Initialize the new target builtins.
* config/i386/i386.c (ix86_misaligned_mem_ok): New function.
Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
* tree-vectorizer.c (vect_create_data_ref): Renamed to
vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
(vect_create_addr_base_for_vector_ref): Additional argument (offset).
(vectorizable_store): Call vect_create_data_ref_ptr with additional
arguments, and create an indirect_ref with its return value data_ref.
Check aligned_access_p.
(vectorizable_load): Handle misaligned loads, using software-pipelined
scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
vec_realign_load_optab is supported, or using a scheme without
software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
misaligned_mem_ok is supported.
(vect_finish_stmt_generation): Typo.
(vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
(vect_analyze_data_refs_alignment): Don't fail vectorization in the
presence of misaligned loads.
(vect_analyze_data_ref_access): Add check for constant init.
(vect_get_symbl_and_dr): Remove duplicate line.
* tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
From-SVN: r87948
2004-09-23 14:34:35 +00:00
Eric Christopher
d3147f6452
builtins.c (simplify_builtin_va_start): Remove.
...
2004-09-22 Eric Christopher <echristo@redhat.com>
* builtins.c (simplify_builtin_va_start): Remove.
(simplify_builtin): Ditto.
(fold_builtin_strchr): Ditto.
(simplify_builtin_*): Rename remainders to fold_builtin_*.
(expand_builtin): Fix up for above changes.
(fold_builtin_1): Add new folders. Change for above.
(expand_builtin_va_start): Call fold_builtin_next_arg.
* gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
* tree.h: Remove prototype for simplify_builtin.
From-SVN: r87921
2004-09-23 06:16:09 +00:00
Jeffrey D. Oldham
6615c44615
alias.c (find_base_decl): Remove unreachable case '3' block.
...
2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
Zack Weinberg <zack@codesourcery.com>
* alias.c (find_base_decl): Remove unreachable case '3' block.
* expr.c (safe_from_p): Abort if passed a type.
* tree-gimple.c (recalculate_side_effects): Abort if passed
anything other than an expression.
* tree-ssa-pre.c (phi_translate): Return expr immediately if
is_gimple_min_invariant is true for it. Reorder cases for clarity.
Abort on un-handled tree classes.
(valid_in_set): Likewise.
* tree.c (tree_code_class_strings): New static data.
* tree.h (enum tree_code_class): New.
(tree_code_class_strings): Declare.
(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
* tree.def, c-common.def, objc/objc-tree.def: Use
tree_code_class enumeration constants instead of code letters.
* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
Update to match.
* LANGUAGES: Add note about change.
ada:
* ada-tree.def: Use tree_code_class enumeration constants
instead of code letters.
* ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
Update for new tree-class enumeration constants.
cp:
* cp-tree.def: Use tree_code_class enumeration constants
instead of code letters.
* call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c
* mangle.c, pt.c, semantics.c, tree.c, typeck.c:
Update for new tree-class enumeration constants.
fortran:
* f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
enumeration constants.
java:
* java-tree.def: Use tree_code_class enumeration constants
instead of code letters.
* java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
new tree-class enumeration constants.
treelang:
* treetree.c: Update for new tree-class enumeration constants.
From-SVN: r87675
2004-09-17 21:55:02 +00:00
Kazu Hirata
b01d837fa2
basic-block.h, [...]: Fix comment typos.
...
* basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
gimplify.c, lambda-code.c, optabs.c, predict.c,
tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
tree-ssa.c, vec.h: Fix comment typos. Follow spelling
conventions.
From-SVN: r87637
2004-09-17 09:14:12 +00:00
Richard Henderson
67f2362044
re PR middle-end/17397 (gimplify ICE)
...
PR middle-end/17397
* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
while folding <ADDR_EXPR <INDIRECT_REF X>>.
From-SVN: r87528
2004-09-14 19:09:05 -07:00
Geoffrey Keating
769da81848
gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless temporary variables.
...
* gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
temporary variables.
From-SVN: r87335
2004-09-11 00:25:00 +00:00
Nathan Sidwell
282899df0f
gcse.c (INSN_CUID, [...]): Use gcc_assert and gcc_unreachable.
...
* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
hoist_code, extract_mentioned_regs_helper, compute_store_table,
insert_store): Use gcc_assert and gcc_unreachable.
* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
ggc_record_overhead): Likewise.
* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
ggc_pop_context, clear_marks, validate_free_objects,
ggc_pch_read): Likewise.
* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
ggc_push_context, check_cookies, ggc_collect,
ggc_print_statistics): Likewise.
* gimple-low.c (lower_function_body, lower_stmt,
lower_bind_expr): Likewise.
* gimplify.c (gimple_tree_eq, push_gimplify_context,
pop_gimplify_context, gimple_pop_condition, create_tmp_var,
declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
gimplify_case_label_expr, gimplify_exit_block_expr,
canonicalize_component_ref, gimplify_compound_lval,
gimplify_self_mod_expr, gimplify_call_expr,
gimplify_init_ctor_eval, gimplify_init_constructor,
gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
gimplify_expr, check_pointer_types_r,
force_gimple_operand): Likewise.
* global.c (global_alloc, build_insn_chain): Likewise.
* graph.c (clean_graph_dump_file,
finish_graph_dump_file): Likewise.
gcov-io.c (gcov_open): Use GCOV_CHECK.
From-SVN: r87240
2004-09-09 13:54:07 +00:00
Kazu Hirata
8c27b7d4d1
c-common.c, [...]: Fix comment formatting.
...
* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
vec.h: Fix comment formatting.
From-SVN: r87105
2004-09-05 16:05:06 +00:00
Kazu Hirata
2a7e31df70
c-common.c, [...]: Fix comment typos.
...
* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-niter.c, tree-ssa-operands.c,
tree-ssa-operands.h, tree-ssa-propagate.c,
tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
vec.c, vec.h: Fix comment typos. Follow spelling conventions.
From-SVN: r87104
2004-09-05 15:24:15 +00:00