diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-04-19 18:48:16 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-04-19 18:48:16 +0000 |
commit | 2effffd45623a38f2744f55f54d335c3e6958a4c (patch) | |
tree | 4dd57204cc834f3c4fdc0c1c15c93ab34c359dcb | |
parent | 6ecfae61dc1da9ac1631feba6e855ea614c7ad8a (diff) | |
download | bcm5719-llvm-2effffd45623a38f2744f55f54d335c3e6958a4c.tar.gz bcm5719-llvm-2effffd45623a38f2744f55f54d335c3e6958a4c.zip |
[X86] Simplify StackMapShadowTracker; NFC
- Elide trivial contructor and desctructor
- Move implementation out of an unnecessary explicit llvm namespace
scope
llvm-svn: 266794
-rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.h | 10 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86MCInstLower.cpp | 55 |
2 files changed, 27 insertions, 38 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.h b/llvm/lib/Target/X86/X86AsmPrinter.h index 0abb4f32965..c41ab6b82ed 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.h +++ b/llvm/lib/Target/X86/X86AsmPrinter.h @@ -41,9 +41,9 @@ class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter { // few instruction bytes to cover the shadow are NOPs used for padding. class StackMapShadowTracker { public: - StackMapShadowTracker(); - ~StackMapShadowTracker(); - void startFunction(MachineFunction &MF); + void startFunction(MachineFunction &MF) { + this->MF = &MF; + } void count(MCInst &Inst, const MCSubtargetInfo &STI, MCCodeEmitter *CodeEmitter); @@ -59,14 +59,14 @@ class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter { void emitShadowPadding(MCStreamer &OutStreamer, const MCSubtargetInfo &STI); private: const MachineFunction *MF; - bool InShadow; + bool InShadow = false; // RequiredShadowSize holds the length of the shadow specified in the most // recently encountered STACKMAP instruction. // CurrentShadowSize counts the number of bytes encoded since the most // recently encountered STACKMAP, stopping when that number is greater than // or equal to RequiredShadowSize. - unsigned RequiredShadowSize, CurrentShadowSize; + unsigned RequiredShadowSize = 0, CurrentShadowSize = 0; }; StackMapShadowTracker SMShadowTracker; diff --git a/llvm/lib/Target/X86/X86MCInstLower.cpp b/llvm/lib/Target/X86/X86MCInstLower.cpp index d6bea14d553..6a5e97b6c93 100644 --- a/llvm/lib/Target/X86/X86MCInstLower.cpp +++ b/llvm/lib/Target/X86/X86MCInstLower.cpp @@ -73,44 +73,33 @@ private: static void EmitNops(MCStreamer &OS, unsigned NumBytes, bool Is64Bit, const MCSubtargetInfo &STI); -namespace llvm { - X86AsmPrinter::StackMapShadowTracker::StackMapShadowTracker() - : InShadow(false), RequiredShadowSize(0), CurrentShadowSize(0) {} - - X86AsmPrinter::StackMapShadowTracker::~StackMapShadowTracker() {} - - void X86AsmPrinter::StackMapShadowTracker::startFunction(MachineFunction &F) { - MF = &F; - } - - void X86AsmPrinter::StackMapShadowTracker::count(MCInst &Inst, - const MCSubtargetInfo &STI, - MCCodeEmitter *CodeEmitter) { - if (InShadow) { - SmallString<256> Code; - SmallVector<MCFixup, 4> Fixups; - raw_svector_ostream VecOS(Code); - CodeEmitter->encodeInstruction(Inst, VecOS, Fixups, STI); - CurrentShadowSize += Code.size(); - if (CurrentShadowSize >= RequiredShadowSize) - InShadow = false; // The shadow is big enough. Stop counting. - } +void X86AsmPrinter::StackMapShadowTracker::count(MCInst &Inst, + const MCSubtargetInfo &STI, + MCCodeEmitter *CodeEmitter) { + if (InShadow) { + SmallString<256> Code; + SmallVector<MCFixup, 4> Fixups; + raw_svector_ostream VecOS(Code); + CodeEmitter->encodeInstruction(Inst, VecOS, Fixups, STI); + CurrentShadowSize += Code.size(); + if (CurrentShadowSize >= RequiredShadowSize) + InShadow = false; // The shadow is big enough. Stop counting. } +} - void X86AsmPrinter::StackMapShadowTracker::emitShadowPadding( +void X86AsmPrinter::StackMapShadowTracker::emitShadowPadding( MCStreamer &OutStreamer, const MCSubtargetInfo &STI) { - if (InShadow && CurrentShadowSize < RequiredShadowSize) { - InShadow = false; - EmitNops(OutStreamer, RequiredShadowSize - CurrentShadowSize, - MF->getSubtarget<X86Subtarget>().is64Bit(), STI); - } + if (InShadow && CurrentShadowSize < RequiredShadowSize) { + InShadow = false; + EmitNops(OutStreamer, RequiredShadowSize - CurrentShadowSize, + MF->getSubtarget<X86Subtarget>().is64Bit(), STI); } +} - void X86AsmPrinter::EmitAndCountInstruction(MCInst &Inst) { - OutStreamer->EmitInstruction(Inst, getSubtargetInfo()); - SMShadowTracker.count(Inst, getSubtargetInfo(), CodeEmitter.get()); - } -} // end llvm namespace +void X86AsmPrinter::EmitAndCountInstruction(MCInst &Inst) { + OutStreamer->EmitInstruction(Inst, getSubtargetInfo()); + SMShadowTracker.count(Inst, getSubtargetInfo(), CodeEmitter.get()); +} X86MCInstLower::X86MCInstLower(const MachineFunction &mf, X86AsmPrinter &asmprinter) |