hard to detect. what if a whole code branch is used by macos and you're on x86?
In practice, it's annoying to track if those small util functions become dead code.
in practice the exponential explosion of options may become intractable. lets say you have 10 compilation flags with 10 options each. not syre you want the compiler scanning through all that on each pass