LLVM: include/llvm/Support/Capacity.h Source File (original) (raw)

Go to the documentation of this file.

1//===--- Capacity.h - Generic computation of ADT memory use -----*- C++ -*-===//

2//

3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

4// See https://llvm.org/LICENSE.txt for license information.

5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

6//

7//===----------------------------------------------------------------------===//

8//

9// This file defines the capacity function that computes the amount of

10// memory used by an ADT.

11//

12//===----------------------------------------------------------------------===//

13

14#ifndef LLVM_SUPPORT_CAPACITY_H

15#define LLVM_SUPPORT_CAPACITY_H

16

17#include

18

19namespace llvm {

20

21template

23 // This default definition of capacity should work for things like std::vector

24 // and friends. More specialized versions will work for others.

25 return x.capacity() * sizeof(typename T::value_type);

26}

27

28} // end namespace llvm

29

30#endif

31

This is an optimization pass for GlobalISel generic memory operations.

BitVector::size_type capacity_in_bytes(const BitVector &X)