/// method to print assembly for each instruction.
///
bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Let PassManager know we need debug information and relay
// the MachineDebugInfo address on to DwarfWriter.
DW.SetDebugInfo(&getAnalysis<MachineDebugInfo>());
break;
case Function::WeakLinkage:
case Function::LinkOnceLinkage:
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
SwitchToTextSection(
".section __TEXT,__textcoal_nt,coalesced,pure_instructions", F);
O << "\t.globl\t" << CurrentFnName << "\n";
}
O << CurrentFnName << ":\n";
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Emit pre-function debug information.
DW.BeginFunction(&MF);
}
if (HasDotTypeDotSizeDirective)
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Emit post-function debug information.
DW.EndFunction();
}
if (!isMemOp) O << '$';
O << PrivateGlobalPrefix << "JTI" << getFunctionNumber() << "_"
<< MO.getJumpTableIndex();
- if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ if (Subtarget->isTargetDarwin() &&
TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\"";
return;
if (!isMemOp) O << '$';
O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
<< MO.getConstantPoolIndex();
- if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ if (Subtarget->isTargetDarwin() &&
TM.getRelocationModel() == Reloc::PIC_)
O << "-\"L" << getFunctionNumber() << "$pb\"";
int Offset = MO.getOffset();
bool isMemOp = Modifier && !strcmp(Modifier, "mem");
if (!isMemOp && !isCallOp) O << '$';
// Darwin block shameless ripped from PPCAsmPrinter.cpp
- if (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ if (Subtarget->isTargetDarwin() &&
TM.getRelocationModel() != Reloc::Static) {
GlobalValue *GV = MO.getGlobal();
std::string Name = Mang->getValueName(GV);
case MachineOperand::MO_ExternalSymbol: {
bool isCallOp = Modifier && !strcmp(Modifier, "call");
if (isCallOp &&
- Subtarget->TargetType == X86Subtarget::isDarwin &&
+ Subtarget->isTargetDarwin() &&
TM.getRelocationModel() != Reloc::Static) {
std::string Name(GlobalPrefix);
Name += MO.getSymbolName();
void X86ATTAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
++EmittedInsts;
// This works around some Darwin assembler bugs.
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
switch (MI->getOpcode()) {
case X86::REP_MOVSB:
O << "rep/movsb (%esi),(%edi)\n";
default: break;
}
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
// Emit initial debug information.
DW.BeginModule(&M);
}
if (C->isNullValue() && /* FIXME: Verify correct */
(I->hasInternalLinkage() || I->hasWeakLinkage() ||
I->hasLinkOnceLinkage() ||
- (Subtarget->TargetType == X86Subtarget::isDarwin &&
+ (Subtarget->isTargetDarwin() &&
I->hasExternalLinkage() && !I->hasSection()))) {
if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid it.
if (I->hasExternalLinkage()) {
if (LCOMMDirective != NULL) {
if (I->hasInternalLinkage()) {
O << LCOMMDirective << name << "," << Size;
- if (Subtarget->TargetType == X86Subtarget::isDarwin)
+ if (Subtarget->isTargetDarwin())
O << "," << (AlignmentIsInBytes ? (1 << Align) : Align);
} else
O << COMMDirective << name << "," << Size;
switch (I->getLinkage()) {
case GlobalValue::LinkOnceLinkage:
case GlobalValue::WeakLinkage:
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
O << "\t.globl " << name << "\n"
<< "\t.weak_definition " << name << "\n";
SwitchToDataSection(".section __DATA,__const_coal,coalesced", I);
}
}
- if (Subtarget->TargetType == X86Subtarget::isDarwin) {
+ if (Subtarget->isTargetDarwin()) {
SwitchToDataSection("", 0);
// Output stubs for dynamically-linked functions