lra-remat.c
41.2 KB
-
When lra-remat rematerializes an instruction with a clobber, it checks that the… · 1a2fa2f8
When lra-remat rematerializes an instruction with a clobber, it checks that the clobber does not kill live registers. When lra-remat rematerializes an instruction with a clobber, it checks that the clobber does not kill live registers. However it fails to check that the clobber also doesn't overlap with the destination register of the final rematerialized instruction. As a result it is possible to generate illegal instructions with the same hard register as the destination and a clobber. Fix this by also checking for overlaps with the destination register. gcc/ PR rtl-optimization/80754 * lra-remat.c (do_remat): Add overlap checks for dst_regno. From-SVN: r248424
Wilco Dijkstra committed