+2015-05-30 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
+ correct block for use of r12.
+ (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
+
2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/66215
/* Unfortunately we also need to do some code scanning, since
r12 may have been substituted for the pseudo. */
rtx_insn *insn;
- basic_block bb = ENTRY_BLOCK_PTR_FOR_FN (cfun);
+ basic_block bb = ENTRY_BLOCK_PTR_FOR_FN (cfun)->next_bb;
FOR_BB_INSNS (bb, insn)
if (NONDEBUG_INSN_P (insn))
{
if (!info->push_p)
return;
+ if (global_regs[29])
+ {
+ error ("-fsplit-stack uses register r29");
+ inform (DECL_SOURCE_LOCATION (global_regs_decl[29]),
+ "conflicts with %qD", global_regs_decl[29]);
+ }
+
allocate = info->total_size;
if (allocate > (unsigned HOST_WIDE_INT) 1 << 31)
{