|
| dart::DEFINE_FLAG (bool, array_bounds_check_elimination, true, "Eliminate redundant bounds checks.") |
|
| dart::DEFINE_FLAG (bool, trace_range_analysis, false, "Trace range analysis progress") |
|
| dart::DEFINE_FLAG (bool, trace_integer_ir_selection, false, "Print integer IR selection optimization pass.") |
|
| dart::DECLARE_FLAG (bool, trace_constant_propagation) |
|
static Definition * | dart::UnwrapConstraint (Definition *defn) |
|
static bool | dart::AreEqualDefinitions (Definition *a, Definition *b) |
|
static bool | dart::DependOnSameSymbol (const RangeBoundary &a, const RangeBoundary &b) |
|
static RangeBoundary | dart::WidenMin (const Range *range, const Range *new_range, RangeBoundary::RangeSize size) |
|
static RangeBoundary | dart::WidenMax (const Range *range, const Range *new_range, RangeBoundary::RangeSize size) |
|
static RangeBoundary | dart::NarrowMin (const Range *range, const Range *new_range, RangeBoundary::RangeSize size) |
|
static RangeBoundary | dart::NarrowMax (const Range *range, const Range *new_range, RangeBoundary::RangeSize size) |
|
static RangeBoundary::RangeSize | dart::RangeSizeForPhi (Definition *phi) |
|
static void | dart::NarrowBinaryInt64Op (BinaryInt64OpInstr *int64_op) |
|
static void | dart::NarrowShiftInt64Op (ShiftIntegerOpInstr *int64_op) |
|
static RangeBoundary | dart::CanonicalizeBoundary (const RangeBoundary &a, const RangeBoundary &overflow) |
|
static bool | dart::CanonicalizeMaxBoundary (RangeBoundary *a) |
|
static bool | dart::CanonicalizeMinBoundary (RangeBoundary *a) |
|
static bool | dart::CanonicalizeForComparison (RangeBoundary *a, RangeBoundary *b, BoundaryOp op, const RangeBoundary &overflow) |
|
static RangeBoundary::RangeSize | dart::RepresentationToRangeSize (Representation r) |
|
static void | dart::ConvertRangeToUnsigned (int64_t a, int64_t b, uint64_t *ua, uint64_t *ub) |
|
static void | dart::ConvertRangeToSigned (uint64_t a, uint64_t b, int64_t *sa, int64_t *sb) |
|
static int | dart::BitSize (const Range *range) |
|
static bool | dart::DependsOnSymbol (const RangeBoundary &a, Definition *symbol) |
|
static void | dart::Join (Range *range, Definition *defn, const Range *defn_range, RangeBoundary::RangeSize size) |
|
static bool | dart::DominatesPhi (BlockEntryInstr *a, BlockEntryInstr *phi_block) |
|
static RangeBoundary | dart::EnsureAcyclicSymbol (BlockEntryInstr *phi_block, const RangeBoundary &a, const RangeBoundary &limit) |
|
static const Range * | dart::GetInputRange (RangeAnalysis *analysis, RangeBoundary::RangeSize size, Value *input) |
|
static void | dart::CacheRange (Range **slot, const Range *range, RangeBoundary::RangeSize size) |
|
static bool | dart::IsRedundantBasedOnRangeInformation (Value *index, Value *length) |
|