Index: src/IceTargetLoweringX8632.h |
diff --git a/src/IceTargetLoweringX8632.h b/src/IceTargetLoweringX8632.h |
index cbc98cec19d8d987994fc273b298bcf9fa6495b1..fd53d1b2a3e410acc9e63c9245c5639abc3dce08 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, |