Proving safety of speculative load instructions compile-time

David Bernstein, Michael Rodeh, Mooly Sagiv

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Speculative execution of instructions is one of the primary means for enhancing program performance of superscalar and VLIW machines. One of the pitfalls of such compile-time speculative scheduling of instructions is that it may cause run-time exceptions that did not exist in the original version of the program. As opposed to run-time hardware or software interception of such exceptions, we suggest that the compiler will analyze and prove the safety of those instructions that are candidates for speculative execution, rejecting the ones that have even a slight chance of causing an exception. Load (moving a memory operand to a register) instructions are important candidates for speculative execution, since they precondition any follow-on computation on load-store architectures. To enable speculative loads, an algorithmic scheme for proving the safety of such instructions is presented and analyzed. Given a (novel) memory layout scheme which is specially tailored to support safe memory accesses, it has been observed that a significant part of load instructions can be proven safe and thus can be made eligible for speculative execution.

Original languageEnglish
Title of host publicationESOP 1992 - 4th European Symposium on Programming, Proceedings
EditorsBernd Krieg-Bruckner
PublisherSpringer Verlag
Pages56-72
Number of pages17
ISBN (Print)9783540552536
DOIs
StatePublished - 1992
Externally publishedYes
Event4th European Symposium on Programming, ESOP 1992 held jointly with 17th Colloquium on Trees in Algebra and Programming, CAAP 1992 - Rennes, France
Duration: 26 Feb 199228 Feb 1992

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume582 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference4th European Symposium on Programming, ESOP 1992 held jointly with 17th Colloquium on Trees in Algebra and Programming, CAAP 1992
Country/TerritoryFrance
CityRennes
Period26/02/9228/02/92

Fingerprint

Dive into the research topics of 'Proving safety of speculative load instructions compile-time'. Together they form a unique fingerprint.

Cite this