A list of DIE values.

Synopsis

Declared in <llvm/CodeGen/DIE.h>

class DIEValueList;

Description

This is a singly‐linked list, but instead of reversing the order of insertion, we keep a pointer to the back of the list so we can push in order.

There are two main reasons to choose a linked list over a customized vector‐like data structure.

1. For teardown efficiency, we want DIEs to be BumpPtrAllocated. Using a linked list here makes this way easier to accomplish. 2. Carrying an extra pointer per DIEValue isn't expensive. 45% of DIEs have 2 or fewer values, and 90% have 5 or fewer. A vector would be over‐allocated by 50% on average anyway, the same cost as the linked‐list node.

Types

Name

Description

const_value_iterator

Const forward iterator over the DIE values in the list.

value_iterator

Mutable forward iterator over the DIE values in the list.

Type Aliases

Name

Description

const_value_range

Const range of DIE values.

value_range

Mutable range of DIE values.

Member Functions

Name

Description

addValue

addValue overloads

deleteValue

Delete the first value with attribute Attribute from the list.

replaceValue

replaceValue overloads

takeValues

Take ownership of the nodes in Other, and append them to the back of the list.

values

values overloads

Derived Classes

Name

Description

DIE

A structured debug information entry. Has an abbreviation which describes its organization.

DIEBlock

DIEBlock ‐ Represents a block of values.

DIELoc

DIELoc ‐ Represents an expression location.

Created with MrDocs