Index: src/IceTargetLoweringX8632.h |
diff --git a/src/IceTargetLoweringX8632.h b/src/IceTargetLoweringX8632.h |
index 6f09a9084932042c57e58bdfe6fcd3c940cb6b30..daca0cdcf790e357af4e47bbaf7bc953f462bd41 100644 |
--- a/src/IceTargetLoweringX8632.h |
+++ b/src/IceTargetLoweringX8632.h |
@@ -97,8 +97,12 @@ protected: |
virtual void doAddressOptLoad(); |
virtual void doAddressOptStore(); |
+ // Naive lowering of cmpxchg. |
void lowerAtomicCmpxchg(Variable *DestPrev, Operand *Ptr, Operand *Expected, |
Operand *Desired); |
+ // Attempt a more optimized lowering of cmpxchg. Returns true if optimized. |
+ bool tryOptimizedCmpxchgCmpBr(Variable *DestPrev, Operand *Ptr, |
+ Operand *Expected, Operand *Desired); |
void lowerAtomicRMW(Variable *Dest, uint32_t Operation, Operand *Ptr, |
Operand *Val); |
void lowerCountZeros(bool Cttz, Type Ty, Variable *Dest, Operand *FirstVal, |