LLVM 22.0.0git
llvm::SubsumingPositionIterator Class Reference

A visitor class for IR positions. More...

#include "llvm/Transforms/IPO/Attributor.h"

Public Member Functions

LLVM_ABI SubsumingPositionIterator (const IRPosition &IRP)
iterator begin ()
iterator end ()

Detailed Description

A visitor class for IR positions.

Given a position P, the SubsumingPositionIterator allows to visit "subsuming positions" wrt. attributes/information. Thus, if a piece of information holds for a subsuming position, it also holds for the position P.

The subsuming positions always include the initial position and then, depending on the position kind, additionally the following ones:

  • for IRP_RETURNED:
    • the function (IRP_FUNCTION)
  • for IRP_ARGUMENT:
    • the function (IRP_FUNCTION)
  • for IRP_CALL_SITE:
    • the callee (IRP_FUNCTION), if known
  • for IRP_CALL_SITE_RETURNED:
    • the callee (IRP_RETURNED), if known
    • the call site (IRP_FUNCTION)
    • the callee (IRP_FUNCTION), if known
  • for IRP_CALL_SITE_ARGUMENT:
    • the argument of the callee (IRP_ARGUMENT), if known
    • the callee (IRP_FUNCTION), if known
    • the position the call site argument is associated with if it is not anchored to the call site, e.g., if it is an argument then the argument (IRP_ARGUMENT)

Definition at line 1123 of file Attributor.h.

Constructor & Destructor Documentation

◆ SubsumingPositionIterator()

Member Function Documentation

◆ begin()

iterator llvm::SubsumingPositionIterator::begin ( )
inline

Definition at line 1129 of file Attributor.h.

◆ end()

iterator llvm::SubsumingPositionIterator::end ( )
inline

Definition at line 1130 of file Attributor.h.


The documentation for this class was generated from the following files: