Chromium Code Reviews| Index: src/IceOperand.cpp |
| diff --git a/src/IceOperand.cpp b/src/IceOperand.cpp |
| index 2d2c8cf2c3276fbf3ce89d28d116a74cdca3f54b..e053b9a6ee5f8f5b7f2f2c8aa46b638cca11b3d9 100644 |
| --- a/src/IceOperand.cpp |
| +++ b/src/IceOperand.cpp |
| @@ -92,11 +92,11 @@ bool LiveRange::overlapsInst(InstNumberT OtherBegin, bool UseTrimmed) const { |
| } |
| } |
| #if 0 |
| - // An equivalent but less inefficient implementation: |
| - LiveRange Temp; |
| - Temp.addSegment(OtherBegin, OtherBegin + 1); |
| - bool Validation = overlaps(Temp); |
| - assert(Result == Validation); |
| + // An equivalent but less inefficient implementation: |
| + LiveRange Temp; |
| + Temp.addSegment(OtherBegin, OtherBegin + 1); |
| + bool Validation = overlaps(Temp); |
| + assert(Result == Validation); |
| #endif |
|
JF
2015/06/17 11:29:18
`#if 0` and tabs are sad. Could you make this a co
qining
2015/06/17 18:20:36
Sorry for the unnecessary tabs. I will remove them
Jim Stichnoth
2015/06/19 16:51:02
Let's keep the #if code. This was meant to give a
|
| return Result; |
| } |
| @@ -491,4 +491,26 @@ Ostream &operator<<(Ostream &Str, const RegWeight &W) { |
| return Str; |
| } |
| +// =========== Immediate Randomization and Pooling routines ============== |
| +// Immediates randomization and pooling threshold, we should not |
| +// randomize or pool small constants e.g. 2,4 etc. |
| +const uint32_t X86_INT_IMMEDIATE_RANDOMIZATION_THRESHOLD = 0x1; |
|
qining
2015/06/17 04:28:55
The THRESHOLD is set to 0x1.
JF
2015/06/17 11:29:18
This isn't use by other files? It's currently expo
qining
2015/06/17 18:20:36
Yes, you are right, I should confine this to a sma
|
| + |
| +// Specialization of the template member function for ConstantInteger32 |
| +template <> |
| +bool ConstantInteger32::shouldBeRandomizedOrPooled(const GlobalContext *Ctx) { |
| + if (Ctx->getFlags().getRandomizeAndPoolImmediatesOption() == RPI_None) |
| + return false; |
| + if (getType() != IceType_i32 && getType() != IceType_i16 && |
| + getType() != IceType_i8) |
|
qining
2015/06/17 04:28:55
Consider i8, 16 constant integers.
|
| + return false; |
| + // if(getType() != IceType_i32) return false; |
| + // The Following checks if the signed representation of Value is between |
| + // -THRESHOLD/2 and +THRESHOLD/2 |
| + bool largerThanThreshold = |
| + X86_INT_IMMEDIATE_RANDOMIZATION_THRESHOLD / 2 + Value >= |
| + X86_INT_IMMEDIATE_RANDOMIZATION_THRESHOLD; |
| + return largerThanThreshold; |
| +} |
| + |
| } // end of namespace Ice |