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

View File

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