diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-12-09 14:34:32 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-12-09 14:34:32 +0000 |
commit | e04e0c8a63d90ddd877c987d877586a521a67875 (patch) | |
tree | a9c66cdef93ecb12542410925e78e8e5ef30311b /gcc/combine.c | |
parent | 46816709f5d7772e17f815583283eab6cc556889 (diff) | |
download | gcc-e04e0c8a63d90ddd877c987d877586a521a67875.tar.gz |
PR bootstrap/64213
Revert:
2014-11-28 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/64037
* combine.c (setup_incoming_promotions): Pass the argument
before any promotions happen to promote_function_mode.
testsuite/ChangeLog:
PR bootstrap/64213
Revert:
2014-11-28 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/64037
* g++.dg/pr64037.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218516 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 39f92009136..9ed03be2219 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1579,8 +1579,8 @@ setup_incoming_promotions (rtx_insn *first) uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg)); /* The mode and signedness of the argument as it is actually passed, - see assign_parm_setup_reg in function.c. */ - mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns1, + after any TARGET_PROMOTE_FUNCTION_ARGS-driven ABI promotions. */ + mode3 = promote_function_mode (DECL_ARG_TYPE (arg), mode2, &uns3, TREE_TYPE (cfun->decl), 0); /* The mode of the register in which the argument is being passed. */ |