Constant propagation (CP) is one of the most widely used optimizations in practice (cf. [9]). Intuitively, it addresses the problem of statically detecting whether an expression always evaluates to a unique constant at run-time. Unfortunately, as proved by different authors [4, 16], CP is in general undecidable even if the interpretation of branches is completely ignored. On the other hand, it is certainly decidable in more restricted settings, like on loop-free programs (cf. [7]). In this paper, we explore the complexity of CP for a three-dimensional taxonomy. We present an almost complete complexity classification, leaving only two upper bounds open. 1 Motivation Constant propagation (CP) is one of the most widely used optimizations in practice (cf. [1, 4, 9]). Intuitively, it aims at detecting expressions that always yield a unique constant value at run-time. Unfortunately, the constant propagation problem is undecidable even if the interpretation of branches is completely ignored...