Use the 'target-features' and 'target-cpu' attributes to reset the subtarget features.
authorBill Wendling <isanbard@gmail.com>
Fri, 15 Feb 2013 22:31:27 +0000 (22:31 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 15 Feb 2013 22:31:27 +0000 (22:31 +0000)
commitaef9c37c65ac109deb87cc9128a7117f41a6f61f
tree3e3feed8a439a90ecd1520c2565047bb033ea959
parent77d56be3f02e1f96d26612aeae2c1088098b8039
Use the 'target-features' and 'target-cpu' attributes to reset the subtarget features.

If two functions require different features (e.g., `-mno-sse' vs. `-msse') then
we want to honor that, especially during LTO. We can do that by resetting the
subtarget's features depending upon the 'target-feature' attribute.

llvm-svn: 175314
llvm/include/llvm/Target/TargetSubtargetInfo.h
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
llvm/lib/Target/X86/X86Subtarget.cpp
llvm/lib/Target/X86/X86Subtarget.h