Flutter Engine
The Flutter Engine
Namespaces | Macros | Enumerations | Functions
il_test.cc File Reference
#include "vm/compiler/backend/il.h"
#include <optional>
#include <vector>
#include "platform/text_buffer.h"
#include "platform/utils.h"
#include "vm/class_id.h"
#include "vm/compiler/assembler/disassembler.h"
#include "vm/compiler/backend/block_builder.h"
#include "vm/compiler/backend/flow_graph_compiler.h"
#include "vm/compiler/backend/il_printer.h"
#include "vm/compiler/backend/il_test_helper.h"
#include "vm/compiler/backend/range_analysis.h"
#include "vm/compiler/backend/type_propagator.h"
#include "vm/unit_test.h"

Go to the source code of this file.

Namespaces

namespace  dart
 

Macros

#define RANGES_CONTAIN_EXPECTED_CIDS(ranges, cids)    RangesContainExpectedCids(dart::Expect(__FILE__, __LINE__), ranges, cids)
 

Enumerations

enum  dart::TypeDataField { dart::TypedDataBase_length , dart::TypedDataView_offset_in_bytes , dart::TypedDataView_typed_data }
 
enum class  dart::TestIntVariant { dart::kTestBranch , dart::kTestValue }
 

Functions

 dart::ISOLATE_UNIT_TEST_CASE (InstructionTests)
 
 dart::ISOLATE_UNIT_TEST_CASE (OptimizationTests)
 
 dart::ISOLATE_UNIT_TEST_CASE (IRTest_EliminateWriteBarrier)
 
static void dart::ExpectStores (FlowGraph *flow_graph, const std::vector< const char * > &expected_stores)
 
static void dart::RunInitializingStoresTest (const Library &root_library, const char *function_name, CompilerPass::PipelineMode mode, const std::vector< const char * > &expected_stores)
 
 dart::ISOLATE_UNIT_TEST_CASE (IRTest_InitializingStores)
 
bool dart::TestIntConverterCanonicalizationRule (Thread *thread, int64_t min_value, int64_t max_value, Representation initial, Representation intermediate, Representation final)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_IntConverterCanonicalization)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_PhiCanonicalization)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_UnboxIntegerCanonicalization)
 
static void dart::WriteCidTo (intptr_t cid, BaseTextBuffer *buffer)
 
static void dart::TestNullAwareEqualityCompareCanonicalization (Thread *thread, bool allow_representation_change)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_Canonicalize_EqualityCompare)
 
static void dart::WriteCidRangeVectorTo (const CidRangeVector &ranges, BaseTextBuffer *buffer)
 
static bool dart::ExpectRangesContainCid (const Expect &expect, const CidRangeVector &ranges, intptr_t expected)
 
static void dart::RangesContainExpectedCids (const Expect &expect, const CidRangeVector &ranges, const GrowableArray< intptr_t > &expected)
 
 dart::ISOLATE_UNIT_TEST_CASE (HierarchyInfo_Object_Subtype)
 
 dart::ISOLATE_UNIT_TEST_CASE (HierarchyInfo_Function_Subtype)
 
 dart::ISOLATE_UNIT_TEST_CASE (HierarchyInfo_Num_Subtype)
 
 dart::ISOLATE_UNIT_TEST_CASE (HierarchyInfo_Int_Subtype)
 
 dart::ISOLATE_UNIT_TEST_CASE (HierarchyInfo_String_Subtype)
 
 dart::ISOLATE_UNIT_TEST_CASE (IRTest_DoubleEqualsSmi)
 
 dart::ISOLATE_UNIT_TEST_CASE (IRTest_LoadThread)
 
 dart::ISOLATE_UNIT_TEST_CASE (IRTest_CachableIdempotentCall)
 
FlowGraph * dart::SetupFfiFlowgraph (TestPipeline *pipeline, const compiler::ffi::CallMarshaller &marshaller, uword native_entry, bool is_leaf)
 
 dart::ISOLATE_UNIT_TEST_CASE (IRTest_FfiCallInstrLeafDoesntSpill)
 
static void dart::TestConstantFoldToSmi (const Library &root_library, const char *function_name, CompilerPass::PipelineMode mode, intptr_t expected_value)
 
 dart::ISOLATE_UNIT_TEST_CASE (ConstantFold_bitLength)
 
static void dart::TestRepresentationChangeDuringCanonicalization (Thread *thread, bool allow_representation_change)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_Canonicalize_RepresentationChange)
 
static void dart::TestCanonicalizationOfTypedDataViewFieldLoads (Thread *thread, TypeDataField field_kind)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_Canonicalize_TypedDataViewFactory)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_Canonicalize_InstanceCallWithNoICDataInAOT)
 
static void dart::TestTestRangeCanonicalize (const AbstractType &type, uword lower, uword upper, bool result)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_Canonicalize_TestRange)
 
void dart::TestStaticFieldForwarding (Thread *thread, const Class &test_cls, const Field &field, intptr_t num_stores, bool expected_to_forward)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_Canonicalize_FinalFieldForwarding)
 
template<typename... Args>
static ObjectPtr dart::InvokeFunction (const Function &function, Args &... args)
 
static const Function & dart::BuildTestFunction (intptr_t num_parameters, std::function< void(FlowGraphBuilderHelper &)> build_graph)
 
static const Function & dart::BuildTestIntFunction (Zone *zone, TestIntVariant test_variant, bool eq_zero, Representation rep, std::optional< int64_t > immediate_mask)
 
static void dart::TestIntTestWithImmediate (Zone *zone, TestIntVariant test_variant, bool eq_zero, Representation rep, const std::vector< int64_t > &inputs, int64_t mask)
 
static void dart::TestIntTest (Zone *zone, TestIntVariant test_variant, bool eq_zero, Representation rep, const std::vector< int64_t > &inputs, const std::vector< int64_t > &masks)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_TestIntInstr)
 
 dart::ISOLATE_UNIT_TEST_CASE (IL_RecordCoverageSurvivesOptimizations)
 

Macro Definition Documentation

◆ RANGES_CONTAIN_EXPECTED_CIDS

#define RANGES_CONTAIN_EXPECTED_CIDS (   ranges,
  cids 
)     RangesContainExpectedCids(dart::Expect(__FILE__, __LINE__), ranges, cids)

Definition at line 499 of file il_test.cc.