Lines Matching refs:use
35 bool HUint32AnalysisPhase::IsSafeUint32Use(HValue* val, HValue* use) { in IsSafeUint32Use() argument
37 if (use->IsBitwise() || use->IsShl() || use->IsSar() || use->IsShr()) { in IsSafeUint32Use()
39 } else if (use->IsSimulate()) { in IsSafeUint32Use()
42 } else if (use->IsChange()) { in IsSafeUint32Use()
47 DCHECK(HChange::cast(use)->to().IsDouble() || in IsSafeUint32Use()
48 HChange::cast(use)->to().IsSmi() || in IsSafeUint32Use()
49 HChange::cast(use)->to().IsTagged()); in IsSafeUint32Use()
51 } else if (use->IsStoreKeyed()) { in IsSafeUint32Use()
52 HStoreKeyed* store = HStoreKeyed::cast(use); in IsSafeUint32Use()
64 } else if (use->IsCompareNumericAndBranch()) { in IsSafeUint32Use()
65 HCompareNumericAndBranch* c = HCompareNumericAndBranch::cast(use); in IsSafeUint32Use()
83 HValue* use = it.value(); in Uint32UsesAreSafe() local
85 if (use->IsPhi()) { in Uint32UsesAreSafe()
86 if (!use->CheckFlag(HInstruction::kUint32)) { in Uint32UsesAreSafe()
96 if (!IsSafeUint32Use(uint32val, use)) { in Uint32UsesAreSafe()
103 HValue* use = it.value(); in Uint32UsesAreSafe() local
107 if (use->IsPhi() && !use->CheckFlag(HInstruction::kUint32)) { in Uint32UsesAreSafe()
108 use->SetFlag(HInstruction::kUint32); in Uint32UsesAreSafe()
109 phis_.Add(HPhi::cast(use), zone()); in Uint32UsesAreSafe()