From 90f51e67ca940fb5ae291439effe23987226dc2a Mon Sep 17 00:00:00 2001 From: mpf Date: Fri, 16 Jan 2015 12:31:11 +0000 Subject: [PATCH] Adjust handling of word sized subregs for OP_OUT gcc/ * lra-constraints.c (curr_insn_transform): Change a reload pseudo of type OP_OUT to OP_INOUT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219730 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/lra-constraints.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9f45a0..b4a1ed7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2015-01-16 Robert Suchanek + * lra-constraints.c (curr_insn_transform): Change a reload pseudo of + type OP_OUT to OP_INOUT. + +2015-01-16 Robert Suchanek + * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum (high x) y) to y if x and y have the same base. diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index f102fe5..6e4be72 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -3802,6 +3802,8 @@ curr_insn_transform (bool check_only_p) (ira_class_hard_regs[goal_alt[i]][0], GET_MODE (reg), byte, mode) >= 0))))) { + if (type == OP_OUT) + type = OP_INOUT; loc = &SUBREG_REG (*loc); mode = GET_MODE (*loc); } -- 2.7.4