LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
llvm::InstCombineWorklist Class Reference

#include <InstCombineWorklist.h>

Public Member Functions

 InstCombineWorklist ()
 
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 25 of file InstCombineWorklist.h.

Constructor & Destructor Documentation

llvm::InstCombineWorklist::InstCombineWorklist ( )
inline

Definition at line 32 of file InstCombineWorklist.h.

Member Function Documentation

void llvm::InstCombineWorklist::Add ( Instruction I)
inline

Add - Add the specified instruction to the worklist if it isn't already in it.

Definition at line 38 of file InstCombineWorklist.h.

References llvm::dbgs(), and DEBUG.

Referenced by GetShiftedValue(), and llvm::InstCombiner::visitStoreInst().

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 53 of file InstCombineWorklist.h.

References llvm::dbgs(), DEBUG, and I.

Referenced by AddReachableCodeToWorklist().

void llvm::InstCombineWorklist::AddUsersToWorkList ( Instruction I)
inline

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 86 of file InstCombineWorklist.h.

References llvm::Value::use_begin(), and llvm::Value::use_end().

void llvm::InstCombineWorklist::AddValue ( Value V)
inline

Definition at line 45 of file InstCombineWorklist.h.

References I.

bool llvm::InstCombineWorklist::isEmpty ( ) const
inline

Definition at line 34 of file InstCombineWorklist.h.

void llvm::InstCombineWorklist::Remove ( Instruction I)
inline

Definition at line 66 of file InstCombineWorklist.h.

Instruction* llvm::InstCombineWorklist::RemoveOne ( )
inline

Definition at line 76 of file InstCombineWorklist.h.

References I.

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 95 of file InstCombineWorklist.h.


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