projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[X86] Clarify some stackmap shadow optimization code as based on review
[oota-llvm.git]
/
lib
/
Target
/
X86
/
X86MCInstLower.cpp
diff --git
a/lib/Target/X86/X86MCInstLower.cpp
b/lib/Target/X86/X86MCInstLower.cpp
index 4b55f00db6397f5110c19782f2a712e101de5e98..96ab70a29a371f59f02955215debb9aaaefd5b21 100644
(file)
--- a/
lib/Target/X86/X86MCInstLower.cpp
+++ b/
lib/Target/X86/X86MCInstLower.cpp
@@
-66,7
+66,7
@@
static void EmitNops(MCStreamer &OS, unsigned NumBytes, bool Is64Bit,
namespace llvm {
X86AsmPrinter::StackMapShadowTracker::StackMapShadowTracker(TargetMachine &TM)
namespace llvm {
X86AsmPrinter::StackMapShadowTracker::StackMapShadowTracker(TargetMachine &TM)
- : TM(TM),
Count
(false), RequiredShadowSize(0), CurrentShadowSize(0) {}
+ : TM(TM),
InShadow
(false), RequiredShadowSize(0), CurrentShadowSize(0) {}
X86AsmPrinter::StackMapShadowTracker::~StackMapShadowTracker() {}
X86AsmPrinter::StackMapShadowTracker::~StackMapShadowTracker() {}
@@
-80,7
+80,7
@@
namespace llvm {
void X86AsmPrinter::StackMapShadowTracker::count(MCInst &Inst,
const MCSubtargetInfo &STI) {
void X86AsmPrinter::StackMapShadowTracker::count(MCInst &Inst,
const MCSubtargetInfo &STI) {
- if (
Count
) {
+ if (
InShadow
) {
SmallString<256> Code;
SmallVector<MCFixup, 4> Fixups;
raw_svector_ostream VecOS(Code);
SmallString<256> Code;
SmallVector<MCFixup, 4> Fixups;
raw_svector_ostream VecOS(Code);
@@
-88,16
+88,17
@@
namespace llvm {
VecOS.flush();
CurrentShadowSize += Code.size();
if (CurrentShadowSize >= RequiredShadowSize)
VecOS.flush();
CurrentShadowSize += Code.size();
if (CurrentShadowSize >= RequiredShadowSize)
-
Count
= false; // The shadow is big enough. Stop counting.
+
InShadow
= false; // The shadow is big enough. Stop counting.
}
}
void X86AsmPrinter::StackMapShadowTracker::emitShadowPadding(
MCStreamer &OutStreamer, const MCSubtargetInfo &STI) {
}
}
void X86AsmPrinter::StackMapShadowTracker::emitShadowPadding(
MCStreamer &OutStreamer, const MCSubtargetInfo &STI) {
- if (Count && CurrentShadowSize < RequiredShadowSize)
+ if (InShadow && CurrentShadowSize < RequiredShadowSize) {
+ InShadow = false;
EmitNops(OutStreamer, RequiredShadowSize - CurrentShadowSize,
TM.getSubtarget<X86Subtarget>().is64Bit(), STI);
EmitNops(OutStreamer, RequiredShadowSize - CurrentShadowSize,
TM.getSubtarget<X86Subtarget>().is64Bit(), STI);
- Count = false;
+ }
}
void X86AsmPrinter::EmitAndCountInstruction(MCInst &Inst) {
}
void X86AsmPrinter::EmitAndCountInstruction(MCInst &Inst) {