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)
commit789cb5df9ca61f8a3794a4fbde7cc020fd00a02a
tree43ab429aa1d42074e8dde401bfdad99ae74177ad
parent4fb25b7d799ea27a2c98a4d9bcf7469cc685db47
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175314 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetSubtargetInfo.h
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Target/X86/X86Subtarget.cpp
lib/Target/X86/X86Subtarget.h