Lines Matching refs:Value
23 #include "llvm/IR/Value.h"
256 Value *llvm::stripGetElementPtr(Value *Ptr, ScalarEvolution *SE, Loop *Lp) {
272 /// \brief If a value has only one user that is a CastInst, return it.
273 Value *llvm::getUniqueCastUse(Value *Ptr, Loop *Lp, Type *Ty) {
274 Value *UniqueCast = nullptr;
289 Value *llvm::getStrideFromPointer(Value *Ptr, ScalarEvolution *SE, Loop *Lp) {
297 Value *OrigPtr = Ptr;
329 // Huge step value - give up.
347 // Look for the loop invariant symbolic value.
352 Value *Stride = U->getValue();
357 // return the value that is used in this loop so that we can replace it later.
364 /// \brief Given a vector and an element number, see if the scalar value is
367 Value *llvm::findScalarElement(Value *V, unsigned EltNo) {
384 // inserted value.
388 // Otherwise, the insertelement doesn't modify the value, recurse on its
403 // Extract a value from a vector add operation with a constant zero.
404 Value *Val = nullptr; Constant *Con = nullptr;
414 /// \brief Get splat value if the input is a splat vector or return nullptr.
416 /// the input value is (1) a splat constants vector or (2) a sequence
417 /// of instructions that broadcast a single value into a vector.
419 const llvm::Value *llvm::getSplatValue(const Value *V) {
446 // DemandedBits will give us every value's live-out bits. But we want
449 EquivalenceClasses<Value *> ECs;
450 SmallVector<Value *, 16> Worklist;
451 SmallPtrSet<Value *, 4> Roots;
452 SmallPtrSet<Value *, 16> Visited;
453 DenseMap<Value *, uint64_t> DBits;
486 Value *Val = Worklist.pop_back_val();
487 Value *Leader = ECs.getOrInsertLeaderValue(Val);
531 for (Value *O : cast<User>(I)->operands()) {