Index: src/IceTargetLowering.h |
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h |
index 39e08def9b2c1a684d2437773f4ff76312e9ae80..c6d90c86faed27d2cf1b4d38e00fde33def4624e 100644 |
--- a/src/IceTargetLowering.h |
+++ b/src/IceTargetLowering.h |
@@ -121,6 +121,8 @@ public: |
// Tries to do address mode optimization on a single instruction. |
void doAddressOpt(); |
+ // Randomly insert NOPs. |
+ void doNopInsertion(); |
// Lowers a single instruction. |
void lower(); |
@@ -136,6 +138,7 @@ public: |
virtual SizeT getFrameOrStackReg() const = 0; |
virtual size_t typeWidthInBytesOnStack(Type Ty) const = 0; |
bool hasComputedFrame() const { return HasComputedFrame; } |
+ bool shouldDoNopInsertion() const; |
int32_t getStackAdjustment() const { return StackAdjustment; } |
void updateStackAdjustment(int32_t Offset) { StackAdjustment += Offset; } |
void resetStackAdjustment() { StackAdjustment = 0; } |
@@ -193,6 +196,7 @@ protected: |
virtual void doAddressOptLoad() {} |
virtual void doAddressOptStore() {} |
+ virtual void randomlyInsertNop(float) {} |
Jim Stichnoth
2014/08/15 14:07:08
float Probability
wala
2014/08/15 17:57:49
Done.
|
// This gives the target an opportunity to post-process the lowered |
// expansion before returning. The primary intention is to do some |
// Register Manager activity as necessary, specifically to eagerly |