Lines Matching refs:sext
164 /// For example, to extract the 5 from sext(a + (b + 5)), we first distribute
165 /// sext to a, b and 5 so that we have
166 /// sext(a) + (sext(b) + 5).
168 /// (sext(a) + sext(b)) + 5.
169 /// Given this form, we know I' is sext(a) + sext(b).
173 /// e.g., zext(sext(a + (b + 5)) (assuming no overflow) =>
174 /// zext(sext(a)) + (zext(sext(b)) + zext(sext(5))).
178 /// 5 -> b + 5 -> a + (b + 5) -> sext(...) -> zext(sext(...)),
180 /// zext(sext(5)) -> zext(sext(b)) + zext(sext(5)) ->
181 /// zext(sext(a)) + (zext(sext(b)) + zext(sext(5))
190 /// e.g., if ExtInsts = [sext i32 to i64, zext i16 to i32], this function
191 /// returns "sext i32 (zext i16 V to i32) to i64".
203 /// \p SignExtended Whether BO is surrounded by sext
218 /// sext/zext instructions along UserChain.
275 /// For each array index that is in the form of zext(a), convert it to sext(a)
277 /// sext(a) to zext(a), because in the special case where x + y >= 0 and
278 /// (x >= 0 or y >= 0), function CanTraceInto can split sext(x + y),
340 // 1 | 0 | sext(BO) == sext(A) op sext(B)
341 // 1 | 1 | zext(sext(BO)) ==
342 // | | zext(sext(A)) op zext(sext(B))
345 // sext(a + b) = sext(a) + sext(b)
348 // Leveraging this invarient, we can trace into an sext'ed inbound GEP
362 // sext (add/sub nsw A, B) == add/sub nsw (sext A), (sext B)
419 ZeroExtended, NonNegative).sext(BitWidth);
422 // sext(zext(a)) = zext(a). Verified in @sext_zext in split-gep.ll.
482 "We only traced into two types of CastInst: sext and zext");
638 // the sign bit of a is zero and sext(a) = zext(a). Because the GEP is