RegionDesc::Block* RegionDesc::addBlock(SrcKey sk, int length, FPInvOffset spOffset) { m_blocks.push_back( std::make_shared<Block>(sk.func(), sk.resumed(), sk.offset(), length, spOffset)); BlockPtr block = m_blocks.back(); m_data[block->id()] = BlockData(block); return block.get(); }