[FastISel] Reduce spills around mem-intrinsic calls
FastISel generates instructions to materialize "local values" at the top of a block, in the hope that these values could be reused within the block. To reduce spills and restores, FastISel treats calls as sub-block boundaries, flushing the "local value map" at each call. This patch treats the mem* intrinsics as if they were calls, because at O0 generally they are calls. Eliminating these spills/restores is actually better for debugging (especially a "continue at this line" command), code size, stack frame size, and maybe even performance. Differential Revision: https://reviews.llvm.org/D90877
Loading
Please sign in to comment