forked from OSchip/llvm-project
Simplify the subtarget info, allow the asmwriter to do some target sensing
based on TargetType. llvm-svn: 24478
This commit is contained in:
parent
99be8f766f
commit
40f8c8450d
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue