1. Use SubtargetFeatures in llc/lli.

2. Propagate feature "string" to all targets.

3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Skeleton/SkeletonTargetMachine.cpp b/lib/Target/Skeleton/SkeletonTargetMachine.cpp
index 8b7a8db..df27b77 100644
--- a/lib/Target/Skeleton/SkeletonTargetMachine.cpp
+++ b/lib/Target/Skeleton/SkeletonTargetMachine.cpp
@@ -29,7 +29,8 @@
 /// SkeletonTargetMachine ctor - Create an ILP32 architecture model
 ///
 SkeletonTargetMachine::SkeletonTargetMachine(const Module &M,
-                                           IntrinsicLowering *IL)
+                                           IntrinsicLowering *IL,
+                                           const std::string &FS)
   : TargetMachine("Skeleton", IL, true, 4, 4, 4, 4, 4),
     FrameInfo(TargetFrameInfo::StackGrowsDown, 8, -4), JITInfo(*this) {
 }
diff --git a/lib/Target/Skeleton/SkeletonTargetMachine.h b/lib/Target/Skeleton/SkeletonTargetMachine.h
index 0480a6e..0607b6f 100644
--- a/lib/Target/Skeleton/SkeletonTargetMachine.h
+++ b/lib/Target/Skeleton/SkeletonTargetMachine.h
@@ -28,7 +28,8 @@
     TargetFrameInfo FrameInfo;
     SkeletonJITInfo JITInfo;
   public:
-    SkeletonTargetMachine(const Module &M, IntrinsicLowering *IL);
+    SkeletonTargetMachine(const Module &M, IntrinsicLowering *IL,
+                          const std::string &FS);
 
     virtual const SkeletonInstrInfo *getInstrInfo() const { return &InstrInfo; }
     virtual const TargetFrameInfo  *getFrameInfo() const { return &FrameInfo; }