Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Enumerations | Functions
redundancy_elimination.cc File Reference
#include "vm/compiler/backend/redundancy_elimination.h"
#include <utility>
#include "vm/bit_vector.h"
#include "vm/class_id.h"
#include "vm/compiler/backend/flow_graph.h"
#include "vm/compiler/backend/il.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/loops.h"
#include "vm/hash_map.h"
#include "vm/object_store.h"

Go to the source code of this file.

Classes

class  dart::CSEInstructionSet
 
class  dart::Place
 
class  dart::ZonePlace
 
class  dart::PhiPlaceMoves
 
class  dart::PhiPlaceMoves::Move
 
class  dart::AliasedSet
 
class  dart::LoadOptimizer
 
class  dart::StoreOptimizer
 
class  dart::TryCatchAnalyzer
 

Namespaces

namespace  dart
 

Macros

#define Z   (zone())
 

Enumerations

enum  dart::CSEMode { dart::kOptimizeLoads , dart::kOptimizeStores }
 

Functions

 dart::DEFINE_FLAG (bool, dead_store_elimination, true, "Eliminate dead stores")
 
 dart::DEFINE_FLAG (bool, load_cse, true, "Use redundant load elimination.")
 
 dart::DEFINE_FLAG (bool, optimize_lazy_initializer_calls, true, "Eliminate redundant lazy initializer calls.")
 
 dart::DEFINE_FLAG (bool, trace_load_optimization, false, "Print live sets for load optimization pass.")
 
static Definition * dart::GetStoredValue (Instruction *instr)
 
static bool dart::IsPhiDependentPlace (Place *place)
 
static PhiPlaceMoves * dart::ComputePhiMoves (PointerSet< Place > *map, ZoneGrowableArray< Place * > *places, bool print_traces)
 
static DART_FORCE_INLINE void dart::SetPlaceId (Instruction *instr, intptr_t id)
 
static DART_FORCE_INLINE bool dart::HasPlaceId (const Instruction *instr)
 
static DART_FORCE_INLINE intptr_t dart::GetPlaceId (const Instruction *instr)
 
static AliasedSet * dart::NumberPlaces (FlowGraph *graph, PointerSet< Place > *map, CSEMode mode)
 
static bool dart::IsLoadEliminationCandidate (Instruction *instr)
 
static bool dart::IsLoopInvariantLoad (ZoneGrowableArray< BitVector * > *sets, intptr_t loop_header_index, Instruction *instr)
 
static bool dart::IsValidLengthForAllocationSinking (ArrayAllocationInstr *array_alloc)
 
static bool dart::IsSupportedAllocation (Instruction *instr)
 
static Definition * dart::StoreDestination (Value *use)
 
static Definition * dart::LoadSource (Definition *instr)
 
static void dart::AddSlot (ZoneGrowableArray< const Slot * > *slots, const Slot &slot)
 
static Instruction * dart::ExitForMaterialization (MaterializeObjectInstr *mat)
 
static Instruction * dart::FirstMaterializationAt (Instruction *exit)
 
static InnerPointerAccess dart::AccessForSlotInAllocatedObject (Definition *alloc, const Slot &slot)
 
template<typename T >
void dart::AddInstruction (GrowableArray< T * > *list, T *value)
 
static bool dart::IsDataFieldOfTypedDataView (Definition *alloc, const Slot &slot)
 
void dart::OptimizeCatchEntryStates (FlowGraph *flow_graph, bool is_aot)
 
static bool dart::HasRealUse (Definition *def)
 
static bool dart::IsMarkedWithNoInterrupts (const Function &function)
 

Macro Definition Documentation

◆ Z

#define Z   (zone())

Definition at line 32 of file redundancy_elimination.cc.