1. A compiler comprising: a partitioning unit operative to partition an input program into cache blocks having a size within a predetermined size limit; and a code generator operative to generate an object code for each cache block, wherein the partitioning unit comprises: a subgraph detector operative to identify, in a path representing an order of processing instruction sequences forming the input program, a subgraph including a sequence of instructions that includes only one instruction at an entry and only one instruction at an exit; and an extractor operative to extract at least a part of a source instruction sequence included in the subgraph as a new cache block and insert, in a cache block including the source instruction sequence, an instruction for calling the source instruction sequence in the new cache block.