[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