summaryrefslogtreecommitdiff
path: root/gcc/lra-int.h
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2015-07-09 15:39:53 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2015-07-09 15:39:53 +0000
commit9d86e84ec0b576bd3586cf05f6605fee316c9cd4 (patch)
tree29d233e4e61f3cd1493734ba7208f952708bef72 /gcc/lra-int.h
parentc551c21da8eca5bbc4798b7db33c8f3c9f39ec06 (diff)
re PR rtl-optimization/66782 (Unable to run 64-bit wine after MS->SYSV register changes)
2015-07-09 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/66782 * lra-int.h (struct lra_insn_recog_data): Add comment about clobbered hard regs for arg_hard_regs. * lra.c (lra_set_insn_recog_data): Add clobbered hard regs. * lra-lives.c (process_bb_lives): Process clobbered hard regs. Add condition for processing used hard regs. * lra-constraints.c (update_ebb_live_info, inherit_in_ebb): Process clobbered hard regs. From-SVN: r225618
Diffstat (limited to 'gcc/lra-int.h')
-rw-r--r--gcc/lra-int.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/lra-int.h b/gcc/lra-int.h
index a7763e856dd..5c640426686 100644
--- a/gcc/lra-int.h
+++ b/gcc/lra-int.h
@@ -267,9 +267,11 @@ struct lra_insn_recog_data
duplication numbers: */
rtx **operand_loc; /* The operand locations, NULL if no operands. */
rtx **dup_loc; /* The dup locations, NULL if no dups. */
- /* Number of hard registers implicitly used in given call insn. The
- value can be NULL or points to array of the hard register numbers
- ending with a negative value. */
+ /* Number of hard registers implicitly used/clobbered in given call
+ insn. The value can be NULL or points to array of the hard
+ register numbers ending with a negative value. To differ
+ clobbered and used hard regs, clobbered hard regs are incremented
+ by FIRST_PSEUDO_REGISTER. */
int *arg_hard_regs;
/* Cached value of get_preferred_alternatives. */
alternative_mask preferred_alternatives;