PR debug/50299
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Sep 2011 15:49:38 +0000 (15:49 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Sep 2011 15:49:38 +0000 (15:49 +0000)
commitb4eeceb9b7f596eef6a585effb14cd3850a273cc
tree34a400a54600fe6c44115b7bb2447a9fc4285f81
parentbf412f98ddb900fedd06b4a48371ac32368c3a4f
PR debug/50299
* calls.c (load_register_parameters): Use use_reg_mode instead
of use_reg when adding a single register CALL_INSN_FUNCTION_USAGE
entry.
(expand_call): Set EXPR_LIST mode to TYPE_MODE of the argument
for stack CALL_INSN_FUNCTION_USAGE uses.
* expr.h (use_reg_mode): New prototype.
(use_reg): Changed into inline around use_reg_mode.
* expr.c (use_reg): Renamed to...
(use_reg_mode): ... this.  Added MODE argument, set EXPR_LIST
mode to that mode instead of VOIDmode.
* var-tracking.c (prepare_call_arguments): Don't track parameters
whose EXPR_LIST mode is VOIDmode, BLKmode or X mode isn't convertible
to it using lowpart_subreg.  Convert VALUE and REG/MEM to the
EXPR_LIST mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178784 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/calls.c
gcc/expr.c
gcc/expr.h
gcc/var-tracking.c