Simplify the subtarget info, allow the asmwriter to do some target sensing

based on TargetType.

llvm-svn: 24478
This commit is contained in:
Chris Lattner 2005-11-21 22:43:58 +00:00
parent 99be8f766f
commit 40f8c8450d
2 changed files with 2 additions and 22 deletions

View File

@ -16,11 +16,7 @@
using namespace llvm; using namespace llvm;
X86Subtarget::X86Subtarget(const Module &M, const std::string &FS) X86Subtarget::X86Subtarget(const Module &M, const std::string &FS)
: TargetSubtarget(), stackAlignment(8), : stackAlignment(8), indirectExternAndWeakGlobals(false) {
indirectExternAndWeakGlobals(false), asmDarwinLinkerStubs(false),
asmLeadingUnderscore(false), asmAlignmentIsInBytes(false),
asmPrintDotLocalConstants(false), asmPrintDotLCommConstants(false),
asmPrintConstantAlignment(false) {
// Default to ELF unless otherwise specified. // Default to ELF unless otherwise specified.
TargetType = isELF; TargetType = isELF;
@ -46,17 +42,8 @@ X86Subtarget::X86Subtarget(const Module &M, const std::string &FS)
#endif #endif
} }
switch (TargetType) { if (TargetType == isDarwin) {
case isCygwin:
asmLeadingUnderscore = true;
break;
case isDarwin:
stackAlignment = 16; stackAlignment = 16;
indirectExternAndWeakGlobals = true; indirectExternAndWeakGlobals = true;
asmDarwinLinkerStubs = true;
asmLeadingUnderscore = true;
asmPrintDotLCommConstants = true;
break;
default: break;
} }
} }

View File

@ -30,13 +30,6 @@ protected:
/// Used by instruction selector /// Used by instruction selector
bool indirectExternAndWeakGlobals; bool indirectExternAndWeakGlobals;
/// Used by the asm printer
bool asmDarwinLinkerStubs;
bool asmLeadingUnderscore;
bool asmAlignmentIsInBytes;
bool asmPrintDotLocalConstants;
bool asmPrintDotLCommConstants;
bool asmPrintConstantAlignment;
public: public:
enum { enum {
isELF, isCygwin, isDarwin, isWindows isELF, isCygwin, isDarwin, isWindows