LLVM API Documentation
#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) |
Instruction * | RemoveOne () |
void | AddUsersToWorkList (Instruction &I) |
void | Zap () |
InstCombineWorklist - This is the worklist management logic for InstCombine.
Definition at line 26 of file InstCombineWorklist.h.
llvm::InstCombineWorklist::InstCombineWorklist | ( | ) | [inline] |
Definition at line 33 of file InstCombineWorklist.h.
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 39 of file InstCombineWorklist.h.
References llvm::dbgs(), and DEBUG.
Referenced by GetShiftedValue(), ProcessUMulZExtIdiom(), 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 54 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 87 of file InstCombineWorklist.h.
References llvm::Value::users().
void llvm::InstCombineWorklist::AddValue | ( | Value * | V | ) | [inline] |
Definition at line 46 of file InstCombineWorklist.h.
References I.
bool llvm::InstCombineWorklist::isEmpty | ( | ) | const [inline] |
Definition at line 35 of file InstCombineWorklist.h.
void llvm::InstCombineWorklist::Remove | ( | Instruction * | I | ) | [inline] |
Definition at line 67 of file InstCombineWorklist.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT >, KeyT, ValueT, KeyInfoT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find().
Instruction* llvm::InstCombineWorklist::RemoveOne | ( | ) | [inline] |
Definition at line 77 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.