В статье описывается схема построения спекулятивной оптимизации, основанная на выборе важных для оптимизации свойств потока управления и потока данных программы и оценке вероятностей их выполнения.Найденные вероятности используются при поиске выгодных и построении восстановительных преобразований. Для оптимизаций, спекулятивно выполняющих только перемещения команд вверх по графу потока управления, по предложенной схеме разработан метод, включающий алгоритм нахождения вероятностей зависимостей по данным и по управлению, оценки выгоды спекулятивного перемещения и построения кода восстановления. По этому методу разработан и реализован алгоритм спекулятивного планирования команд для архитектуры Intel Itanium. Приводятся особенности реализации алгоритма и экспериментальные результаты.