This patch makes changes to InlineCostAnalysis to prevent inlining functions that don't have exactly the same target-cpu and target-features attribute strings as the caller function.
This is a temporary solution until we come up with a better design for attributes (see this link: http://reviews.llvm.org/D7802).