mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-06 17:24:34 +00:00
Move most user of TargetMachine::getDataLayout to the Module one
Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. This patch is quite boring overall, except for some uglyness in ASMPrinter which has a getDataLayout function but has some clients that use it without a Module (llmv-dsymutil, llvm-dwarfdump), so some methods are taking a DataLayout as parameter. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11090 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242386 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -129,19 +129,18 @@ MipsTargetObjectFile::SelectSectionForGlobal(const GlobalValue *GV,
|
||||
}
|
||||
|
||||
/// Return true if this constant should be placed into small data section.
|
||||
bool MipsTargetObjectFile::
|
||||
IsConstantInSmallSection(const Constant *CN, const TargetMachine &TM) const {
|
||||
bool MipsTargetObjectFile::IsConstantInSmallSection(
|
||||
const DataLayout &DL, const Constant *CN, const TargetMachine &TM) const {
|
||||
return (static_cast<const MipsTargetMachine &>(TM)
|
||||
.getSubtargetImpl()
|
||||
->useSmallSection() &&
|
||||
LocalSData && IsInSmallSection(TM.getDataLayout()->getTypeAllocSize(
|
||||
CN->getType())));
|
||||
LocalSData && IsInSmallSection(DL.getTypeAllocSize(CN->getType())));
|
||||
}
|
||||
|
||||
/// Return true if this constant should be placed into small data section.
|
||||
MCSection *MipsTargetObjectFile::getSectionForConstant(
|
||||
const DataLayout &DL, SectionKind Kind, const Constant *C) const {
|
||||
if (IsConstantInSmallSection(C, *TM))
|
||||
if (IsConstantInSmallSection(DL, C, *TM))
|
||||
return SmallDataSection;
|
||||
|
||||
// Otherwise, we work the same as ELF.
|
||||
|
Reference in New Issue
Block a user