LLVM: lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

10

12

14 if (Num == 0)

15 return Num;

16 unsigned Mask = Num;

17 Mask >>= 1;

18 for (unsigned ShiftBy = 1; ShiftBy < sizeof(Num) * 8; ShiftBy <<= 1)

19 Mask |= Mask >> ShiftBy;

20 return Num & ~Mask;

21}

22

23#ifndef NDEBUG

25 for (auto [Idx, V] : enumerate(Bndl))

26 dbgs() << Idx << "." << *V << "\n";

27}

30#endif

31

32}

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

static LLVM_DUMP_METHOD void dump(ArrayRef< Value * > Bndl)

Helper dump function for debugging.

Definition VecUtils.cpp:28

static LLVM_ABI unsigned getFloorPowerOf2(unsigned Num)

\Returns the first integer power of 2 that is <= Num.

Definition VecUtils.cpp:13

static void dumpImpl(ArrayRef< T * > Bndl)

Definition VecUtils.cpp:24

auto enumerate(FirstRange &&First, RestRanges &&...Rest)

Given two or more input ranges, returns a new range whose values are tuples (A, B,...

LLVM_ABI raw_ostream & dbgs()

dbgs() - This returns a reference to a raw_ostream for debugging messages.