# Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# This file contains all sources (vm and tests) for the compiler pipeline.
# Unit test files need to have a "_test" suffix appended to the name.
compiler_sources = [
  "aot/aot_call_specializer.cc",
  "aot/aot_call_specializer.h",
  "aot/dispatch_table_generator.cc",
  "aot/dispatch_table_generator.h",
  "aot/precompiler.cc",
  "aot/precompiler.h",
  "asm_intrinsifier.cc",
  "asm_intrinsifier.h",
  "asm_intrinsifier_arm.cc",
  "asm_intrinsifier_arm64.cc",
  "asm_intrinsifier_ia32.cc",
  "asm_intrinsifier_x64.cc",
  "assembler/assembler.h",
  "assembler/assembler_arm.cc",
  "assembler/assembler_arm.h",
  "assembler/assembler_arm64.cc",
  "assembler/assembler_arm64.h",
  "assembler/assembler_base.cc",
  "assembler/assembler_base.h",
  "assembler/assembler_ia32.cc",
  "assembler/assembler_ia32.h",
  "assembler/assembler_x64.cc",
  "assembler/assembler_x64.h",
  "assembler/disassembler.cc",
  "assembler/disassembler.h",
  "assembler/disassembler_arm.cc",
  "assembler/disassembler_arm64.cc",
  "assembler/disassembler_kbc.cc",
  "assembler/disassembler_kbc.h",
  "assembler/disassembler_x86.cc",
  "assembler/object_pool_builder.h",
  "backend/block_builder.h",
  "backend/block_scheduler.cc",
  "backend/block_scheduler.h",
  "backend/branch_optimizer.cc",
  "backend/branch_optimizer.h",
  "backend/code_statistics.cc",
  "backend/code_statistics.h",
  "backend/compile_type.h",
  "backend/constant_propagator.cc",
  "backend/constant_propagator.h",
  "backend/evaluator.cc",
  "backend/evaluator.h",
  "backend/flow_graph.cc",
  "backend/flow_graph.h",
  "backend/flow_graph_checker.cc",
  "backend/flow_graph_checker.h",
  "backend/flow_graph_compiler.cc",
  "backend/flow_graph_compiler.h",
  "backend/flow_graph_compiler_arm.cc",
  "backend/flow_graph_compiler_arm64.cc",
  "backend/flow_graph_compiler_ia32.cc",
  "backend/flow_graph_compiler_x64.cc",
  "backend/il.cc",
  "backend/il.h",
  "backend/il_arm.cc",
  "backend/il_arm64.cc",
  "backend/il_deserializer.cc",
  "backend/il_deserializer.h",
  "backend/il_ia32.cc",
  "backend/il_printer.cc",
  "backend/il_printer.h",
  "backend/il_serializer.cc",
  "backend/il_serializer.h",
  "backend/il_x64.cc",
  "backend/inliner.cc",
  "backend/inliner.h",
  "backend/linearscan.cc",
  "backend/linearscan.h",
  "backend/locations.cc",
  "backend/locations.h",
  "backend/locations_helpers.h",
  "backend/locations_helpers_arm.h",
  "backend/loops.cc",
  "backend/loops.h",
  "backend/range_analysis.cc",
  "backend/range_analysis.h",
  "backend/redundancy_elimination.cc",
  "backend/redundancy_elimination.h",
  "backend/sexpression.cc",
  "backend/sexpression.h",
  "backend/slot.cc",
  "backend/slot.h",
  "backend/type_propagator.cc",
  "backend/type_propagator.h",
  "call_specializer.cc",
  "call_specializer.h",
  "cha.cc",
  "cha.h",
  "compiler_pass.cc",
  "compiler_pass.h",
  "compiler_state.cc",
  "compiler_state.h",
  "ffi/abi.cc",
  "ffi/abi.h",
  "ffi/frame_rebase.cc",
  "ffi/frame_rebase.h",
  "ffi/marshaller.cc",
  "ffi/marshaller.h",
  "ffi/call.cc",
  "ffi/call.h",
  "ffi/callback.cc",
  "ffi/callback.h",
  "ffi/native_calling_convention.cc",
  "ffi/native_calling_convention.h",
  "ffi/native_location.cc",
  "ffi/native_location.h",
  "ffi/native_type.cc",
  "ffi/native_type.h",
  "ffi/recognized_method.cc",
  "ffi/recognized_method.h",
  "frontend/base_flow_graph_builder.cc",
  "frontend/base_flow_graph_builder.h",
  "frontend/bytecode_fingerprints.cc",
  "frontend/bytecode_fingerprints.h",
  "frontend/bytecode_flow_graph_builder.cc",
  "frontend/bytecode_flow_graph_builder.h",
  "frontend/bytecode_reader.cc",
  "frontend/bytecode_reader.h",
  "frontend/bytecode_scope_builder.cc",
  "frontend/bytecode_scope_builder.h",
  "frontend/constant_reader.cc",
  "frontend/constant_reader.h",
  "frontend/flow_graph_builder.cc",
  "frontend/flow_graph_builder.h",
  "frontend/kernel_binary_flowgraph.cc",
  "frontend/kernel_binary_flowgraph.h",
  "frontend/kernel_fingerprints.cc",
  "frontend/kernel_fingerprints.h",
  "frontend/kernel_to_il.cc",
  "frontend/kernel_to_il.h",
  "frontend/kernel_translation_helper.cc",
  "frontend/kernel_translation_helper.h",
  "frontend/prologue_builder.cc",
  "frontend/prologue_builder.h",
  "frontend/scope_builder.cc",
  "frontend/scope_builder.h",
  "graph_intrinsifier.cc",
  "graph_intrinsifier.h",
  "graph_intrinsifier_arm.cc",
  "graph_intrinsifier_arm64.cc",
  "graph_intrinsifier_ia32.cc",
  "graph_intrinsifier_x64.cc",
  "intrinsifier.cc",
  "intrinsifier.h",
  "jit/compiler.cc",
  "jit/compiler.h",
  "jit/jit_call_specializer.cc",
  "jit/jit_call_specializer.h",
  "method_recognizer.cc",
  "method_recognizer.h",
  "recognized_methods_list.h",
  "relocation.cc",
  "relocation.h",
  "runtime_api.cc",
  "runtime_api.h",
  "stub_code_compiler.h",
  "stub_code_compiler_arm.cc",
  "stub_code_compiler_arm64.cc",
  "stub_code_compiler_ia32.cc",
  "stub_code_compiler_x64.cc",
]

compiler_sources_tests = [
  "assembler/assembler_arm64_test.cc",
  "assembler/assembler_arm_test.cc",
  "assembler/assembler_ia32_test.cc",
  "assembler/assembler_test.cc",
  "assembler/assembler_x64_test.cc",
  "assembler/disassembler_test.cc",
  "backend/bce_test.cc",
  "backend/il_test.cc",
  "backend/il_test_helper.h",
  "backend/il_test_helper.cc",
  "backend/inliner_test.cc",
  "backend/locations_helpers_test.cc",
  "backend/loops_test.cc",
  "backend/range_analysis_test.cc",
  "backend/redundancy_elimination_test.cc",
  "backend/sexpression_test.cc",
  "backend/slot_test.cc",
  "backend/type_propagator_test.cc",
  "backend/typed_data_aot_test.cc",
  "backend/yield_position_test.cc",
  "cha_test.cc",
]
