[llvm] r175322 - Temporary revert of 175320.

Bill Wendling isanbard at gmail.com
Fri Feb 15 15:22:32 PST 2013


Author: void
Date: Fri Feb 15 17:22:32 2013
New Revision: 175322

URL: http://llvm.org/viewvc/llvm-project?rev=175322&view=rev
Log:
Temporary revert of 175320.

Modified:
    llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
    llvm/trunk/lib/Target/ARM/ARMSubtarget.h
    llvm/trunk/lib/Target/X86/X86Subtarget.cpp
    llvm/trunk/lib/Target/X86/X86Subtarget.h
    llvm/trunk/test/CodeGen/X86/subtarget-feature-change.ll

Modified: llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp?rev=175322&r1=175321&r2=175322&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp Fri Feb 15 17:22:32 2013
@@ -45,55 +45,51 @@ ARMSubtarget::ARMSubtarget(const std::st
                            const std::string &FS)
   : ARMGenSubtargetInfo(TT, CPU, FS)
   , ARMProcFamily(Others)
+  , HasV4TOps(false)
+  , HasV5TOps(false)
+  , HasV5TEOps(false)
+  , HasV6Ops(false)
+  , HasV6T2Ops(false)
+  , HasV7Ops(false)
+  , HasVFPv2(false)
+  , HasVFPv3(false)
+  , HasVFPv4(false)
+  , HasNEON(false)
+  , UseNEONForSinglePrecisionFP(false)
+  , UseMulOps(UseFusedMulOps)
+  , SlowFPVMLx(false)
+  , HasVMLxForwarding(false)
+  , SlowFPBrcc(false)
+  , InThumbMode(false)
+  , HasThumb2(false)
+  , IsMClass(false)
+  , NoARM(false)
+  , PostRAScheduler(false)
+  , IsR9Reserved(ReserveR9)
+  , UseMovt(false)
+  , SupportsTailCall(false)
+  , HasFP16(false)
+  , HasD16(false)
+  , HasHardwareDivide(false)
+  , HasHardwareDivideInARM(false)
+  , HasT2ExtractPack(false)
+  , HasDataBarrier(false)
+  , Pref32BitThumb(false)
+  , AvoidCPSRPartialUpdate(false)
+  , AvoidMOVsShifterOperand(false)
+  , HasRAS(false)
+  , HasMPExtension(false)
+  , FPOnlySP(false)
+  , AllowsUnalignedMem(false)
+  , Thumb2DSP(false)
+  , UseNaClTrap(false)
   , stackAlignment(4)
   , CPUString(CPU)
   , TargetTriple(TT)
   , TargetABI(ARM_ABI_APCS) {
-  initializeEnvironment();
   resetSubtargetFeatures(CPU, FS);
 }
 
-void ARMSubtarget::initializeEnvironment() {
-  HasV4TOps = false;
-  HasV5TOps = false;
-  HasV5TEOps = false;
-  HasV6Ops = false;
-  HasV6T2Ops = false;
-  HasV7Ops = false;
-  HasVFPv2 = false;
-  HasVFPv3 = false;
-  HasVFPv4 = false;
-  HasNEON = false;
-  UseNEONForSinglePrecisionFP = false;
-  UseMulOps = UseFusedMulOps;
-  SlowFPVMLx = false;
-  HasVMLxForwarding = false;
-  SlowFPBrcc = false;
-  InThumbMode = false;
-  HasThumb2 = false;
-  IsMClass = false;
-  NoARM = false;
-  PostRAScheduler = false;
-  IsR9Reserved = ReserveR9;
-  UseMovt = false;
-  SupportsTailCall = false;
-  HasFP16 = false;
-  HasD16 = false;
-  HasHardwareDivide = false;
-  HasHardwareDivideInARM = false;
-  HasT2ExtractPack = false;
-  HasDataBarrier = false;
-  Pref32BitThumb = false;
-  AvoidCPSRPartialUpdate = false;
-  AvoidMOVsShifterOperand = false;
-  HasRAS = false;
-  HasMPExtension = false;
-  FPOnlySP = false;
-  AllowsUnalignedMem = false;
-  Thumb2DSP = false;
-  UseNaClTrap = false;
-}
-
 void ARMSubtarget::resetSubtargetFeatures(const MachineFunction *MF) {
   AttributeSet FnAttrs = MF->getFunction()->getAttributes();
   Attribute CPUAttr = FnAttrs.getAttribute(AttributeSet::FunctionIndex,
@@ -104,10 +100,8 @@ void ARMSubtarget::resetSubtargetFeature
     !CPUAttr.hasAttribute(Attribute::None) ?CPUAttr.getValueAsString() : "";
   std::string FS =
     !FSAttr.hasAttribute(Attribute::None) ? FSAttr.getValueAsString() : "";
-  if (!FS.empty()) {
-    initializeEnvironment();
+  if (!FS.empty())
     resetSubtargetFeatures(CPU, FS);
-  }
 }
 
 void ARMSubtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) {

Modified: llvm/trunk/lib/Target/ARM/ARMSubtarget.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMSubtarget.h?rev=175322&r1=175321&r2=175322&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMSubtarget.h (original)
+++ llvm/trunk/lib/Target/ARM/ARMSubtarget.h Fri Feb 15 17:22:32 2013
@@ -204,10 +204,8 @@ protected:
 
   /// \brief Reset the features for the X86 target.
   virtual void resetSubtargetFeatures(const MachineFunction *MF);
-private:
-  void initializeEnvironment();
   void resetSubtargetFeatures(StringRef CPU, StringRef FS);
-public:
+
   void computeIssueWidth();
 
   bool hasV4TOps()  const { return HasV4TOps;  }

Modified: llvm/trunk/lib/Target/X86/X86Subtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Subtarget.cpp?rev=175322&r1=175321&r2=175322&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Fri Feb 15 17:22:32 2013
@@ -336,10 +336,8 @@ void X86Subtarget::resetSubtargetFeature
     !CPUAttr.hasAttribute(Attribute::None) ?CPUAttr.getValueAsString() : "";
   std::string FS =
     !FSAttr.hasAttribute(Attribute::None) ? FSAttr.getValueAsString() : "";
-  if (!FS.empty()) {
-    initializeEnvironment();
+  if (!FS.empty())
     resetSubtargetFeatures(CPU, FS);
-  }
 }
 
 void X86Subtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) {
@@ -419,50 +417,46 @@ void X86Subtarget::resetSubtargetFeature
     stackAlignment = 16;
 }
 
-void X86Subtarget::initializeEnvironment() {
-  PICStyle = PICStyles::None;
-  X86SSELevel = NoMMXSSE;
-  X863DNowLevel = NoThreeDNow;
-  HasCMov = false;
-  HasX86_64 = false;
-  HasPOPCNT = false;
-  HasSSE4A = false;
-  HasAES = false;
-  HasPCLMUL = false;
-  HasFMA = false;
-  HasFMA4 = false;
-  HasXOP = false;
-  HasMOVBE = false;
-  HasRDRAND = false;
-  HasF16C = false;
-  HasFSGSBase = false;
-  HasLZCNT = false;
-  HasBMI = false;
-  HasBMI2 = false;
-  HasRTM = false;
-  HasADX = false;
-  IsBTMemSlow = false;
-  IsUAMemFast = false;
-  HasVectorUAMem = false;
-  HasCmpxchg16b = false;
-  UseLeaForSP = false;
-  HasSlowDivide = false;
-  PostRAScheduler = false;
-  PadShortFunctions = false;
-  stackAlignment = 4;
-  // FIXME: this is a known good value for Yonah. How about others?
-  MaxInlineSizeThreshold = 128;
-}
-
 X86Subtarget::X86Subtarget(const std::string &TT, const std::string &CPU,
                            const std::string &FS,
                            unsigned StackAlignOverride, bool is64Bit)
   : X86GenSubtargetInfo(TT, CPU, FS)
   , X86ProcFamily(Others)
+  , PICStyle(PICStyles::None)
+  , X86SSELevel(NoMMXSSE)
+  , X863DNowLevel(NoThreeDNow)
+  , HasCMov(false)
+  , HasX86_64(false)
+  , HasPOPCNT(false)
+  , HasSSE4A(false)
+  , HasAES(false)
+  , HasPCLMUL(false)
+  , HasFMA(false)
+  , HasFMA4(false)
+  , HasXOP(false)
+  , HasMOVBE(false)
+  , HasRDRAND(false)
+  , HasF16C(false)
+  , HasFSGSBase(false)
+  , HasLZCNT(false)
+  , HasBMI(false)
+  , HasBMI2(false)
+  , HasRTM(false)
+  , HasADX(false)
+  , IsBTMemSlow(false)
+  , IsUAMemFast(false)
+  , HasVectorUAMem(false)
+  , HasCmpxchg16b(false)
+  , UseLeaForSP(false)
+  , HasSlowDivide(false)
+  , PostRAScheduler(false)
+  , PadShortFunctions(false)
+  , stackAlignment(4)
+  // FIXME: this is a known good value for Yonah. How about others?
+  , MaxInlineSizeThreshold(128)
   , TargetTriple(TT)
   , StackAlignOverride(StackAlignOverride)
   , In64BitMode(is64Bit) {
-  initializeEnvironment();
   resetSubtargetFeatures(CPU, FS);
 }
 

Modified: llvm/trunk/lib/Target/X86/X86Subtarget.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Subtarget.h?rev=175322&r1=175321&r2=175322&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86Subtarget.h (original)
+++ llvm/trunk/lib/Target/X86/X86Subtarget.h Fri Feb 15 17:22:32 2013
@@ -201,10 +201,8 @@ public:
 
   /// \brief Reset the features for the X86 target.
   virtual void resetSubtargetFeatures(const MachineFunction *MF);
-private:
-  void initializeEnvironment();
   void resetSubtargetFeatures(StringRef CPU, StringRef FS);
-public:
+
   /// Is this x86_64? (disregarding specific ABI / programming model)
   bool is64Bit() const {
     return In64BitMode;

Modified: llvm/trunk/test/CodeGen/X86/subtarget-feature-change.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/subtarget-feature-change.ll?rev=175322&r1=175321&r2=175322&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/subtarget-feature-change.ll (original)
+++ llvm/trunk/test/CodeGen/X86/subtarget-feature-change.ll Fri Feb 15 17:22:32 2013
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -march=x86-64 | FileCheck %s
+; XFAIL: *
 
 ; This should not generate SSE instructions:
 ;





More information about the llvm-commits mailing list