Utility function for a codegen backend to compute cfg(target_feature), or more specifically,
to populate sess.unstable_target_features and sess.target_features (these are the first and
2nd component of the return value, respectively).
Parse the value of -Ctarget-feature, also expanding implied features,
and call the closure for each (expanded) Rust feature. If the list contains
a syntactically invalid item (not starting with +/-), the error callback is invoked.
Computes the backend target features to be added to account for retpoline flags.
Used by both LLVM and GCC since their target features are, conveniently, the same.