diff options
author | Eric Christopher <echristo@gmail.com> | 2015-02-20 08:01:55 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2015-02-20 08:01:55 +0000 |
commit | ad1ef04ab160848f6e204ad03e35a8a22367befc (patch) | |
tree | 7bf381730eff989981a66eb3aa22e469ad217676 /llvm/lib/Target/X86 | |
parent | 4369c9b42cdffa63e226531885644663907f6822 (diff) | |
download | bcm5719-llvm-ad1ef04ab160848f6e204ad03e35a8a22367befc.tar.gz bcm5719-llvm-ad1ef04ab160848f6e204ad03e35a8a22367befc.zip |
Save the MachineFunction in startFunction so that we can use it for
lookups of the subtarget later.
llvm-svn: 229996
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.h | 1 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86MCInstLower.cpp | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.h b/llvm/lib/Target/X86/X86AsmPrinter.h index 3a3cbadc365..d101b8ca0e4 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.h +++ b/llvm/lib/Target/X86/X86AsmPrinter.h @@ -57,6 +57,7 @@ class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter { void emitShadowPadding(MCStreamer &OutStreamer, const MCSubtargetInfo &STI); private: TargetMachine &TM; + const MachineFunction *MF; std::unique_ptr<MCCodeEmitter> CodeEmitter; bool InShadow; diff --git a/llvm/lib/Target/X86/X86MCInstLower.cpp b/llvm/lib/Target/X86/X86MCInstLower.cpp index e7f5b784bcc..6af59d43531 100644 --- a/llvm/lib/Target/X86/X86MCInstLower.cpp +++ b/llvm/lib/Target/X86/X86MCInstLower.cpp @@ -74,10 +74,11 @@ namespace llvm { X86AsmPrinter::StackMapShadowTracker::~StackMapShadowTracker() {} void - X86AsmPrinter::StackMapShadowTracker::startFunction(MachineFunction &MF) { + X86AsmPrinter::StackMapShadowTracker::startFunction(MachineFunction &F) { + MF = &F; CodeEmitter.reset(TM.getTarget().createMCCodeEmitter( - *MF.getSubtarget().getInstrInfo(), *MF.getSubtarget().getRegisterInfo(), - MF.getSubtarget(), MF.getContext())); + *MF->getSubtarget().getInstrInfo(), *MF->getSubtarget().getRegisterInfo(), + MF->getSubtarget(), MF->getContext())); } void X86AsmPrinter::StackMapShadowTracker::count(MCInst &Inst, @@ -99,7 +100,7 @@ namespace llvm { if (InShadow && CurrentShadowSize < RequiredShadowSize) { InShadow = false; EmitNops(OutStreamer, RequiredShadowSize - CurrentShadowSize, - TM.getSubtarget<X86Subtarget>().is64Bit(), STI); + MF->getSubtarget<X86Subtarget>().is64Bit(), STI); } } |