return true;
}
- if (GV->getName() == "llvm.tls_init_funcs") {
- EmitTLSInitFuncs(cast<ConstantArray>(GV->getInitializer()));
- return true;
- }
-
return false;
}
}
}
-/// EmitTLSInitFuncs - Emit the TLS initialization functions.
-void AsmPrinter::EmitTLSInitFuncs(const ConstantArray *InitList) {
- const DataLayout *TD = TM.getDataLayout();
- OutStreamer.SwitchSection(getObjFileLowering().getTLSThreadInitSection());
- EmitAlignment(Log2_32(TD->getPointerPrefAlignment()));
- for (unsigned I = 0, E = InitList->getNumOperands(); I != E; ++I)
- EmitGlobalConstant(
- dyn_cast<Constant>(InitList->getOperand(I)->stripPointerCasts()));
-}
-
//===--------------------------------------------------------------------===//
// Emission and print routines
//