My change to the -fipa-ra bookkeeping used ALL_REGS as the supposedly safe default assumption, but ALL_REGS isn't literally all registers, just a close approximation.
This caused a bootstrap failure on arm-linux-gnu, where the condition code register isn't in ALL_REGS and so was being masked out of some call-clobbered sets. Tested on arm-linux-gnueabihf (which now bootstraps) and applied as obvious as r276489. Sorry for the breakage... Richard 2019-10-02 Richard Sandiford <richard.sandif...@arm.com> gcc/ * cgraph.c (cgraph_node::rtl_info): Use SET_HARD_REG_SET instead of reg_class_contents[ALL_REGS]. Index: gcc/cgraph.c =================================================================== --- gcc/cgraph.c 2019-10-02 14:11:33.275497853 +0100 +++ gcc/cgraph.c 2019-10-02 22:18:36.880570656 +0100 @@ -1866,7 +1866,7 @@ cgraph_node::rtl_info (const_tree decl) if (node->rtl == NULL) { node->rtl = ggc_cleared_alloc<cgraph_rtl_info> (); - node->rtl->function_used_regs = reg_class_contents[ALL_REGS]; + SET_HARD_REG_SET (node->rtl->function_used_regs); } return node->rtl; }