LLVM API Documentation

Public Member Functions
llvm::InstCombineWorklist Class Reference

#include <InstCombineWorklist.h>

List of all members.

Public Member Functions

 InstCombineWorklist ()
 InstCombineWorklist (InstCombineWorklist &&Arg)
InstCombineWorklistoperator= (InstCombineWorklist &&RHS)
bool isEmpty () const
void Add (Instruction *I)
void AddValue (Value *V)
void AddInitialGroup (Instruction *const *List, unsigned NumEntries)
void Remove (Instruction *I)
InstructionRemoveOne ()
void AddUsersToWorkList (Instruction &I)
void Zap ()

Detailed Description

InstCombineWorklist - This is the worklist management logic for InstCombine.

Definition at line 26 of file InstCombineWorklist.h.


Constructor & Destructor Documentation

llvm::InstCombineWorklist::InstCombineWorklist ( ) [inline]

Definition at line 33 of file InstCombineWorklist.h.

llvm::InstCombineWorklist::InstCombineWorklist ( InstCombineWorklist &&  Arg) [inline]

Definition at line 35 of file InstCombineWorklist.h.


Member Function Documentation

void llvm::InstCombineWorklist::AddInitialGroup ( Instruction *const List,
unsigned  NumEntries 
) [inline]

AddInitialGroup - Add the specified batch of stuff in reverse order. which should only be done when the worklist is empty and when the group has no duplicates.

Definition at line 63 of file InstCombineWorklist.h.

References llvm::dbgs(), DEBUG, llvm::SmallVectorBase::empty(), I, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::resize().

Referenced by AddReachableCodeToWorklist().

AddUsersToWorkList - When an instruction is simplified, add all users of the instruction to the work lists because they might get more simplified now.

Definition at line 96 of file InstCombineWorklist.h.

References Add(), and llvm::Value::users().

Definition at line 55 of file InstCombineWorklist.h.

References Add(), and I.

Definition at line 44 of file InstCombineWorklist.h.

References llvm::SmallVectorBase::empty().

InstCombineWorklist& llvm::InstCombineWorklist::operator= ( InstCombineWorklist &&  RHS) [inline]

Definition at line 38 of file InstCombineWorklist.h.

void llvm::InstCombineWorklist::Zap ( ) [inline]

Zap - check that the worklist is empty and nuke the backing store for the map if it is large.

Definition at line 104 of file InstCombineWorklist.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().


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