1. A method, in a data processing system, for path-sensitive analysis for reducing rollback overheads, the method comprising: receiving, in a compiler running in the data processing system, program code to be compiled to form compiled code; dividing, by the compiler, the program code into a plurality of basic blocks; determining, by the compiler, a restore register set for each of the plurality of basic blocks to form one or more restore register sets; storing, by the compiler, the plurality of restore register sets; inserting, by the compiler, a plurality of variables indicating rollback points into the compiled code; generating, by the compiler, a rollback routine; inserting the rollback routine into the compiled code to form modified code such that responsive to a rollback during execution of the compiled code, the rollback routine identifies a restore register set from the stored plurality of restore register sets based on the one or more variables and restores registers identified in the identified restore register set; and providing the modified code and the stored plurality of restore register sets to a processor for execution.