Add MCObjectFileInfo and sink the MCSections initialization code from

TargetLoweringObjectFileImpl down to MCObjectFileInfo.

TargetAsmInfo is done to one last method. It's *almost* gone!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2011-07-20 05:58:47 +00:00
parent 86c98145b2
commit e76a33b956
27 changed files with 900 additions and 840 deletions

View File

@@ -26,6 +26,7 @@ namespace llvm {
class MCLabel;
class MCDwarfFile;
class MCDwarfLoc;
class MCObjectFileInfo;
class MCRegisterInfo;
class MCLineSection;
class StringRef;
@@ -50,6 +51,9 @@ namespace llvm {
/// The MCRegisterInfo for this target.
const MCRegisterInfo &MRI;
/// The MCObjectFileInfo for this target.
const MCObjectFileInfo *MOFI;
const TargetAsmInfo *TAI;
/// Allocator - Allocator object used for creating machine code objects.
@@ -115,13 +119,15 @@ namespace llvm {
public:
explicit MCContext(const MCAsmInfo &MAI, const MCRegisterInfo &MRI,
const TargetAsmInfo *TAI);
const MCObjectFileInfo *MOFI, const TargetAsmInfo *TAI);
~MCContext();
const MCAsmInfo &getAsmInfo() const { return MAI; }
const MCRegisterInfo &getRegisterInfo() const { return MRI; }
const MCObjectFileInfo *getObjectFileInfo() const { return MOFI; }
const TargetAsmInfo &getTargetAsmInfo() const { return *TAI; }
void setAllowTemporaryLabels(bool Value) { AllowTemporaryLabels = Value; }