[test-suite] r311395 - SPEC2017: Add initial CMakeLists.

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 21 15:33:49 PDT 2017


Author: meinersbur
Date: Mon Aug 21 15:33:49 2017
New Revision: 311395

URL: http://llvm.org/viewvc/llvm-project?rev=311395&view=rev
Log:
SPEC2017: Add initial CMakeLists.

Add CMakeLists.txt files for SPEC CPU 2017.

All C/C++-only benchmarks are included, grouped by benchmark suite
(SPECrate 2017 Integer, SPECspeed 2017 Integer,
SPECrate 2017 Floating Point, SPECspeed 2017 Floating Point).

SPEC's changes to some of the benchmarks (at least perlbench) require
them to be invoked with a relative path (because for finding its working
directory, it prepends a path to basename(argv[0])). When the executable
is referred to by a relative path, litsupport needs to take cd commands
before into account, otherwise it won't find the executable.

Differential Revision: https://reviews.llvm.org/D36717

Added:
    test-suite/trunk/External/SPEC/CFP2017rate/
    test-suite/trunk/External/SPEC/CFP2017rate/508.namd_r/
    test-suite/trunk/External/SPEC/CFP2017rate/508.namd_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/510.parest_r/
    test-suite/trunk/External/SPEC/CFP2017rate/510.parest_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/511.povray_r/
    test-suite/trunk/External/SPEC/CFP2017rate/511.povray_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/519.lbm_r/
    test-suite/trunk/External/SPEC/CFP2017rate/519.lbm_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/526.blender_r/
    test-suite/trunk/External/SPEC/CFP2017rate/526.blender_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/538.imagick_r/
    test-suite/trunk/External/SPEC/CFP2017rate/538.imagick_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/544.nab_r/
    test-suite/trunk/External/SPEC/CFP2017rate/544.nab_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/997.specrand_fr/
    test-suite/trunk/External/SPEC/CFP2017rate/997.specrand_fr/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017rate/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017speed/
    test-suite/trunk/External/SPEC/CFP2017speed/619.lbm_s/
    test-suite/trunk/External/SPEC/CFP2017speed/619.lbm_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017speed/638.imagick_s/
    test-suite/trunk/External/SPEC/CFP2017speed/638.imagick_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017speed/644.nab_s/
    test-suite/trunk/External/SPEC/CFP2017speed/644.nab_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017speed/996.specrand_fs/
    test-suite/trunk/External/SPEC/CFP2017speed/996.specrand_fs/CMakeLists.txt
    test-suite/trunk/External/SPEC/CFP2017speed/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/
    test-suite/trunk/External/SPEC/CINT2017rate/500.perlbench_r/
    test-suite/trunk/External/SPEC/CINT2017rate/500.perlbench_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/502.gcc_r/
    test-suite/trunk/External/SPEC/CINT2017rate/502.gcc_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/505.mcf_r/
    test-suite/trunk/External/SPEC/CINT2017rate/505.mcf_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/520.omnetpp_r/
    test-suite/trunk/External/SPEC/CINT2017rate/520.omnetpp_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/523.xalancbmk_r/
    test-suite/trunk/External/SPEC/CINT2017rate/523.xalancbmk_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/525.x264_r/
    test-suite/trunk/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/531.deepsjeng_r/
    test-suite/trunk/External/SPEC/CINT2017rate/531.deepsjeng_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/541.leela_r/
    test-suite/trunk/External/SPEC/CINT2017rate/541.leela_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/557.xz_r/
    test-suite/trunk/External/SPEC/CINT2017rate/557.xz_r/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/999.specrand_ir/
    test-suite/trunk/External/SPEC/CINT2017rate/999.specrand_ir/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017rate/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/
    test-suite/trunk/External/SPEC/CINT2017speed/600.perlbench_s/
    test-suite/trunk/External/SPEC/CINT2017speed/600.perlbench_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/602.gcc_s/
    test-suite/trunk/External/SPEC/CINT2017speed/602.gcc_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/605.mcf_s/
    test-suite/trunk/External/SPEC/CINT2017speed/605.mcf_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/620.omnetpp_s/
    test-suite/trunk/External/SPEC/CINT2017speed/620.omnetpp_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/623.xalancbmk_s/
    test-suite/trunk/External/SPEC/CINT2017speed/623.xalancbmk_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/625.x264_s/
    test-suite/trunk/External/SPEC/CINT2017speed/625.x264_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/631.deepsjeng_s/
    test-suite/trunk/External/SPEC/CINT2017speed/631.deepsjeng_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/641.leela_s/
    test-suite/trunk/External/SPEC/CINT2017speed/641.leela_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/657.xz_s/
    test-suite/trunk/External/SPEC/CINT2017speed/657.xz_s/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/998.specrand_is/
    test-suite/trunk/External/SPEC/CINT2017speed/998.specrand_is/CMakeLists.txt
    test-suite/trunk/External/SPEC/CINT2017speed/CMakeLists.txt
    test-suite/trunk/External/SPEC/SpecCPU2017.cmake
    test-suite/trunk/cmake/modules/Host.cmake
Modified:
    test-suite/trunk/External/SPEC/CMakeLists.txt
    test-suite/trunk/litsupport/shellcommand.py
    test-suite/trunk/tools/CMakeLists.txt

Added: test-suite/trunk/External/SPEC/CFP2017rate/508.namd_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/508.namd_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/508.namd_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/508.namd_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,38 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/508.namd_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(-DNAMD_DISABLE_SSE)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  --input "${INPUT_all_DIR}/apoa1.input"
+  --iterations 1 --output apoa1.test.output
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  --input "${INPUT_all_DIR}/apoa1.input"
+  --iterations 7 --output apoa1.train.output
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  --input "${INPUT_all_DIR}/apoa1.input"
+  --output apoa1.ref.output --iterations 65
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output(ABSOLUTE_TOLERANCE 0.00005)
+speccpu2017_add_executable()

Added: test-suite/trunk/External/SPEC/CFP2017rate/510.parest_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/510.parest_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/510.parest_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/510.parest_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,269 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/510.parest_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(include .)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_test_DIR}/test.prm"
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/train.prm"
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/ref.prm"
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output(ABSOLUTE_TOLERANCE 4e-3)
+speccpu2017_add_executable(
+  source/base/auto_derivative_function.cc
+  source/base/boost_threads.cc
+  source/base/conditional_ostream.cc
+  source/base/config.cc
+  source/base/convergence_table.cc
+  source/base/data_out_base.cc
+  source/base/exceptions.cc
+  source/base/flow_function.cc
+  source/base/function.cc
+  source/base/function_derivative.cc
+  source/base/function_lib.cc
+  source/base/function_lib_cutoff.cc
+  source/base/function_parser.cc
+  source/base/function_time.cc
+  source/base/geometry_info.cc
+  source/base/job_identifier.cc
+  source/base/log.cc
+  source/base/memory_consumption.cc
+  source/base/multithread_info.cc
+  source/base/parameter_handler.cc
+  source/base/parsed_function.cc
+  source/base/path_search.cc
+  source/base/polynomial.cc
+  source/base/polynomial_space.cc
+  source/base/polynomials_abf.cc
+  source/base/polynomials_bdm.cc
+  source/base/polynomials_p.cc
+  source/base/polynomials_raviart_thomas.cc
+  source/base/quadrature.cc
+  source/base/quadrature_lib.cc
+  source/base/quadrature_selector.cc
+  source/base/subscriptor.cc
+  source/base/symmetric_tensor.cc
+  source/base/table_handler.cc
+  source/base/tensor.cc
+  source/base/tensor_function.cc
+  source/base/tensor_product_polynomials.cc
+  source/base/thread_management.cc
+  source/base/timer.cc
+  source/base/utilities.cc
+  source/dofs/dof_accessor.cc
+  source/dofs/dof_faces.cc
+  source/dofs/dof_handler.cc
+  source/dofs/dof_levels.all_dimensions.cc
+  source/dofs/dof_objects.all_dimensions.cc
+  source/dofs/dof_objects.cc
+  source/dofs/dof_renumbering.cc
+  source/dofs/dof_tools.cc
+  source/fe/fe.cc
+  source/fe/fe_abf.cc
+  source/fe/fe_data.cc
+  source/fe/fe_dgp.cc
+  source/fe/fe_dgp_monomial.cc
+  source/fe/fe_dgp_nonparametric.cc
+  source/fe/fe_dgq.cc
+  source/fe/fe_nedelec.cc
+  source/fe/fe_nedelec_1d.cc
+  source/fe/fe_nedelec_2d.cc
+  source/fe/fe_nedelec_3d.cc
+  source/fe/fe_poly.cc
+  source/fe/fe_poly_tensor.cc
+  source/fe/fe_q.cc
+  source/fe/fe_q_hierarchical.cc
+  source/fe/fe_raviart_thomas.cc
+  source/fe/fe_raviart_thomas_nodal.cc
+  source/fe/fe_system.cc
+  source/fe/fe_tools.all_dimensions.cc
+  source/fe/fe_tools.cc
+  source/fe/fe_values.cc
+  source/fe/mapping.cc
+  source/fe/mapping_c1.cc
+  source/fe/mapping_cartesian.cc
+  source/fe/mapping_q.cc
+  source/fe/mapping_q1.cc
+  source/fe/mapping_q1_eulerian.cc
+  source/fe/mapping_q_eulerian.cc
+  source/grid/grid_generator.cc
+  source/grid/grid_in.cc
+  source/grid/grid_out.all_dimensions.cc
+  source/grid/grid_out.cc
+  source/grid/grid_refinement.cc
+  source/grid/grid_reordering.cc
+  source/grid/grid_tools.cc
+  source/grid/intergrid_map.cc
+  source/grid/persistent_tria.cc
+  source/grid/tria.all_dimensions.cc
+  source/grid/tria.cc
+  source/grid/tria_accessor.cc
+  source/grid/tria_boundary.cc
+  source/grid/tria_boundary_lib.cc
+  source/grid/tria_faces.cc
+  source/grid/tria_levels.cc
+  source/grid/tria_objects.all_dimensions.cc
+  source/grid/tria_objects.cc
+  source/hp/dof_faces.cc
+  source/hp/dof_handler.cc
+  source/hp/dof_levels.all_dimensions.cc
+  source/hp/dof_levels.cc
+  source/hp/dof_objects.all_dimensions.cc
+  source/hp/fe_collection.cc
+  source/hp/fe_values.cc
+  source/hp/mapping_collection.cc
+  source/lac/block_matrix_array.cc
+  source/lac/block_sparse_matrix.cc
+  source/lac/block_sparse_matrix_ez.cc
+  source/lac/block_sparsity_pattern.cc
+  source/lac/block_vector.cc
+  source/lac/chunk_sparse_matrix.cc
+  source/lac/chunk_sparsity_pattern.cc
+  source/lac/compressed_set_sparsity_pattern.cc
+  source/lac/compressed_simple_sparsity_pattern.cc
+  source/lac/compressed_sparsity_pattern.cc
+  source/lac/constraint_matrix.cc
+  source/lac/full_matrix.cc
+  source/lac/lapack_full_matrix.cc
+  source/lac/matrix_lib.cc
+  source/lac/matrix_out.cc
+  source/lac/petsc_block_sparse_matrix.cc
+  source/lac/petsc_full_matrix.cc
+  source/lac/petsc_matrix_base.cc
+  source/lac/petsc_parallel_block_sparse_matrix.cc
+  source/lac/petsc_parallel_block_vector.cc
+  source/lac/petsc_parallel_sparse_matrix.cc
+  source/lac/petsc_parallel_vector.cc
+  source/lac/petsc_precondition.cc
+  source/lac/petsc_solver.cc
+  source/lac/petsc_sparse_matrix.cc
+  source/lac/petsc_vector.cc
+  source/lac/petsc_vector_base.cc
+  source/lac/precondition_block.cc
+  source/lac/precondition_block_ez.cc
+  source/lac/solver.cc
+  source/lac/solver_control.cc
+  source/lac/sparse_decomposition.cc
+  source/lac/sparse_direct.cc
+  source/lac/sparse_ilu.cc
+  source/lac/sparse_matrix.cc
+  source/lac/sparse_matrix_ez.cc
+  source/lac/sparse_mic.cc
+  source/lac/sparse_vanka.cc
+  source/lac/sparsity_pattern.cc
+  source/lac/sparsity_tools.cc
+  source/lac/swappable_vector.cc
+  source/lac/tridiagonal_matrix.cc
+  source/lac/trilinos_block_sparse_matrix.cc
+  source/lac/trilinos_block_vector.cc
+  source/lac/trilinos_precondition.cc
+  source/lac/trilinos_precondition_block.cc
+  source/lac/trilinos_solver.cc
+  source/lac/trilinos_solver_block.cc
+  source/lac/trilinos_sparse_matrix.cc
+  source/lac/trilinos_sparsity_pattern.cc
+  source/lac/trilinos_vector.cc
+  source/lac/trilinos_vector_base.cc
+  source/lac/vector.cc
+  source/lac/vector_memory.cc
+  source/lac/vector_view.cc
+  source/libparest/global_parameters.cc
+  source/libparest/graphical_display.cc
+  source/libparest/grid_transfer.cc
+  source/libparest/message_log.cc
+  source/libparest/statistics.cc
+  source/libparest/top_level.cc
+  source/libparest/utilities.cc
+  source/me-tomography/boundary_sources_phantom.cc
+  source/me-tomography/boundary_sources_planarz8.cc
+  source/me-tomography/coefficient.cc
+  source/me-tomography/evaluations.cc
+  source/me-tomography/experiment_description.cc
+  source/me-tomography/factories.cc
+  source/me-tomography/forward.cc
+  source/me-tomography/forward_solver_evaluators.cc
+  source/me-tomography/forward_solver_parameters.cc
+  source/me-tomography/geometry.cc
+  source/me-tomography/me_parameters.cc
+  source/me-tomography/me_slave.cc
+  source/me-tomography/me_tomography.cc
+  source/me-tomography/measurement_weights.cc
+  source/me-tomography/measurements.cc
+  source/me-tomography/problem_description.cc
+  source/me-tomography/solver.cc
+  source/me-tomography/state_discretization.cc
+  source/me-tomography/synthetic_data.cc
+  source/me-tomography/targets.cc
+  source/multigrid/mg_base.cc
+  source/multigrid/mg_dof_accessor.cc
+  source/multigrid/mg_dof_handler.cc
+  source/multigrid/mg_dof_tools.cc
+  source/multigrid/mg_smoother.cc
+  source/multigrid/mg_tools.all_dimensions.cc
+  source/multigrid/mg_transfer_block.cc
+  source/multigrid/mg_transfer_component.cc
+  source/multigrid/mg_transfer_prebuilt.cc
+  source/multigrid/multigrid.all_dimensions.cc
+  source/numerics/data_out.cc
+  source/numerics/data_out_faces.cc
+  source/numerics/data_out_rotation.cc
+  source/numerics/data_out_stack.cc
+  source/numerics/data_postprocessor.cc
+  source/numerics/derivative_approximation.cc
+  source/numerics/error_estimator.cc
+  source/numerics/fe_field_function.cc
+  source/numerics/histogram.cc
+  source/numerics/matrices.all_dimensions.cc
+  source/numerics/matrices.cc
+  source/numerics/solution_transfer.cc
+  source/numerics/time_dependent.cc
+  source/numerics/vectors.all_dimensions.cc
+  source/numerics/vectors.cc
+  source/libparest/master/master.cc
+  source/libparest/master/newton_method.cc
+  source/libparest/master/step_length_control.cc
+  source/libparest/parallel/control.cc
+  source/libparest/parallel/message_log.cc
+  source/libparest/parallel/multiple_experiments.cc
+  source/libparest/parallel/tools.cc
+  source/libparest/parameter/base.cc
+  source/libparest/parameter/bounds.cc
+  source/libparest/parameter/factory.cc
+  source/libparest/parameter/field.cc
+  source/libparest/parameter/field_discretization.cc
+  source/libparest/parameter/regularization.cc
+  source/libparest/slave/factory.cc
+  source/libparest/slave/slave.cc
+  source/libparest/slave/stationary/boundary_values.cc
+  source/libparest/slave/stationary/evaluations.cc
+  source/libparest/slave/stationary/global_matrix.cc
+  source/libparest/slave/stationary/grid_refinement.cc
+  source/libparest/slave/stationary/measurements.cc
+  source/libparest/slave/stationary/problem_description.cc
+  source/libparest/slave/stationary/slave.cc
+  source/libparest/slave/stationary/state_discretization.cc
+  source/libparest/slave/stationary/synthetic_data.cc
+)

Added: test-suite/trunk/External/SPEC/CFP2017rate/511.povray_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/511.povray_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/511.povray_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/511.povray_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,152 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/511.povray_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(frontend base . spec_qsort)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  SPEC-benchmark-test.ini
+  RUN_TYPE test
+)
+speccpu2017_validate_image(
+  SPEC-benchmark.tga SPEC-benchmark.org.tga imagevalidate_SPEC-benchmark.tga.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  SPEC-benchmark-train.ini
+  RUN_TYPE train
+)
+speccpu2017_validate_image(
+  SPEC-benchmark.tga SPEC-benchmark.org.tga imagevalidate_SPEC-benchmark.tga.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  SPEC-benchmark-ref.ini
+  RUN_TYPE ref
+)
+speccpu2017_validate_image(
+  SPEC-benchmark.tga SPEC-benchmark.org.tga imagevalidate_SPEC-benchmark.tga.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+# Using IGNORE_WHITESPACE because the reference output has CRLF line endings,
+# while the program output uses LF.
+speccpu2017_verify_output(RELATIVE_TOLERANCE 0.06 IGNORE_WHITESPACE)
+speccpu2017_add_executable(
+  atmosph.cpp
+  bbox.cpp
+  bcyl.cpp
+  benchmark.cpp
+  bezier.cpp
+  blob.cpp
+  boxes.cpp
+  bsphere.cpp
+  camera.cpp
+  chi2.cpp
+  colour.cpp
+  colutils.cpp
+  cones.cpp
+  csg.cpp
+  discs.cpp
+  express.cpp
+  fncode.cpp
+  fnintern.cpp
+  fnpovfpu.cpp
+  fnsyntax.cpp
+  fpmetric.cpp
+  fractal.cpp
+  function.cpp
+  hcmplx.cpp
+  hfield.cpp
+  histogra.cpp
+  iff.cpp
+  image.cpp
+  interior.cpp
+  isosurf.cpp
+  lathe.cpp
+  lbuffer.cpp
+  lightgrp.cpp
+  lighting.cpp
+  mathutil.cpp
+  matrices.cpp
+  media.cpp
+  mesh.cpp
+  normal.cpp
+  objects.cpp
+  octree.cpp
+  optout.cpp
+  parse.cpp
+  parsestr.cpp
+  parstxtr.cpp
+  pattern.cpp
+  pgm.cpp
+  photons.cpp
+  pigment.cpp
+  planes.cpp
+  point.cpp
+  poly.cpp
+  polygon.cpp
+  polysolv.cpp
+  povmsend.cpp
+  povmsrec.cpp
+  povray.cpp
+  pov_mem.cpp
+  pov_util.cpp
+  ppm.cpp
+  prism.cpp
+  quadrics.cpp
+  quatern.cpp
+  radiosit.cpp
+  rad_data.cpp
+  ray.cpp
+  rendctrl.cpp
+  render.cpp
+  renderio.cpp
+  reswords.cpp
+  sor.cpp
+  spheres.cpp
+  sphsweep.cpp
+  splines.cpp
+  statspov.cpp
+  super.cpp
+  targa.cpp
+  texture.cpp
+  tokenize.cpp
+  torus.cpp
+  triangle.cpp
+  truetype.cpp
+  txttest.cpp
+  userdisp.cpp
+  userio.cpp
+  vbuffer.cpp
+  vlbuffer.cpp
+  warps.cpp
+  base/fileinputoutput.cpp
+  base/povms.cpp
+  base/povmscpp.cpp
+  base/processoptions.cpp
+  base/stringutilities.cpp
+  base/textstream.cpp
+  base/textstreambuffer.cpp
+  frontend/defaultplatformbase.cpp
+  frontend/defaultrenderfrontend.cpp
+  frontend/messageoutput.cpp
+  frontend/processrenderoptions.cpp
+  frontend/renderfrontend.cpp
+  spec_qsort/spec_qsort.c
+)
+speccpu2017_prepare_rundir()

Added: test-suite/trunk/External/SPEC/CFP2017rate/519.lbm_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/519.lbm_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/519.lbm_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/519.lbm_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,46 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/519.lbm_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+link_libraries(-lm)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  20 reference.dat 0 1 100_100_130_cf_a.of
+  STDOUT lbm.out
+  WORKDIR input
+  RUN_TYPE test
+  SUITE_TYPE rate
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  300 reference.dat 0 1 100_100_130_cf_b.of
+  STDOUT lbm.out
+  WORKDIR input
+  RUN_TYPE train
+  SUITE_TYPE rate
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  3000 reference.dat 0 0 100_100_130_ldc.of
+  STDOUT lbm.out
+  WORKDIR input
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+################################################################################
+
+# Using IGNORE_WHITESPACE because the reference output consistently uses tabs
+# while the program output also uses spaces for indention.
+speccpu2017_verify_output(ABSOLUTE_TOLERANCE 0.0000001 IGNORE_WHITESPACE)
+speccpu2017_add_executable()

Added: test-suite/trunk/External/SPEC/CFP2017rate/526.blender_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/526.blender_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/526.blender_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/526.blender_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,1209 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/526.blender_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(
+  -DGLEW_NO_ES
+  -DGLEW_STATIC
+  -DWITH_DNA_GHASH
+  -DWITH_GL_PROFILE_COMPAT
+  -DWITH_HEADLESS
+  -DHAVE_UNSIGNED_CHAR
+)
+add_compile_options(-funsigned-char)
+speccpu2017_add_include_dirs(
+  specrand
+  blender/extern/binreloc/include
+  blender/extern/colamd/Include
+  blender/extern/glew/include
+  blender/extern/libmv
+  blender/extern/libmv/intern
+  blender/extern/rangetree
+  blender/extern/wcwidth
+  blender/intern
+  blender/intern/atomic
+  blender/intern/audaspace/intern
+  blender/intern/cycles/blender
+  blender/intern/elbeem/extern
+  blender/intern/ghost
+  blender/intern/ghost/intern
+  blender/intern/glew-mx
+  blender/intern/glew-mx/intern
+  blender/intern/guardedalloc
+  blender/intern/guardedalloc/intern
+  blender/intern/iksolver/extern
+  blender/intern/locale
+  blender/intern/memutil
+  blender/intern/mikktspace
+  blender/intern/opencolorio
+  blender/intern/raskter
+  blender/intern/smoke/extern
+  blender/intern/string
+  blender/intern/utfconv
+  blender/source/blender/blenfont
+  blender/source/blender/blenfont/intern
+  blender/source/blender/blenkernel
+  blender/source/blender/blenkernel/intern
+  blender/source/blender/blenlib
+  blender/source/blender/blenlib/intern
+  blender/source/blender/blenloader
+  blender/source/blender/blenloader/intern
+  blender/source/blender/bmesh
+  blender/source/blender/bmesh/intern
+  blender/source/blender/bmesh/tools
+  blender/source/blender/collada
+  blender/source/blender/compositor
+  blender/source/blender/editors/animation
+  blender/source/blender/editors/armature
+  blender/source/blender/editors/curve
+  blender/source/blender/editors/gpencil
+  blender/source/blender/editors/include
+  blender/source/blender/editors/interface
+  blender/source/blender/editors/io
+  blender/source/blender/editors/mask
+  blender/source/blender/editors/mesh
+  blender/source/blender/editors/metaball
+  blender/source/blender/editors/object
+  blender/source/blender/editors/physics
+  blender/source/blender/editors/render
+  blender/source/blender/editors/screen
+  blender/source/blender/editors/sculpt_paint
+  blender/source/blender/editors/sound
+  blender/source/blender/editors/space_action
+  blender/source/blender/editors/space_buttons
+  blender/source/blender/editors/space_clip
+  blender/source/blender/editors/space_console
+  blender/source/blender/editors/space_file
+  blender/source/blender/editors/space_graph
+  blender/source/blender/editors/space_image
+  blender/source/blender/editors/space_info
+  blender/source/blender/editors/space_logic
+  blender/source/blender/editors/space_nla
+  blender/source/blender/editors/space_node
+  blender/source/blender/editors/space_outliner
+  blender/source/blender/editors/space_script
+  blender/source/blender/editors/space_sequencer
+  blender/source/blender/editors/space_text
+  blender/source/blender/editors/space_time
+  blender/source/blender/editors/space_userpref
+  blender/source/blender/editors/space_view3d
+  blender/source/blender/editors/transform
+  blender/source/blender/editors/util
+  blender/source/blender/editors/uvedit
+  blender/source/blender/gpu
+  blender/source/blender/gpu/intern
+  blender/source/blender/ikplugin
+  blender/source/blender/ikplugin/intern
+  blender/source/blender/imbuf
+  blender/source/blender/imbuf/intern
+  blender/source/blender/imbuf/intern/openexr
+  blender/source/blender/makesdna
+  blender/source/blender/makesrna
+  blender/source/blender/makesrna/intern
+  blender/source/blender/modifiers
+  blender/source/blender/modifiers/intern
+  blender/source/blender/nodes
+  blender/source/blender/nodes/composite
+  blender/source/blender/nodes/intern
+  blender/source/blender/nodes/shader
+  blender/source/blender/nodes/texture
+  blender/source/blender/python
+  blender/source/blender/render/extern/include
+  blender/source/blender/render/intern/include
+  blender/source/blender/render/intern/raytrace
+  blender/source/blender/windowmanager
+  blender/source/gameengine/BlenderRoutines
+  blender_bin/source/blender/makesrna/intern
+  include
+  libpng
+  zlib
+)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  cube.blend --render-output "cube_" --threads 1 -b -F RAWTGA -s 1 -e 1 -a
+  RUN_TYPE test
+)
+speccpu2017_validate_image(
+  cube_0001.tga cube_0001.org.tga imagevalidate_cube_0001.out
+  -avg -threshold 0.75 -maxthreshold 0.01
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  sh5_reduced.blend --render-output "sh5_reduced_"
+  --threads 1 -b -F RAWTGA -s 234 -e 234 -a
+  RUN_TYPE train
+)
+speccpu2017_validate_image(
+  sh5_reduced_0234.tga sh5_reduced_0234.org.tga imagevalidate_sh5_reduced_0234.out
+  -avg -threshold 0.75 -maxthreshold 0.01
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  sh3_no_char.blend --render-output "sh3_no_char_"
+  --threads 1 -b -F RAWTGA -s 849 -e 849 -a
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+speccpu2017_validate_image(
+  sh3_no_char_0849.tga sh3_no_char_0849.org.tga imagevalidate_sh3_no_char_0849.out
+  -avg -threshold 0.75 -maxthreshold 0.01
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output(RELATIVE_TOLERANCE 5.0e-2)
+speccpu2017_add_executable(
+  blender/source/creator/creator.c
+  blender/source/blender/windowmanager/intern/wm.c
+  blender/source/blender/windowmanager/intern/wm_playanim.c
+  blender/source/blender/windowmanager/intern/wm_cursors.c
+  blender/source/blender/windowmanager/intern/wm_dragdrop.c
+  blender/source/blender/windowmanager/intern/wm_draw.c
+  blender/source/blender/windowmanager/intern/wm_event_system.c
+  blender/source/blender/windowmanager/intern/wm_files.c
+  blender/source/blender/windowmanager/intern/wm_gesture.c
+  blender/source/blender/windowmanager/intern/wm_init_exit.c
+  blender/source/blender/windowmanager/intern/wm_jobs.c
+  blender/source/blender/windowmanager/intern/wm_keymap.c
+  blender/source/blender/windowmanager/intern/wm_operators.c
+  blender/source/blender/windowmanager/intern/wm_subwindow.c
+  blender/source/blender/windowmanager/intern/wm_window.c
+  blender/source/blender/editors/space_api/spacetypes.c
+  blender/source/blender/editors/space_action/action_draw.c
+  blender/source/blender/editors/space_action/action_edit.c
+  blender/source/blender/editors/space_action/action_ops.c
+  blender/source/blender/editors/space_action/action_select.c
+  blender/source/blender/editors/space_action/space_action.c
+  blender/source/blender/editors/space_buttons/buttons_context.c
+  blender/source/blender/editors/space_buttons/buttons_ops.c
+  blender/source/blender/editors/space_buttons/buttons_texture.c
+  blender/source/blender/editors/space_buttons/space_buttons.c
+  blender/source/blender/editors/space_console/console_draw.c
+  blender/source/blender/editors/space_console/console_ops.c
+  blender/source/blender/editors/space_console/space_console.c
+  blender/source/blender/editors/space_file/file_draw.c
+  blender/source/blender/editors/space_file/file_ops.c
+  blender/source/blender/editors/space_file/file_panels.c
+  blender/source/blender/editors/space_file/filelist.c
+  blender/source/blender/editors/space_file/filesel.c
+  blender/source/blender/editors/space_file/fsmenu.c
+  blender/source/blender/editors/space_file/space_file.c
+  blender/source/blender/editors/space_graph/graph_buttons.c
+  blender/source/blender/editors/space_graph/graph_draw.c
+  blender/source/blender/editors/space_graph/graph_edit.c
+  blender/source/blender/editors/space_graph/graph_ops.c
+  blender/source/blender/editors/space_graph/graph_select.c
+  blender/source/blender/editors/space_graph/graph_utils.c
+  blender/source/blender/editors/space_graph/space_graph.c
+  blender/source/blender/editors/space_image/image_buttons.c
+  blender/source/blender/editors/space_image/image_draw.c
+  blender/source/blender/editors/space_image/image_edit.c
+  blender/source/blender/editors/space_image/image_ops.c
+  blender/source/blender/editors/space_image/space_image.c
+  blender/source/blender/editors/space_info/info_ops.c
+  blender/source/blender/editors/space_info/info_stats.c
+  blender/source/blender/editors/space_info/info_draw.c
+  blender/source/blender/editors/space_info/info_report.c
+  blender/source/blender/editors/space_info/textview.c
+  blender/source/blender/editors/space_info/space_info.c
+  blender/source/blender/editors/space_logic/logic_buttons.c
+  blender/source/blender/editors/space_logic/logic_ops.c
+  blender/source/blender/editors/space_logic/logic_window.c
+  blender/source/blender/editors/space_logic/space_logic.c
+  blender/source/blender/editors/space_nla/nla_buttons.c
+  blender/source/blender/editors/space_nla/nla_channels.c
+  blender/source/blender/editors/space_nla/nla_draw.c
+  blender/source/blender/editors/space_nla/nla_edit.c
+  blender/source/blender/editors/space_nla/nla_ops.c
+  blender/source/blender/editors/space_nla/nla_select.c
+  blender/source/blender/editors/space_nla/space_nla.c
+  blender/source/blender/editors/space_node/drawnode.c
+  blender/source/blender/editors/space_node/node_add.c
+  blender/source/blender/editors/space_node/node_buttons.c
+  blender/source/blender/editors/space_node/node_draw.c
+  blender/source/blender/editors/space_node/node_edit.c
+  blender/source/blender/editors/space_node/node_group.c
+  blender/source/blender/editors/space_node/node_ops.c
+  blender/source/blender/editors/space_node/node_relationships.c
+  blender/source/blender/editors/space_node/node_select.c
+  blender/source/blender/editors/space_node/node_templates.c
+  blender/source/blender/editors/space_node/node_toolbar.c
+  blender/source/blender/editors/space_node/node_view.c
+  blender/source/blender/editors/space_node/space_node.c
+  blender/source/blender/editors/space_outliner/outliner_draw.c
+  blender/source/blender/editors/space_outliner/outliner_edit.c
+  blender/source/blender/editors/space_outliner/outliner_ops.c
+  blender/source/blender/editors/space_outliner/outliner_select.c
+  blender/source/blender/editors/space_outliner/outliner_tools.c
+  blender/source/blender/editors/space_outliner/outliner_tree.c
+  blender/source/blender/editors/space_outliner/space_outliner.c
+  blender/source/blender/editors/space_script/script_edit.c
+  blender/source/blender/editors/space_script/script_ops.c
+  blender/source/blender/editors/space_script/space_script.c
+  blender/source/blender/editors/space_sequencer/sequencer_add.c
+  blender/source/blender/editors/space_sequencer/sequencer_buttons.c
+  blender/source/blender/editors/space_sequencer/sequencer_draw.c
+  blender/source/blender/editors/space_sequencer/sequencer_edit.c
+  blender/source/blender/editors/space_sequencer/sequencer_modifier.c
+  blender/source/blender/editors/space_sequencer/sequencer_ops.c
+  blender/source/blender/editors/space_sequencer/sequencer_scopes.c
+  blender/source/blender/editors/space_sequencer/sequencer_select.c
+  blender/source/blender/editors/space_sequencer/sequencer_view.c
+  blender/source/blender/editors/space_sequencer/space_sequencer.c
+  blender/source/blender/editors/space_text/space_text.c
+  blender/source/blender/editors/space_text/text_autocomplete.c
+  blender/source/blender/editors/space_text/text_draw.c
+  blender/source/blender/editors/space_text/text_format.c
+  blender/source/blender/editors/space_text/text_format_lua.c
+  blender/source/blender/editors/space_text/text_format_osl.c
+  blender/source/blender/editors/space_text/text_format_py.c
+  blender/source/blender/editors/space_text/text_header.c
+  blender/source/blender/editors/space_text/text_ops.c
+  blender/source/blender/editors/space_time/space_time.c
+  blender/source/blender/editors/space_time/time_ops.c
+  blender/source/blender/editors/space_userpref/space_userpref.c
+  blender/source/blender/editors/space_userpref/userpref_ops.c
+  blender/source/blender/editors/space_view3d/drawanimviz.c
+  blender/source/blender/editors/space_view3d/drawarmature.c
+  blender/source/blender/editors/space_view3d/drawmesh.c
+  blender/source/blender/editors/space_view3d/drawobject.c
+  blender/source/blender/editors/space_view3d/drawvolume.c
+  blender/source/blender/editors/space_view3d/space_view3d.c
+  blender/source/blender/editors/space_view3d/view3d_buttons.c
+  blender/source/blender/editors/space_view3d/view3d_camera_control.c
+  blender/source/blender/editors/space_view3d/view3d_draw.c
+  blender/source/blender/editors/space_view3d/view3d_edit.c
+  blender/source/blender/editors/space_view3d/view3d_fly.c
+  blender/source/blender/editors/space_view3d/view3d_walk.c
+  blender/source/blender/editors/space_view3d/view3d_header.c
+  blender/source/blender/editors/space_view3d/view3d_iterators.c
+  blender/source/blender/editors/space_view3d/view3d_ops.c
+  blender/source/blender/editors/space_view3d/view3d_project.c
+  blender/source/blender/editors/space_view3d/view3d_ruler.c
+  blender/source/blender/editors/space_view3d/view3d_select.c
+  blender/source/blender/editors/space_view3d/view3d_snap.c
+  blender/source/blender/editors/space_view3d/view3d_toolbar.c
+  blender/source/blender/editors/space_view3d/view3d_view.c
+  blender/source/blender/editors/space_clip/clip_buttons.c
+  blender/source/blender/editors/space_clip/clip_dopesheet_draw.c
+  blender/source/blender/editors/space_clip/clip_dopesheet_ops.c
+  blender/source/blender/editors/space_clip/clip_draw.c
+  blender/source/blender/editors/space_clip/clip_editor.c
+  blender/source/blender/editors/space_clip/clip_graph_draw.c
+  blender/source/blender/editors/space_clip/clip_graph_ops.c
+  blender/source/blender/editors/space_clip/clip_ops.c
+  blender/source/blender/editors/space_clip/clip_toolbar.c
+  blender/source/blender/editors/space_clip/clip_utils.c
+  blender/source/blender/editors/space_clip/space_clip.c
+  blender/source/blender/editors/space_clip/tracking_ops.c
+  blender/source/blender/editors/space_clip/tracking_select.c
+  blender/source/blender/editors/transform/transform.c
+  blender/source/blender/editors/transform/transform_constraints.c
+  blender/source/blender/editors/transform/transform_conversions.c
+  blender/source/blender/editors/transform/transform_generics.c
+  blender/source/blender/editors/transform/transform_input.c
+  blender/source/blender/editors/transform/transform_manipulator.c
+  blender/source/blender/editors/transform/transform_ops.c
+  blender/source/blender/editors/transform/transform_orientations.c
+  blender/source/blender/editors/transform/transform_snap.c
+  blender/source/blender/editors/util/ed_transverts.c
+  blender/source/blender/editors/util/ed_util.c
+  blender/source/blender/editors/util/editmode_undo.c
+  blender/source/blender/editors/util/numinput.c
+  blender/source/blender/editors/util/undo.c
+  blender/source/blender/editors/uvedit/uvedit_buttons.c
+  blender/source/blender/editors/uvedit/uvedit_draw.c
+  blender/source/blender/editors/uvedit/uvedit_ops.c
+  blender/source/blender/editors/uvedit/uvedit_parametrizer.c
+  blender/source/blender/editors/uvedit/uvedit_smart_stitch.c
+  blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+  blender/source/blender/editors/curve/curve_ops.c
+  blender/source/blender/editors/curve/editcurve.c
+  blender/source/blender/editors/curve/editcurve_add.c
+  blender/source/blender/editors/curve/editfont.c
+  blender/source/blender/editors/curve/lorem.c
+  blender/source/blender/editors/gpencil/drawgpencil.c
+  blender/source/blender/editors/gpencil/editaction_gpencil.c
+  blender/source/blender/editors/gpencil/gpencil_buttons.c
+  blender/source/blender/editors/gpencil/gpencil_edit.c
+  blender/source/blender/editors/gpencil/gpencil_ops.c
+  blender/source/blender/editors/gpencil/gpencil_paint.c
+  blender/source/blender/editors/gpencil/gpencil_undo.c
+  blender/source/blender/editors/interface/interface.c
+  blender/source/blender/editors/interface/interface_anim.c
+  blender/source/blender/editors/interface/interface_draw.c
+  blender/source/blender/editors/interface/interface_eyedropper.c
+  blender/source/blender/editors/interface/interface_handlers.c
+  blender/source/blender/editors/interface/interface_icons.c
+  blender/source/blender/editors/interface/interface_layout.c
+  blender/source/blender/editors/interface/interface_ops.c
+  blender/source/blender/editors/interface/interface_panel.c
+  blender/source/blender/editors/interface/interface_regions.c
+  blender/source/blender/editors/interface/interface_style.c
+  blender/source/blender/editors/interface/interface_templates.c
+  blender/source/blender/editors/interface/interface_utils.c
+  blender/source/blender/editors/interface/interface_widgets.c
+  blender/source/blender/editors/interface/resources.c
+  blender/source/blender/editors/interface/view2d.c
+  blender/source/blender/editors/interface/view2d_ops.c
+  blender/source/blender/editors/mesh/editface.c
+  blender/source/blender/editors/mesh/editmesh_add.c
+  blender/source/blender/editors/mesh/editmesh_bevel.c
+  blender/source/blender/editors/mesh/editmesh_bisect.c
+  blender/source/blender/editors/mesh/editmesh_extrude.c
+  blender/source/blender/editors/mesh/editmesh_inset.c
+  blender/source/blender/editors/mesh/editmesh_intersect.c
+  blender/source/blender/editors/mesh/editmesh_knife.c
+  blender/source/blender/editors/mesh/editmesh_knife_project.c
+  blender/source/blender/editors/mesh/editmesh_loopcut.c
+  blender/source/blender/editors/mesh/editmesh_path.c
+  blender/source/blender/editors/mesh/editmesh_rip.c
+  blender/source/blender/editors/mesh/editmesh_rip_edge.c
+  blender/source/blender/editors/mesh/editmesh_select.c
+  blender/source/blender/editors/mesh/editmesh_tools.c
+  blender/source/blender/editors/mesh/editmesh_utils.c
+  blender/source/blender/editors/mesh/mesh_data.c
+  blender/source/blender/editors/mesh/mesh_ops.c
+  blender/source/blender/editors/mesh/meshtools.c
+  blender/source/blender/editors/metaball/mball_edit.c
+  blender/source/blender/editors/metaball/mball_ops.c
+  blender/source/blender/editors/object/object_add.c
+  blender/source/blender/editors/object/object_bake.c
+  blender/source/blender/editors/object/object_bake_api.c
+  blender/source/blender/editors/object/object_constraint.c
+  blender/source/blender/editors/object/object_edit.c
+  blender/source/blender/editors/object/object_group.c
+  blender/source/blender/editors/object/object_hook.c
+  blender/source/blender/editors/object/object_lattice.c
+  blender/source/blender/editors/object/object_lod.c
+  blender/source/blender/editors/object/object_modifier.c
+  blender/source/blender/editors/object/object_ops.c
+  blender/source/blender/editors/object/object_random.c
+  blender/source/blender/editors/object/object_relations.c
+  blender/source/blender/editors/object/object_select.c
+  blender/source/blender/editors/object/object_shapekey.c
+  blender/source/blender/editors/object/object_transform.c
+  blender/source/blender/editors/object/object_warp.c
+  blender/source/blender/editors/object/object_vgroup.c
+  blender/source/blender/editors/armature/armature_add.c
+  blender/source/blender/editors/armature/armature_edit.c
+  blender/source/blender/editors/armature/armature_naming.c
+  blender/source/blender/editors/armature/armature_ops.c
+  blender/source/blender/editors/armature/armature_relations.c
+  blender/source/blender/editors/armature/armature_select.c
+  blender/source/blender/editors/armature/armature_skinning.c
+  blender/source/blender/editors/armature/armature_utils.c
+  blender/source/blender/editors/armature/editarmature_generate.c
+  blender/source/blender/editors/armature/editarmature_retarget.c
+  blender/source/blender/editors/armature/editarmature_sketch.c
+  blender/source/blender/editors/armature/meshlaplacian.c
+  blender/source/blender/editors/armature/pose_edit.c
+  blender/source/blender/editors/armature/pose_lib.c
+  blender/source/blender/editors/armature/pose_group.c
+  blender/source/blender/editors/armature/pose_select.c
+  blender/source/blender/editors/armature/pose_slide.c
+  blender/source/blender/editors/armature/pose_transform.c
+  blender/source/blender/editors/armature/pose_utils.c
+  blender/source/blender/editors/armature/reeb.c
+  blender/source/blender/editors/physics/dynamicpaint_ops.c
+  blender/source/blender/editors/physics/particle_boids.c
+  blender/source/blender/editors/physics/particle_edit.c
+  blender/source/blender/editors/physics/particle_object.c
+  blender/source/blender/editors/physics/physics_fluid.c
+  blender/source/blender/editors/physics/physics_ops.c
+  blender/source/blender/editors/physics/physics_pointcache.c
+  blender/source/blender/editors/physics/rigidbody_constraint.c
+  blender/source/blender/editors/physics/rigidbody_object.c
+  blender/source/blender/editors/physics/rigidbody_world.c
+  blender/source/blender/editors/render/render_internal.c
+  blender/source/blender/editors/render/render_opengl.c
+  blender/source/blender/editors/render/render_ops.c
+  blender/source/blender/editors/render/render_preview.c
+  blender/source/blender/editors/render/render_shading.c
+  blender/source/blender/editors/render/render_update.c
+  blender/source/blender/editors/render/render_view.c
+  blender/source/blender/editors/screen/area.c
+  blender/source/blender/editors/screen/glutil.c
+  blender/source/blender/editors/screen/screen_context.c
+  blender/source/blender/editors/screen/screen_edit.c
+  blender/source/blender/editors/screen/screen_ops.c
+  blender/source/blender/editors/screen/screendump.c
+  blender/source/blender/editors/sculpt_paint/paint_cursor.c
+  blender/source/blender/editors/sculpt_paint/paint_curve.c
+  blender/source/blender/editors/sculpt_paint/paint_hide.c
+  blender/source/blender/editors/sculpt_paint/paint_image.c
+  blender/source/blender/editors/sculpt_paint/paint_image_2d.c
+  blender/source/blender/editors/sculpt_paint/paint_image_proj.c
+  blender/source/blender/editors/sculpt_paint/paint_mask.c
+  blender/source/blender/editors/sculpt_paint/paint_ops.c
+  blender/source/blender/editors/sculpt_paint/paint_stroke.c
+  blender/source/blender/editors/sculpt_paint/paint_undo.c
+  blender/source/blender/editors/sculpt_paint/paint_utils.c
+  blender/source/blender/editors/sculpt_paint/paint_vertex.c
+  blender/source/blender/editors/sculpt_paint/paint_vertex_proj.c
+  blender/source/blender/editors/sculpt_paint/sculpt.c
+  blender/source/blender/editors/sculpt_paint/sculpt_undo.c
+  blender/source/blender/editors/sculpt_paint/sculpt_uv.c
+  blender/source/blender/editors/sound/sound_ops.c
+  blender/source/blender/editors/animation/anim_channels_defines.c
+  blender/source/blender/editors/animation/anim_channels_edit.c
+  blender/source/blender/editors/animation/anim_deps.c
+  blender/source/blender/editors/animation/anim_draw.c
+  blender/source/blender/editors/animation/anim_filter.c
+  blender/source/blender/editors/animation/anim_ipo_utils.c
+  blender/source/blender/editors/animation/anim_markers.c
+  blender/source/blender/editors/animation/anim_ops.c
+  blender/source/blender/editors/animation/drivers.c
+  blender/source/blender/editors/animation/fmodifier_ui.c
+  blender/source/blender/editors/animation/keyframes_draw.c
+  blender/source/blender/editors/animation/keyframes_edit.c
+  blender/source/blender/editors/animation/keyframes_general.c
+  blender/source/blender/editors/animation/keyframing.c
+  blender/source/blender/editors/animation/keyingsets.c
+  blender_bin/release/datafiles/bfont.pfb.c
+  blender_bin/release/datafiles/bfont.ttf.c
+  blender_bin/release/datafiles/bmonofont.ttf.c
+  blender_bin/release/datafiles/startup.blend.c
+  blender/source/blender/editors/mask/mask_add.c
+  blender/source/blender/editors/mask/mask_draw.c
+  blender/source/blender/editors/mask/mask_edit.c
+  blender/source/blender/editors/mask/mask_editaction.c
+  blender/source/blender/editors/mask/mask_ops.c
+  blender/source/blender/editors/mask/mask_relationships.c
+  blender/source/blender/editors/mask/mask_select.c
+  blender/source/blender/editors/mask/mask_shapekey.c
+  blender/source/blender/editors/io/io_ops.c
+  blender/source/blender/render/intern/raytrace/rayobject.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_empty.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_octree.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_raycounter.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_svbvh.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_instance.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_qbvh.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp
+  blender/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
+  blender/source/blender/render/intern/source/bake.c
+  blender/source/blender/render/intern/source/bake_api.c
+  blender/source/blender/render/intern/source/convertblender.c
+  blender/source/blender/render/intern/source/envmap.c
+  blender/source/blender/render/intern/source/external_engine.c
+  blender/source/blender/render/intern/source/imagetexture.c
+  blender/source/blender/render/intern/source/initrender.c
+  blender/source/blender/render/intern/source/multires_bake.c
+  blender/source/blender/render/intern/source/occlusion.c
+  blender/source/blender/render/intern/source/pipeline.c
+  blender/source/blender/render/intern/source/pixelblending.c
+  blender/source/blender/render/intern/source/pixelshading.c
+  blender/source/blender/render/intern/source/pointdensity.c
+  blender/source/blender/render/intern/source/rayshade.c
+  blender/source/blender/render/intern/source/rendercore.c
+  blender/source/blender/render/intern/source/render_result.c
+  blender/source/blender/render/intern/source/render_texture.c
+  blender/source/blender/render/intern/source/renderdatabase.c
+  blender/source/blender/render/intern/source/shadbuf.c
+  blender/source/blender/render/intern/source/shadeinput.c
+  blender/source/blender/render/intern/source/shadeoutput.c
+  blender/source/blender/render/intern/source/sss.c
+  blender/source/blender/render/intern/source/strand.c
+  blender/source/blender/render/intern/source/sunsky.c
+  blender/source/blender/render/intern/source/texture_ocean.c
+  blender/source/blender/render/intern/source/volume_precache.c
+  blender/source/blender/render/intern/source/volumetric.c
+  blender/source/blender/render/intern/source/voxeldata.c
+  blender/source/blender/render/intern/source/zbuf.c
+  blender/source/blender/ikplugin/intern/ikplugin_api.c
+  blender/source/blender/modifiers/intern/MOD_armature.c
+  blender/source/blender/modifiers/intern/MOD_array.c
+  blender/source/blender/modifiers/intern/MOD_bevel.c
+  blender/source/blender/modifiers/intern/MOD_boolean.c
+  blender/source/blender/modifiers/intern/MOD_build.c
+  blender/source/blender/modifiers/intern/MOD_cast.c
+  blender/source/blender/modifiers/intern/MOD_cloth.c
+  blender/source/blender/modifiers/intern/MOD_collision.c
+  blender/source/blender/modifiers/intern/MOD_curve.c
+  blender/source/blender/modifiers/intern/MOD_decimate.c
+  blender/source/blender/modifiers/intern/MOD_displace.c
+  blender/source/blender/modifiers/intern/MOD_dynamicpaint.c
+  blender/source/blender/modifiers/intern/MOD_edgesplit.c
+  blender/source/blender/modifiers/intern/MOD_explode.c
+  blender/source/blender/modifiers/intern/MOD_fluidsim.c
+  blender/source/blender/modifiers/intern/MOD_fluidsim_util.c
+  blender/source/blender/modifiers/intern/MOD_hook.c
+  blender/source/blender/modifiers/intern/MOD_laplaciandeform.c
+  blender/source/blender/modifiers/intern/MOD_laplaciansmooth.c
+  blender/source/blender/modifiers/intern/MOD_lattice.c
+  blender/source/blender/modifiers/intern/MOD_mask.c
+  blender/source/blender/modifiers/intern/MOD_meshcache.c
+  blender/source/blender/modifiers/intern/MOD_meshcache_mdd.c
+  blender/source/blender/modifiers/intern/MOD_meshcache_pc2.c
+  blender/source/blender/modifiers/intern/MOD_meshcache_util.c
+  blender/source/blender/modifiers/intern/MOD_meshdeform.c
+  blender/source/blender/modifiers/intern/MOD_mirror.c
+  blender/source/blender/modifiers/intern/MOD_multires.c
+  blender/source/blender/modifiers/intern/MOD_none.c
+  blender/source/blender/modifiers/intern/MOD_ocean.c
+  blender/source/blender/modifiers/intern/MOD_particleinstance.c
+  blender/source/blender/modifiers/intern/MOD_particlesystem.c
+  blender/source/blender/modifiers/intern/MOD_remesh.c
+  blender/source/blender/modifiers/intern/MOD_screw.c
+  blender/source/blender/modifiers/intern/MOD_shapekey.c
+  blender/source/blender/modifiers/intern/MOD_shrinkwrap.c
+  blender/source/blender/modifiers/intern/MOD_simpledeform.c
+  blender/source/blender/modifiers/intern/MOD_skin.c
+  blender/source/blender/modifiers/intern/MOD_smoke.c
+  blender/source/blender/modifiers/intern/MOD_smooth.c
+  blender/source/blender/modifiers/intern/MOD_softbody.c
+  blender/source/blender/modifiers/intern/MOD_solidify.c
+  blender/source/blender/modifiers/intern/MOD_subsurf.c
+  blender/source/blender/modifiers/intern/MOD_surface.c
+  blender/source/blender/modifiers/intern/MOD_triangulate.c
+  blender/source/blender/modifiers/intern/MOD_util.c
+  blender/source/blender/modifiers/intern/MOD_uvwarp.c
+  blender/source/blender/modifiers/intern/MOD_uvproject.c
+  blender/source/blender/modifiers/intern/MOD_warp.c
+  blender/source/blender/modifiers/intern/MOD_wave.c
+  blender/source/blender/modifiers/intern/MOD_weightvg_util.c
+  blender/source/blender/modifiers/intern/MOD_weightvgedit.c
+  blender/source/blender/modifiers/intern/MOD_weightvgmix.c
+  blender/source/blender/modifiers/intern/MOD_weightvgproximity.c
+  blender/source/blender/modifiers/intern/MOD_wireframe.c
+  blender/source/blender/bmesh/operators/bmo_beautify.c
+  blender/source/blender/bmesh/operators/bmo_bevel.c
+  blender/source/blender/bmesh/operators/bmo_bisect_plane.c
+  blender/source/blender/bmesh/operators/bmo_bridge.c
+  blender/source/blender/bmesh/operators/bmo_connect.c
+  blender/source/blender/bmesh/operators/bmo_connect_nonplanar.c
+  blender/source/blender/bmesh/operators/bmo_connect_pair.c
+  blender/source/blender/bmesh/operators/bmo_create.c
+  blender/source/blender/bmesh/operators/bmo_dissolve.c
+  blender/source/blender/bmesh/operators/bmo_dupe.c
+  blender/source/blender/bmesh/operators/bmo_edgenet.c
+  blender/source/blender/bmesh/operators/bmo_extrude.c
+  blender/source/blender/bmesh/operators/bmo_fill_attribute.c
+  blender/source/blender/bmesh/operators/bmo_fill_edgeloop.c
+  blender/source/blender/bmesh/operators/bmo_fill_grid.c
+  blender/source/blender/bmesh/operators/bmo_fill_holes.c
+  blender/source/blender/bmesh/operators/bmo_inset.c
+  blender/source/blender/bmesh/operators/bmo_join_triangles.c
+  blender/source/blender/bmesh/operators/bmo_mesh_conv.c
+  blender/source/blender/bmesh/operators/bmo_mirror.c
+  blender/source/blender/bmesh/operators/bmo_normals.c
+  blender/source/blender/bmesh/operators/bmo_poke.c
+  blender/source/blender/bmesh/operators/bmo_primitive.c
+  blender/source/blender/bmesh/operators/bmo_removedoubles.c
+  blender/source/blender/bmesh/operators/bmo_similar.c
+  blender/source/blender/bmesh/operators/bmo_smooth_laplacian.c
+  blender/source/blender/bmesh/operators/bmo_split_edges.c
+  blender/source/blender/bmesh/operators/bmo_subdivide.c
+  blender/source/blender/bmesh/operators/bmo_subdivide_edgering.c
+  blender/source/blender/bmesh/operators/bmo_symmetrize.c
+  blender/source/blender/bmesh/operators/bmo_triangulate.c
+  blender/source/blender/bmesh/operators/bmo_unsubdivide.c
+  blender/source/blender/bmesh/operators/bmo_utils.c
+  blender/source/blender/bmesh/operators/bmo_wireframe.c
+  blender/source/blender/bmesh/intern/bmesh_construct.c
+  blender/source/blender/bmesh/intern/bmesh_core.c
+  blender/source/blender/bmesh/intern/bmesh_edgeloop.c
+  blender/source/blender/bmesh/intern/bmesh_delete.c
+  blender/source/blender/bmesh/intern/bmesh_interp.c
+  blender/source/blender/bmesh/intern/bmesh_iterators.c
+  blender/source/blender/bmesh/intern/bmesh_log.c
+  blender/source/blender/bmesh/intern/bmesh_marking.c
+  blender/source/blender/bmesh/intern/bmesh_mesh.c
+  blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
+  blender/source/blender/bmesh/intern/bmesh_mods.c
+  blender/source/blender/bmesh/intern/bmesh_opdefines.c
+  blender/source/blender/bmesh/intern/bmesh_operators.c
+  blender/source/blender/bmesh/intern/bmesh_polygon.c
+  blender/source/blender/bmesh/intern/bmesh_queries.c
+  blender/source/blender/bmesh/intern/bmesh_structure.c
+  blender/source/blender/bmesh/intern/bmesh_walkers.c
+  blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
+  blender/source/blender/bmesh/tools/bmesh_beautify.c
+  blender/source/blender/bmesh/tools/bmesh_bevel.c
+  blender/source/blender/bmesh/tools/bmesh_bisect_plane.c
+  blender/source/blender/bmesh/tools/bmesh_decimate_collapse.c
+  blender/source/blender/bmesh/tools/bmesh_decimate_dissolve.c
+  blender/source/blender/bmesh/tools/bmesh_decimate_unsubdivide.c
+  blender/source/blender/bmesh/tools/bmesh_edgenet.c
+  blender/source/blender/bmesh/tools/bmesh_edgesplit.c
+  blender/source/blender/bmesh/tools/bmesh_intersect.c
+  blender/source/blender/bmesh/tools/bmesh_path.c
+  blender/source/blender/bmesh/tools/bmesh_region_match.c
+  blender/source/blender/bmesh/tools/bmesh_triangulate.c
+  blender/source/blender/bmesh/tools/bmesh_wireframe.c
+  blender/source/blender/blenkernel/intern/CCGSubSurf.c
+  blender/source/blender/blenkernel/intern/DerivedMesh.c
+  blender/source/blender/blenkernel/intern/action.c
+  blender/source/blender/blenkernel/intern/addon.c
+  blender/source/blender/blenkernel/intern/anim.c
+  blender/source/blender/blenkernel/intern/anim_sys.c
+  blender/source/blender/blenkernel/intern/armature.c
+  blender/source/blender/blenkernel/intern/autoexec.c
+  blender/source/blender/blenkernel/intern/blender.c
+  blender/source/blender/blenkernel/intern/bmfont.c
+  blender/source/blender/blenkernel/intern/boids.c
+  blender/source/blender/blenkernel/intern/bpath.c
+  blender/source/blender/blenkernel/intern/brush.c
+  blender/source/blender/blenkernel/intern/bullet.c
+  blender/source/blender/blenkernel/intern/bvhutils.c
+  blender/source/blender/blenkernel/intern/camera.c
+  blender/source/blender/blenkernel/intern/cdderivedmesh.c
+  blender/source/blender/blenkernel/intern/cloth.c
+  blender/source/blender/blenkernel/intern/collision.c
+  blender/source/blender/blenkernel/intern/colortools.c
+  blender/source/blender/blenkernel/intern/constraint.c
+  blender/source/blender/blenkernel/intern/context.c
+  blender/source/blender/blenkernel/intern/crazyspace.c
+  blender/source/blender/blenkernel/intern/curve.c
+  blender/source/blender/blenkernel/intern/customdata.c
+  blender/source/blender/blenkernel/intern/customdata_file.c
+  blender/source/blender/blenkernel/intern/deform.c
+  blender/source/blender/blenkernel/intern/depsgraph.c
+  blender/source/blender/blenkernel/intern/displist.c
+  blender/source/blender/blenkernel/intern/dynamicpaint.c
+  blender/source/blender/blenkernel/intern/editderivedmesh.c
+  blender/source/blender/blenkernel/intern/editmesh.c
+  blender/source/blender/blenkernel/intern/editmesh_bvh.c
+  blender/source/blender/blenkernel/intern/effect.c
+  blender/source/blender/blenkernel/intern/fcurve.c
+  blender/source/blender/blenkernel/intern/fluidsim.c
+  blender/source/blender/blenkernel/intern/fmodifier.c
+  blender/source/blender/blenkernel/intern/font.c
+  blender/source/blender/blenkernel/intern/freestyle.c
+  blender/source/blender/blenkernel/intern/gpencil.c
+  blender/source/blender/blenkernel/intern/group.c
+  blender/source/blender/blenkernel/intern/icons.c
+  blender/source/blender/blenkernel/intern/idcode.c
+  blender/source/blender/blenkernel/intern/idprop.c
+  blender/source/blender/blenkernel/intern/image.c
+  blender/source/blender/blenkernel/intern/image_gen.c
+  blender/source/blender/blenkernel/intern/implicit.c
+  blender/source/blender/blenkernel/intern/ipo.c
+  blender/source/blender/blenkernel/intern/key.c
+  blender/source/blender/blenkernel/intern/lamp.c
+  blender/source/blender/blenkernel/intern/lattice.c
+  blender/source/blender/blenkernel/intern/library.c
+  blender/source/blender/blenkernel/intern/library_query.c
+  blender/source/blender/blenkernel/intern/linestyle.c
+  blender/source/blender/blenkernel/intern/mask.c
+  blender/source/blender/blenkernel/intern/mask_evaluate.c
+  blender/source/blender/blenkernel/intern/mask_rasterize.c
+  blender/source/blender/blenkernel/intern/material.c
+  blender/source/blender/blenkernel/intern/mball.c
+  blender/source/blender/blenkernel/intern/mesh.c
+  blender/source/blender/blenkernel/intern/mesh_evaluate.c
+  blender/source/blender/blenkernel/intern/mesh_mapping.c
+  blender/source/blender/blenkernel/intern/mesh_validate.c
+  blender/source/blender/blenkernel/intern/modifier.c
+  blender/source/blender/blenkernel/intern/modifiers_bmesh.c
+  blender/source/blender/blenkernel/intern/movieclip.c
+  blender/source/blender/blenkernel/intern/multires.c
+  blender/source/blender/blenkernel/intern/nla.c
+  blender/source/blender/blenkernel/intern/node.c
+  blender/source/blender/blenkernel/intern/object.c
+  blender/source/blender/blenkernel/intern/object_deform.c
+  blender/source/blender/blenkernel/intern/object_dupli.c
+  blender/source/blender/blenkernel/intern/ocean.c
+  blender/source/blender/blenkernel/intern/packedFile.c
+  blender/source/blender/blenkernel/intern/paint.c
+  blender/source/blender/blenkernel/intern/particle.c
+  blender/source/blender/blenkernel/intern/particle_system.c
+  blender/source/blender/blenkernel/intern/pbvh.c
+  blender/source/blender/blenkernel/intern/pbvh_bmesh.c
+  blender/source/blender/blenkernel/intern/pointcache.c
+  blender/source/blender/blenkernel/intern/property.c
+  blender/source/blender/blenkernel/intern/report.c
+  blender/source/blender/blenkernel/intern/rigidbody.c
+  blender/source/blender/blenkernel/intern/sca.c
+  blender/source/blender/blenkernel/intern/scene.c
+  blender/source/blender/blenkernel/intern/screen.c
+  blender/source/blender/blenkernel/intern/seqcache.c
+  blender/source/blender/blenkernel/intern/seqeffects.c
+  blender/source/blender/blenkernel/intern/seqmodifier.c
+  blender/source/blender/blenkernel/intern/sequencer.c
+  blender/source/blender/blenkernel/intern/shrinkwrap.c
+  blender/source/blender/blenkernel/intern/sketch.c
+  blender/source/blender/blenkernel/intern/smoke.c
+  blender/source/blender/blenkernel/intern/softbody.c
+  blender/source/blender/blenkernel/intern/sound.c
+  blender/source/blender/blenkernel/intern/speaker.c
+  blender/source/blender/blenkernel/intern/subsurf_ccg.c
+  blender/source/blender/blenkernel/intern/suggestions.c
+  blender/source/blender/blenkernel/intern/text.c
+  blender/source/blender/blenkernel/intern/texture.c
+  blender/source/blender/blenkernel/intern/tracking.c
+  blender/source/blender/blenkernel/intern/tracking_detect.c
+  blender/source/blender/blenkernel/intern/tracking_plane_tracker.c
+  blender/source/blender/blenkernel/intern/tracking_region_tracker.c
+  blender/source/blender/blenkernel/intern/tracking_solver.c
+  blender/source/blender/blenkernel/intern/tracking_stabilize.c
+  blender/source/blender/blenkernel/intern/tracking_util.c
+  blender/source/blender/blenkernel/intern/treehash.c
+  blender/source/blender/blenkernel/intern/unit.c
+  blender/source/blender/blenkernel/intern/world.c
+  blender/source/blender/blenkernel/intern/writeavi.c
+  blender/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
+  blender/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
+  blender/source/blender/nodes/composite/nodes/node_composite_blur.c
+  blender/source/blender/nodes/composite/nodes/node_composite_brightness.c
+  blender/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
+  blender/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
+  blender/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
+  blender/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
+  blender/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
+  blender/source/blender/nodes/composite/nodes/node_composite_common.c
+  blender/source/blender/nodes/composite/nodes/node_composite_composite.c
+  blender/source/blender/nodes/composite/nodes/node_composite_cornerpin.c
+  blender/source/blender/nodes/composite/nodes/node_composite_crop.c
+  blender/source/blender/nodes/composite/nodes/node_composite_curves.c
+  blender/source/blender/nodes/composite/nodes/node_composite_despeckle.c
+  blender/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.c
+  blender/source/blender/nodes/composite/nodes/node_composite_defocus.c
+  blender/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
+  blender/source/blender/nodes/composite/nodes/node_composite_dilate.c
+  blender/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
+  blender/source/blender/nodes/composite/nodes/node_composite_displace.c
+  blender/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
+  blender/source/blender/nodes/composite/nodes/node_composite_filter.c
+  blender/source/blender/nodes/composite/nodes/node_composite_flip.c
+  blender/source/blender/nodes/composite/nodes/node_composite_gamma.c
+  blender/source/blender/nodes/composite/nodes/node_composite_glare.c
+  blender/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
+  blender/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
+  blender/source/blender/nodes/composite/nodes/node_composite_idMask.c
+  blender/source/blender/nodes/composite/nodes/node_composite_image.c
+  blender/source/blender/nodes/composite/nodes/node_composite_inpaint.c
+  blender/source/blender/nodes/composite/nodes/node_composite_invert.c
+  blender/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c
+  blender/source/blender/nodes/composite/nodes/node_composite_keying.c
+  blender/source/blender/nodes/composite/nodes/node_composite_lensdist.c
+  blender/source/blender/nodes/composite/nodes/node_composite_levels.c
+  blender/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
+  blender/source/blender/nodes/composite/nodes/node_composite_mapUV.c
+  blender/source/blender/nodes/composite/nodes/node_composite_mapValue.c
+  blender/source/blender/nodes/composite/nodes/node_composite_mapRange.c
+  blender/source/blender/nodes/composite/nodes/node_composite_math.c
+  blender/source/blender/nodes/composite/nodes/node_composite_mask.c
+  blender/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
+  blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c
+  blender/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
+  blender/source/blender/nodes/composite/nodes/node_composite_normal.c
+  blender/source/blender/nodes/composite/nodes/node_composite_normalize.c
+  blender/source/blender/nodes/composite/nodes/node_composite_outputFile.c
+  blender/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.c
+  blender/source/blender/nodes/composite/nodes/node_composite_premulkey.c
+  blender/source/blender/nodes/composite/nodes/node_composite_rgb.c
+  blender/source/blender/nodes/composite/nodes/node_composite_rotate.c
+  blender/source/blender/nodes/composite/nodes/node_composite_scale.c
+  blender/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
+  blender/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
+  blender/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
+  blender/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
+  blender/source/blender/nodes/composite/nodes/node_composite_setalpha.c
+  blender/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
+  blender/source/blender/nodes/composite/nodes/node_composite_stabilize2d.c
+  blender/source/blender/nodes/composite/nodes/node_composite_sunbeams.c
+  blender/source/blender/nodes/composite/nodes/node_composite_texture.c
+  blender/source/blender/nodes/composite/nodes/node_composite_tonemap.c
+  blender/source/blender/nodes/composite/nodes/node_composite_trackpos.c
+  blender/source/blender/nodes/composite/nodes/node_composite_transform.c
+  blender/source/blender/nodes/composite/nodes/node_composite_translate.c
+  blender/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
+  blender/source/blender/nodes/composite/nodes/node_composite_value.c
+  blender/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
+  blender/source/blender/nodes/composite/nodes/node_composite_viewer.c
+  blender/source/blender/nodes/composite/nodes/node_composite_zcombine.c
+  blender/source/blender/nodes/composite/nodes/node_composite_bokehblur.c
+  blender/source/blender/nodes/composite/nodes/node_composite_bokehimage.c
+  blender/source/blender/nodes/composite/nodes/node_composite_boxmask.c
+  blender/source/blender/nodes/composite/nodes/node_composite_ellipsemask.c
+  blender/source/blender/nodes/composite/nodes/node_composite_switch.c
+  blender/source/blender/nodes/composite/nodes/node_composite_colorcorrection.c
+  blender/source/blender/nodes/composite/nodes/node_composite_pixelate.c
+  blender/source/blender/nodes/composite/node_composite_tree.c
+  blender/source/blender/nodes/composite/node_composite_util.c
+  blender/source/blender/nodes/shader/nodes/node_shader_camera.c
+  blender/source/blender/nodes/shader/nodes/node_shader_common.c
+  blender/source/blender/nodes/shader/nodes/node_shader_curves.c
+  blender/source/blender/nodes/shader/nodes/node_shader_gamma.c
+  blender/source/blender/nodes/shader/nodes/node_shader_brightness.c
+  blender/source/blender/nodes/shader/nodes/node_shader_geom.c
+  blender/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
+  blender/source/blender/nodes/shader/nodes/node_shader_invert.c
+  blender/source/blender/nodes/shader/nodes/node_shader_lamp.c
+  blender/source/blender/nodes/shader/nodes/node_shader_mapping.c
+  blender/source/blender/nodes/shader/nodes/node_shader_material.c
+  blender/source/blender/nodes/shader/nodes/node_shader_math.c
+  blender/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
+  blender/source/blender/nodes/shader/nodes/node_shader_normal.c
+  blender/source/blender/nodes/shader/nodes/node_shader_output.c
+  blender/source/blender/nodes/shader/nodes/node_shader_rgb.c
+  blender/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c
+  blender/source/blender/nodes/shader/nodes/node_shader_sepcombHSV.c
+  blender/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.c
+  blender/source/blender/nodes/shader/nodes/node_shader_squeeze.c
+  blender/source/blender/nodes/shader/nodes/node_shader_texture.c
+  blender/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
+  blender/source/blender/nodes/shader/nodes/node_shader_value.c
+  blender/source/blender/nodes/shader/nodes/node_shader_wireframe.c
+  blender/source/blender/nodes/shader/nodes/node_shader_wavelength.c
+  blender/source/blender/nodes/shader/nodes/node_shader_blackbody.c
+  blender/source/blender/nodes/shader/nodes/node_shader_vectMath.c
+  blender/source/blender/nodes/shader/nodes/node_shader_vectTransform.c
+  blender/source/blender/nodes/shader/nodes/node_shader_add_shader.c
+  blender/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c
+  blender/source/blender/nodes/shader/nodes/node_shader_attribute.c
+  blender/source/blender/nodes/shader/nodes/node_shader_background.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.c
+  blender/source/blender/nodes/shader/nodes/node_shader_bump.c
+  blender/source/blender/nodes/shader/nodes/node_shader_emission.c
+  blender/source/blender/nodes/shader/nodes/node_shader_fresnel.c
+  blender/source/blender/nodes/shader/nodes/node_shader_geometry.c
+  blender/source/blender/nodes/shader/nodes/node_shader_holdout.c
+  blender/source/blender/nodes/shader/nodes/node_shader_layer_weight.c
+  blender/source/blender/nodes/shader/nodes/node_shader_light_falloff.c
+  blender/source/blender/nodes/shader/nodes/node_shader_light_path.c
+  blender/source/blender/nodes/shader/nodes/node_shader_mix_shader.c
+  blender/source/blender/nodes/shader/nodes/node_shader_normal_map.c
+  blender/source/blender/nodes/shader/nodes/node_shader_object_info.c
+  blender/source/blender/nodes/shader/nodes/node_shader_hair_info.c
+  blender/source/blender/nodes/shader/nodes/node_shader_output_lamp.c
+  blender/source/blender/nodes/shader/nodes/node_shader_output_material.c
+  blender/source/blender/nodes/shader/nodes/node_shader_output_world.c
+  blender/source/blender/nodes/shader/nodes/node_shader_output_linestyle.c
+  blender/source/blender/nodes/shader/nodes/node_shader_particle_info.c
+  blender/source/blender/nodes/shader/nodes/node_shader_script.c
+  blender/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tangent.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_brick.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_checker.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_coord.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_environment.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_gradient.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_image.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_magic.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_noise.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_sky.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c
+  blender/source/blender/nodes/shader/nodes/node_shader_tex_wave.c
+  blender/source/blender/nodes/shader/nodes/node_shader_volume_scatter.c
+  blender/source/blender/nodes/shader/nodes/node_shader_volume_absorption.c
+  blender/source/blender/nodes/shader/nodes/node_shader_uvAlongStroke.c
+  blender/source/blender/nodes/shader/nodes/node_shader_uvmap.c
+  blender/source/blender/nodes/shader/node_shader_tree.c
+  blender/source/blender/nodes/shader/node_shader_util.c
+  blender/source/blender/nodes/texture/nodes/node_texture_at.c
+  blender/source/blender/nodes/texture/nodes/node_texture_bricks.c
+  blender/source/blender/nodes/texture/nodes/node_texture_checker.c
+  blender/source/blender/nodes/texture/nodes/node_texture_common.c
+  blender/source/blender/nodes/texture/nodes/node_texture_compose.c
+  blender/source/blender/nodes/texture/nodes/node_texture_coord.c
+  blender/source/blender/nodes/texture/nodes/node_texture_curves.c
+  blender/source/blender/nodes/texture/nodes/node_texture_decompose.c
+  blender/source/blender/nodes/texture/nodes/node_texture_distance.c
+  blender/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c
+  blender/source/blender/nodes/texture/nodes/node_texture_image.c
+  blender/source/blender/nodes/texture/nodes/node_texture_invert.c
+  blender/source/blender/nodes/texture/nodes/node_texture_math.c
+  blender/source/blender/nodes/texture/nodes/node_texture_mixRgb.c
+  blender/source/blender/nodes/texture/nodes/node_texture_output.c
+  blender/source/blender/nodes/texture/nodes/node_texture_proc.c
+  blender/source/blender/nodes/texture/nodes/node_texture_rotate.c
+  blender/source/blender/nodes/texture/nodes/node_texture_scale.c
+  blender/source/blender/nodes/texture/nodes/node_texture_texture.c
+  blender/source/blender/nodes/texture/nodes/node_texture_translate.c
+  blender/source/blender/nodes/texture/nodes/node_texture_valToNor.c
+  blender/source/blender/nodes/texture/nodes/node_texture_valToRgb.c
+  blender/source/blender/nodes/texture/nodes/node_texture_viewer.c
+  blender/source/blender/nodes/texture/node_texture_tree.c
+  blender/source/blender/nodes/texture/node_texture_util.c
+  blender/source/blender/nodes/intern/node_util.c
+  blender/source/blender/nodes/intern/node_exec.c
+  blender/source/blender/nodes/intern/node_common.c
+  blender/source/blender/nodes/intern/node_socket.c
+  blender/source/blender/makesrna/intern/rna_access.c
+  blender_bin/source/blender/makesrna/intern/rna_ID_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_action_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_actuator_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_animation_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_animviz_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_armature_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_boid_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_brush_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_camera_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_cloth_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_color_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_constraint_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_context_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_controller_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_curve_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_dynamicpaint_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_fcurve_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_fluidsim_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_gpencil_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_group_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_image_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_key_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_lamp_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_lattice_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_linestyle_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_main_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_mask_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_material_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_mesh_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_meta_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_modifier_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_movieclip_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_nla_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_nodetree_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_object_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_object_force_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_packedfile_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_particle_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_pose_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_property_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_render_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_rigidbody_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_rna_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_scene_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_screen_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_sculpt_paint_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_sensor_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_sequencer_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_smoke_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_sound_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_space_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_speaker_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_test_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_text_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_texture_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_timeline_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_tracking_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_ui_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_userdef_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_vfont_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_wm_gen.c
+  blender_bin/source/blender/makesrna/intern/rna_world_gen.c
+  blender/source/blender/gpu/intern/gpu_buffers.c
+  blender/source/blender/gpu/intern/gpu_codegen.c
+  blender/source/blender/gpu/intern/gpu_draw.c
+  blender/source/blender/gpu/intern/gpu_extensions.c
+  blender/source/blender/gpu/intern/gpu_init_exit.c
+  blender/source/blender/gpu/intern/gpu_material.c
+  blender/source/blender/gpu/intern/gpu_simple_shader.c
+  blender/source/blender/gpu/intern/gpu_select.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_material.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_frag.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_vert.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_simple_frag.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_simple_vert.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_vertex.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_vsm_store_frag.glsl.c
+  blender_bin/source/blender/gpu/shaders/gpu_shader_vsm_store_vert.glsl.c
+  blender/source/blender/blenloader/intern/readblenentry.c
+  blender/source/blender/blenloader/intern/readfile.c
+  blender/source/blender/blenloader/intern/runtime.c
+  blender/source/blender/blenloader/intern/undofile.c
+  blender/source/blender/blenloader/intern/versioning_250.c
+  blender/source/blender/blenloader/intern/versioning_260.c
+  blender/source/blender/blenloader/intern/versioning_270.c
+  blender/source/blender/blenloader/intern/versioning_defaults.c
+  blender/source/blender/blenloader/intern/versioning_legacy.c
+  blender/source/blender/blenloader/intern/writefile.c
+  blender/source/blender/imbuf/intern/allocimbuf.c
+  blender/source/blender/imbuf/intern/anim_movie.c
+  blender/source/blender/imbuf/intern/bmp.c
+  blender/source/blender/imbuf/intern/cache.c
+  blender/source/blender/imbuf/intern/colormanagement.c
+  blender/source/blender/imbuf/intern/divers.c
+  blender/source/blender/imbuf/intern/filetype.c
+  blender/source/blender/imbuf/intern/filter.c
+  blender/source/blender/imbuf/intern/imageprocess.c
+  blender/source/blender/imbuf/intern/indexer.c
+  blender/source/blender/imbuf/intern/indexer_dv.c
+  blender/source/blender/imbuf/intern/iris.c
+  blender/source/blender/imbuf/intern/jpeg.c
+  blender/source/blender/imbuf/intern/metadata.c
+  blender/source/blender/imbuf/intern/module.c
+  blender/source/blender/imbuf/intern/moviecache.c
+  blender/source/blender/imbuf/intern/png.c
+  blender/source/blender/imbuf/intern/readimage.c
+  blender/source/blender/imbuf/intern/rectop.c
+  blender/source/blender/imbuf/intern/rotate.c
+  blender/source/blender/imbuf/intern/scaling.c
+  blender/source/blender/imbuf/intern/targa.c
+  blender/source/blender/imbuf/intern/thumbs.c
+  blender/source/blender/imbuf/intern/thumbs_blend.c
+  blender/source/blender/imbuf/intern/util.c
+  blender/source/blender/imbuf/intern/writeimage.c
+  blender/source/blender/imbuf/intern/openexr/openexr_stub.cpp
+  blender/source/blender/blenlib/intern/BLI_args.c
+  blender/source/blender/blenlib/intern/BLI_array.c
+  blender/source/blender/blenlib/intern/BLI_dial.c
+  blender/source/blender/blenlib/intern/BLI_dynstr.c
+  blender/source/blender/blenlib/intern/BLI_ghash.c
+  blender/source/blender/blenlib/intern/BLI_heap.c
+  blender/source/blender/blenlib/intern/BLI_kdopbvh.c
+  blender/source/blender/blenlib/intern/BLI_kdtree.c
+  blender/source/blender/blenlib/intern/BLI_linklist.c
+  blender/source/blender/blenlib/intern/BLI_memarena.c
+  blender/source/blender/blenlib/intern/BLI_mempool.c
+  blender/source/blender/blenlib/intern/DLRB_tree.c
+  blender/source/blender/blenlib/intern/boxpack2d.c
+  blender/source/blender/blenlib/intern/buffer.c
+  blender/source/blender/blenlib/intern/callbacks.c
+  blender/source/blender/blenlib/intern/convexhull2d.c
+  blender/source/blender/blenlib/intern/easing.c
+  blender/source/blender/blenlib/intern/edgehash.c
+  blender/source/blender/blenlib/intern/endian_switch.c
+  blender/source/blender/blenlib/intern/fileops.c
+  blender/source/blender/blenlib/intern/freetypefont.c
+  blender/source/blender/blenlib/intern/graph.c
+  blender/source/blender/blenlib/intern/gsqueue.c
+  blender/source/blender/blenlib/intern/jitter.c
+  blender/source/blender/blenlib/intern/lasso.c
+  blender/source/blender/blenlib/intern/listbase.c
+  blender/source/blender/blenlib/intern/math_base.c
+  blender/source/blender/blenlib/intern/math_base_inline.c
+  blender/source/blender/blenlib/intern/math_color.c
+  blender/source/blender/blenlib/intern/math_color_blend_inline.c
+  blender/source/blender/blenlib/intern/math_color_inline.c
+  blender/source/blender/blenlib/intern/math_geom.c
+  blender/source/blender/blenlib/intern/math_geom_inline.c
+  blender/source/blender/blenlib/intern/math_interp.c
+  blender/source/blender/blenlib/intern/math_matrix.c
+  blender/source/blender/blenlib/intern/math_rotation.c
+  blender/source/blender/blenlib/intern/math_vector.c
+  blender/source/blender/blenlib/intern/math_vector_inline.c
+  blender/source/blender/blenlib/intern/md5.c
+  blender/source/blender/blenlib/intern/noise.c
+  blender/source/blender/blenlib/intern/path_util.c
+  blender/source/blender/blenlib/intern/polyfill2d.c
+  blender/source/blender/blenlib/intern/quadric.c
+  blender/source/blender/blenlib/intern/rand.c
+  blender/source/blender/blenlib/intern/rct.c
+  blender/source/blender/blenlib/intern/scanfill.c
+  blender/source/blender/blenlib/intern/scanfill_utils.c
+  blender/source/blender/blenlib/intern/smallhash.c
+  blender/source/blender/blenlib/intern/sort.c
+  blender/source/blender/blenlib/intern/sort_utils.c
+  blender/source/blender/blenlib/intern/stack.c
+  blender/source/blender/blenlib/intern/storage.c
+  blender/source/blender/blenlib/intern/string.c
+  blender/source/blender/blenlib/intern/string_cursor_utf8.c
+  blender/source/blender/blenlib/intern/string_utf8.c
+  blender/source/blender/blenlib/intern/system.c
+  blender/source/blender/blenlib/intern/task.c
+  blender/source/blender/blenlib/intern/threads.c
+  blender/source/blender/blenlib/intern/time.c
+  blender/source/blender/blenlib/intern/timecode.c
+  blender/source/blender/blenlib/intern/uvproject.c
+  blender/source/blender/blenlib/intern/voronoi.c
+  blender/source/blender/blenlib/intern/voxel.c
+  blender/intern/ghost/intern/GHOST_Buttons.cpp
+  blender/intern/ghost/intern/GHOST_C-api.cpp
+  blender/intern/ghost/intern/GHOST_CallbackEventConsumer.cpp
+  blender/intern/ghost/intern/GHOST_Context.cpp
+  blender/intern/ghost/intern/GHOST_ContextNone.cpp
+  blender/intern/ghost/intern/GHOST_DisplayManager.cpp
+  blender/intern/ghost/intern/GHOST_EventManager.cpp
+  blender/intern/ghost/intern/GHOST_ISystem.cpp
+  blender/intern/ghost/intern/GHOST_ISystemPaths.cpp
+  blender/intern/ghost/intern/GHOST_ModifierKeys.cpp
+  blender/intern/ghost/intern/GHOST_Path-api.cpp
+  blender/intern/ghost/intern/GHOST_Rect.cpp
+  blender/intern/ghost/intern/GHOST_System.cpp
+  blender/intern/ghost/intern/GHOST_TimerManager.cpp
+  blender/intern/ghost/intern/GHOST_Window.cpp
+  blender/intern/ghost/intern/GHOST_WindowManager.cpp
+  blender/intern/ghost/intern/SPEC_SystemPathsSelect.cpp
+  blender/intern/string/intern/STR_String.cpp
+  blender/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp
+  blender/intern/memutil/intern/MEM_RefCountedC-Api.cpp
+  blender/intern/guardedalloc/intern/mallocn.c
+  blender/intern/guardedalloc/intern/mallocn_guarded_impl.c
+  blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c
+  blender/extern/colamd/Source/colamd.c
+  blender/extern/colamd/Source/colamd_global.c
+  blender/source/blender/makesdna/intern/dna_genfile.c
+  blender_bin/source/blender/makesdna/intern/dna.c
+  blender/source/blender/blenfont/intern/blf.c
+  blender/source/blender/blenfont/intern/blf_dir.c
+  blender/source/blender/blenfont/intern/blf_font.c
+  blender/source/blender/blenfont/intern/blf_glyph.c
+  blender/source/blender/blenfont/intern/blf_lang.c
+  blender/source/blender/blenfont/intern/blf_translation.c
+  blender/source/blender/blenfont/intern/blf_util.c
+  blender/intern/mikktspace/mikktspace.c
+  blender/intern/raskter/raskter.c
+  blender/intern/opencolorio/ocio_capi.cc
+  blender/intern/opencolorio/fallback_impl.cc
+  blender/extern/rangetree/range_tree_c_api.cc
+  blender/extern/wcwidth/wcwidth.c
+  blender/extern/libmv/intern/stub.cc
+  blender/intern/glew-mx/intern/glew-mx.c
+  blender/extern/glew/src/glew.c
+  spec_gl.c
+  spec_glcorearb.c
+  spec_glu.c
+  spec_glx.c
+  spec_jpeg.c
+  spec_ft.c
+  zlib/adler32.c
+  zlib/compress.c
+  zlib/crc32.c
+  zlib/deflate.c
+  zlib/gzclose.c
+  zlib/gzlib.c
+  zlib/gzread.c
+  zlib/gzwrite.c
+  zlib/infback.c
+  zlib/inflate.c
+  zlib/inftrees.c
+  zlib/trees.c
+  zlib/uncompr.c
+  zlib/zutil.c
+  zlib/inffast.c
+  libpng/png.c
+  libpng/pngset.c
+  libpng/pngget.c
+  libpng/pngrutil.c
+  libpng/pngtrans.c
+  libpng/pngwutil.c
+  libpng/pngmem.c
+  libpng/pngpread.c
+  libpng/pngread.c
+  libpng/pngerror.c
+  libpng/pngwrite.c
+  libpng/pngrtran.c
+  libpng/pngwtran.c
+  libpng/pngrio.c
+  libpng/pngwio.c
+  specrand/specrand.c
+  spec_backtrace.c
+)
+speccpu2017_prepare_rundir()

Added: test-suite/trunk/External/SPEC/CFP2017rate/538.imagick_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/538.imagick_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/538.imagick_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/538.imagick_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,155 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/538.imagick_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(.)
+link_libraries(-lm)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  -limit disk 0 "${INPUT_test_DIR}/test_input.tga" -shear 25 -resize 640x480
+  -negate -alpha Off test_output.tga
+  RUN_TYPE test
+)
+speccpu2017_validate_image(
+  test_output.tga test_expected.tga test_validate.out
+  -avg -threshold 0.95 -maxthreshold 0.001
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  -limit disk 0 "${INPUT_train_DIR}/train_input.tga" -resize 320x240 -shear 31
+  -edge 140 -negate -flop -resize 900x900 -edge 10 train_output.tga
+  RUN_TYPE train
+)
+speccpu2017_validate_image(
+  train_output.tga train_expected.tga train_validate.out
+  -avg -threshold 0.95 -maxthreshold 0.001
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  -limit disk 0 "${INPUT_ref_DIR}/refrate_input.tga" -edge 41
+  -resample 181% -emboss 31 -colorspace YUV -mean-shift 19x19+15%
+  -resize 30% refrate_output.tga
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+speccpu2017_validate_image(
+  refrate_output.tga refrate_expected.tga refrate_validate.out
+  -avg -threshold 0.95 -maxthreshold 0.001
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+################################################################################
+
+speccpu2017_verify_output(RELATIVE_TOLERANCE 0.01)
+speccpu2017_add_executable(
+  coders/tga.c
+  filters/analyze.c
+  magick/accelerate.c
+  magick/animate.c
+  magick/annotate.c
+  magick/artifact.c
+  magick/attribute.c
+  magick/blob.c
+  magick/cache-view.c
+  magick/cache.c
+  magick/channel.c
+  magick/cipher.c
+  magick/client.c
+  magick/coder.c
+  magick/color.c
+  magick/colormap.c
+  magick/colorspace.c
+  magick/compare.c
+  magick/composite.c
+  magick/compress.c
+  magick/configure.c
+  magick/constitute.c
+  magick/decorate.c
+  magick/delegate.c
+  magick/display.c
+  magick/distort.c
+  magick/distribute-cache.c
+  magick/draw.c
+  magick/effect.c
+  magick/enhance.c
+  magick/exception.c
+  magick/feature.c
+  magick/fourier.c
+  magick/fx.c
+  magick/gem.c
+  magick/geometry.c
+  magick/hashmap.c
+  magick/histogram.c
+  magick/identify.c
+  magick/image.c
+  magick/layer.c
+  magick/list.c
+  magick/locale.c
+  magick/log.c
+  magick/magic.c
+  magick/magick.c
+  magick/matrix.c
+  magick/memory.c
+  magick/mime.c
+  magick/module.c
+  magick/monitor.c
+  magick/montage.c
+  magick/morphology.c
+  magick/option.c
+  magick/paint.c
+  magick/pixel.c
+  magick/policy.c
+  magick/prepress.c
+  magick/profile.c
+  magick/property.c
+  magick/quantize.c
+  magick/quantum-export.c
+  magick/quantum-import.c
+  magick/quantum.c
+  magick/random.c
+  magick/registry.c
+  magick/resample.c
+  magick/resize.c
+  magick/resource.c
+  magick/segment.c
+  magick/semaphore.c
+  magick/shear.c
+  magick/signature.c
+  magick/splay-tree.c
+  magick/static.c
+  magick/statistic.c
+  magick/stream.c
+  magick/string.c
+  magick/threshold.c
+  magick/timer.c
+  magick/token.c
+  magick/transform.c
+  magick/type.c
+  magick/utility.c
+  magick/version.c
+  magick/xml-tree.c
+  utilities/convert.c
+  wand/convert.c
+  wand/drawing-wand.c
+  wand/magick-image.c
+  wand/magick-wand.c
+  wand/mogrify.c
+  wand/pixel-wand.c
+  wand/magick-property.c
+  wand/pixel-iterator.c
+  wand/wand.c
+  magick/deprecate.c
+)

Added: test-suite/trunk/External/SPEC/CFP2017rate/544.nab_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/544.nab_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/544.nab_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/544.nab_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,72 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/544.nab_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(-DNOPERFLIB -DNOREDUCE)
+speccpu2017_add_include_dirs(specrand regex-alpha)
+link_libraries(-lm)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  hkrdenq 1930344093 1000
+  WORKDIR input
+  STDOUT hkrdenq.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  aminos 391519156 1000
+  WORKDIR input
+  STDOUT aminos.out
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  gcn4dna 1850041461 300
+  WORKDIR input
+  STDOUT gcn4dna.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  1am0 1122214447 122
+  WORKDIR input
+  STDOUT 1am0.out
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+################################################################################
+
+speccpu2017_verify_output(RELATIVE_TOLERANCE 0.01)
+speccpu2017_add_executable(
+  nabmd.c
+  sff.c
+  nblist.c
+  prm.c
+  memutil.c
+  molio.c
+  molutil.c
+  errormsg.c
+  binpos.c
+  rand2.c
+  select_atoms.c
+  reslib.c
+  database.c
+  traceback.c
+  chirvol.c
+  specrand/specrand.c
+  regex-alpha/regcomp.c
+  regex-alpha/regerror.c
+  regex-alpha/regexec.c
+  regex-alpha/regfree.c
+)

Added: test-suite/trunk/External/SPEC/CFP2017rate/997.specrand_fr/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/997.specrand_fr/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/997.specrand_fr/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/997.specrand_fr/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/997.specrand_fr.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 999.specrand_ir)
+speccpu2017_inherit(../../CINT2017rate/999.specrand_ir)

Added: test-suite/trunk/External/SPEC/CFP2017rate/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017rate/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017rate/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017rate/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,15 @@
+#add_subdirectory(503.bwaves_r)    # Fortran
+#add_subdirectory(507.cactuBSSN_r) # C++, C, Fortran
+add_subdirectory(508.namd_r)       # C++
+add_subdirectory(510.parest_r)     # C++
+add_subdirectory(511.povray_r)     # C++, C
+add_subdirectory(519.lbm_r)        # C
+#add_subdirectory(521.wrf_r)       # Fortran, C
+add_subdirectory(526.blender_r)    # C++, C
+#add_subdirectory(527.cam4_r)      # Fortran, C
+add_subdirectory(538.imagick_r)    # C
+add_subdirectory(544.nab_r)        # C
+#add_subdirectory(549.fotonik3d_r) # Fortran
+#add_subdirectory(554.roms_r)      # Fortran
+
+add_subdirectory(997.specrand_fr)  # C

Added: test-suite/trunk/External/SPEC/CFP2017speed/619.lbm_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017speed/619.lbm_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017speed/619.lbm_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017speed/619.lbm_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,43 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/619.lbm_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 519.lbm_r)
+
+add_definitions(-DLARGE_WORKLOAD)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  20 reference.dat 0 1 200_200_260_ldc.of
+  STDOUT lbm.out
+  WORKDIR input
+  RUN_TYPE test
+  SUITE_TYPE speed
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  300 reference.dat 0 1 200_200_260_ldc.of
+  STDOUT lbm.out
+  WORKDIR input
+  RUN_TYPE train
+  SUITE_TYPE speed
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  2000 reference.dat 0 0 200_200_260_ldc.of
+  STDOUT lbm.out
+  WORKDIR input
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+################################################################################
+
+speccpu2017_inherit(../../CFP2017rate/519.lbm_r)

Added: test-suite/trunk/External/SPEC/CFP2017speed/638.imagick_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017speed/638.imagick_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017speed/638.imagick_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017speed/638.imagick_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,30 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/638.imagick_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 538.imagick_r)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  -limit disk 0 "${INPUT_ref_DIR}/refspeed_input.tga" -resize 817%
+  -rotate -2.76 -shave 540x375 -alpha remove -auto-level -contrast-stretch 1x1%
+  -colorspace Lab -channel R -equalize +channel -colorspace sRGB
+  -define histogram:unique-colors=false -adaptive-blur 0x5 -despeckle
+  -auto-gamma -adaptive-sharpen 55 -enhance -brightness-contrast 10x10
+  -resize 30% refspeed_output.tga
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+speccpu2017_validate_image(
+  refspeed_output.tga refspeed_expected.tga refspeed_validate.out
+  -avg -threshold 0.95 -maxthreshold 0.001
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+################################################################################
+
+speccpu2017_inherit(../../CFP2017rate/538.imagick_r)

Added: test-suite/trunk/External/SPEC/CFP2017speed/644.nab_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017speed/644.nab_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017speed/644.nab_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017speed/644.nab_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,21 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/644.nab_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 544.nab_r)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  3j1n 20140317 220
+  WORKDIR input
+  STDOUT 3j1n.out
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+################################################################################
+
+speccpu2017_inherit(../../CFP2017rate/544.nab_r)

Added: test-suite/trunk/External/SPEC/CFP2017speed/996.specrand_fs/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017speed/996.specrand_fs/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017speed/996.specrand_fs/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017speed/996.specrand_fs/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/996.specrand_fs.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 999.specrand_ir)
+speccpu2017_inherit(../../CINT2017rate/999.specrand_ir)

Added: test-suite/trunk/External/SPEC/CFP2017speed/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CFP2017speed/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CFP2017speed/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CFP2017speed/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,12 @@
+#add_subdirectory(603.bwaves_s)    # Fortran
+#add_subdirectory(607.cactuBSSN_s) # C++, C, Fortran
+add_subdirectory(619.lbm_s)        # C
+#add_subdirectory(621.wrf_s)       # Fortran, C
+#add_subdirectory(627.cam4_s)      # Fortran, C
+#add_subdirectory(628.pop2_s)      # Fortran, C
+add_subdirectory(638.imagick_s)    # C
+add_subdirectory(644.nab_s)        # C
+#add_subdirectory(649.fotonik3d_s) # Fortran
+#add_subdirectory(654.roms_s)      # Fortran
+
+add_subdirectory(996.specrand_fs)  # C

Added: test-suite/trunk/External/SPEC/CINT2017rate/500.perlbench_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/500.perlbench_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/500.perlbench_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/500.perlbench_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,167 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/500.perlbench_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(
+  -DPERL_CORE
+  -DDOUBLE_SLASHES_SPECIAL=0
+  -D_LARGE_FILES
+  -D_LARGEFILE_SOURCE
+  -D_FILE_OFFSET_BITS=64
+)
+speccpu2017_add_include_dirs(
+  .
+  dist/IO
+  cpan/Time-HiRes
+  cpan/HTML-Parser
+  ext/re
+  specrand
+)
+add_compile_options(-fno-strict-aliasing)
+link_libraries(-lm)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  -I. -I./lib makerand.pl
+  STDOUT makerand.out
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  -I. -I./lib test.pl
+  STDOUT test.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  -I./lib diffmail.pl 2 550 15 24 23 100
+  STDOUT diffmail.2.550.15.24.23.100.out
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  -I./lib perfect.pl b 3
+  STDOUT perfect.b.3.out
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  -I. -I./lib scrabbl.pl  -i scrabbl.in -o scrabbl.out
+  STDOUT scrabbl.out
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  -I./lib splitmail.pl 535 13 25 24 1091 1
+  STDOUT splitmail.535.13.25.24.1091.1.out
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  -I. -I./lib suns.pl
+  STDOUT suns.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  -I./lib checkspam.pl 2500 5 25 11 150 1 1 1 1
+  STDOUT checkspam.2500.5.25.11.150.1.1.1.1.out
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  -I./lib diffmail.pl 4 800 10 17 19 300
+  STDOUT diffmail.4.800.10.17.19.300.out
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  -I./lib splitmail.pl 6400 12 26 16 100 0
+  STDOUT splitmail.6400.12.26.16.100.0.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable(
+  av.c
+  caretx.c
+  deb.c
+  doio.c
+  doop.c
+  dump.c
+  globals.c
+  gv.c
+  hv.c
+  keywords.c
+  locale.c
+  mg.c
+  numeric.c
+  op.c
+  pad.c
+  perl.c
+  perlapi.c
+  perlio.c
+  perlmain.c
+  perly.c
+  pp.c
+  pp_ctl.c
+  pp_hot.c
+  pp_pack.c
+  pp_sort.c
+  pp_sys.c
+  regcomp.c
+  regexec.c
+  run.c
+  scope.c
+  sv.c
+  taint.c
+  toke.c
+  universal.c
+  utf8.c
+  util.c
+  reentr.c
+  mro_core.c
+  mathoms.c
+  specrand/specrand.c
+  dist/PathTools/Cwd.c
+  dist/Data-Dumper/Dumper.c
+  ext/Devel-Peek/Peek.c
+  cpan/Digest-MD5/MD5.c
+  cpan/Digest-SHA/SHA.c
+  DynaLoader.c
+  dist/IO/IO.c
+  dist/IO/poll.c
+  cpan/MIME-Base64/Base64.c
+  Opcode.c
+  dist/Storable/Storable.c
+  ext/Sys-Hostname/Hostname.c
+  cpan/Time-HiRes/HiRes.c
+  ext/XS-Typemap/stdio.c
+  ext/attributes/attributes.c
+  cpan/HTML-Parser/Parser.c
+  ext/mro/mro.c
+  ext/re/re.c
+  ext/re/re_comp.c
+  ext/re/re_exec.c
+  ext/arybase/arybase.c
+  ext/PerlIO-scalar/scalar.c
+  ext/PerlIO-via/via.c
+  ext/File-Glob/bsd_glob.c
+  ext/File-Glob/Glob.c
+  ext/Hash-Util/Util.c
+  ext/Hash-Util-FieldHash/FieldHash.c
+  ext/Tie-Hash-NamedCapture/NamedCapture.c
+  cpan/Scalar-List-Utils/ListUtil.c
+)
+speccpu2017_prepare_rundir()

Added: test-suite/trunk/External/SPEC/CINT2017rate/502.gcc_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/502.gcc_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/502.gcc_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/502.gcc_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,460 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/502.gcc_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(-DSPEC_502 -DIN_GCC -DHAVE_CONFIG_H)
+speccpu2017_add_include_dirs(. include spec_qsort)
+add_compile_options(-fgnu89-inline)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_test_DIR}/t1.c" -O3 -finline-limit=50000 -o t1.opts-O3_-finline-limit_50000.s
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/200.c" -O3 -finline-limit=50000 -o 200.opts-O3_-finline-limit_50000.s
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/scilab.c" -O3 -finline-limit=50000 -o scilab.opts-O3_-finline-limit_50000.s
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/train01.c" -O3 -finline-limit=50000 -o train01.opts-O3_-finline-limit_50000.s
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/gcc-pp.c" -O3 -finline-limit=0 -fif-conversion -fif-conversion2 -o gcc-pp.opts-O3_-finline-limit_0_-fif-conversion_-fif-conversion2.s
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/gcc-pp.c" -O2 -finline-limit=36000 -fpic -o gcc-pp.opts-O2_-finline-limit_36000_-fpic.s
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/gcc-smaller.c" -O3 -fipa-pta -o gcc-smaller.opts-O3_-fipa-pta.s
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/ref32.c" -O5 -o ref32.opts-O5.s
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/ref32.c" -O3 -fselective-scheduling -fselective-scheduling2 -o ref32.opts-O3_-fselective-scheduling_-fselective-scheduling2.s
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable(
+  main.c
+  cc1-checksum.c
+  alias.c
+  alloca.c
+  alloc-pool.c
+  argv.c
+  attribs.c
+  auto-inc-dec.c
+  bb-reorder.c
+  bid2dpd_dpd2bid.c
+  bitmap.c
+  bt-load.c
+  c-lang.c
+  c-errors.c
+  c-lex.c
+  c-pragma.c
+  c-decl.c
+  c-typeck.c
+  c-convert.c
+  c-aux-info.c
+  c-common.c
+  c-opts.c
+  c-format.c
+  c-semantics.c
+  c-ppoutput.c
+  c-objc-common.c
+  c-dump.c
+  c-parser.c
+  c-gimplify.c
+  c-pretty-print.c
+  c-omp.c
+  caller-save.c
+  calls.c
+  cfg.c
+  cfganal.c
+  cfgbuild.c
+  cfgcleanup.c
+  cfgexpand.c
+  cfghooks.c
+  cfglayout.c
+  cfgloop.c
+  cfgloopanal.c
+  cfgloopmanip.c
+  cfgrtl.c
+  cgraph.c
+  cgraphbuild.c
+  cgraphunit.c
+  combine.c
+  combine-stack-adj.c
+  concat.c
+  convert.c
+  coverage.c
+  cp-demangle.c
+  cp-demint.c
+  cplus-dem.c
+  cpp_directives.c
+  cpp_lex.c
+  cpp_errors.c
+  cpp_expr.c
+  cpp_charset.c
+  cpp_macro.c
+  cpp_traditional.c
+  cpp_line-map.c
+  cpp_symtab.c
+  cpp_identifiers.c
+  cpp_mkdeps.c
+  cpp_pch.c
+  cpp_directives-only.c
+  crc32.c
+  cse.c
+  cselib.c
+  dbxout.c
+  dbgcnt.c
+  dce.c
+  ddg.c
+  debug.c
+  decContext.c
+  decimal128.c
+  decimal32.c
+  decimal64.c
+  decNumber.c
+  df-byte-scan.c
+  df-core.c
+  df-problems.c
+  df-scan.c
+  dfp.c
+  diagnostic.c
+  dojump.c
+  dominance.c
+  domwalk.c
+  double-int.c
+  dse.c
+  dwarf2asm.c
+  dwarf2out.c
+  dyn-string.c
+  ebitmap.c
+  emit-rtl.c
+  et-forest.c
+  except.c
+  explow.c
+  expmed.c
+  expr.c
+  fdmatch.c
+  fibheap.c
+  filename_cmp.c
+  final.c
+  fixed-value.c
+  floatformat.c
+  fold-const.c
+  fopen_unlocked.c
+  function.c
+  fwprop.c
+  gcse.c
+  genrtl.c
+  getopt1.c
+  getopt.c
+  getpwd.c
+  getruntime.c
+  ggc-common.c
+  ggc-page.c
+  gimple.c
+  gimple-iterator.c
+  gimple-low.c
+  gimple-pretty-print.c
+  gimplify.c
+  graph.c
+  graphds.c
+  graphite.c
+  graphite-blocking.c
+  graphite-clast-to-gimple.c
+  graphite-dependences.c
+  graphite-interchange.c
+  graphite-poly.c
+  graphite-ppl.c
+  graphite-scop-detection.c
+  graphite-sese-to-poly.c
+  gtype-desc.c
+  haifa-sched.c
+  hashtab.c
+  hex.c
+  hooks.c
+  host-ieee128.c
+  host-ieee32.c
+  host-ieee64.c
+  host-linux.c
+  i386.c
+  i386-c.c
+  ifcvt.c
+  incpath.c
+  init-regs.c
+  insn-attrtab.c
+  insn-automata.c
+  insn-emit.c
+  insn-extract.c
+  insn-modes.c
+  insn-opinit.c
+  insn-output.c
+  insn-peep.c
+  insn-preds.c
+  insn-recog.c
+  integrate.c
+  ipa-cp.c
+  ipa-inline.c
+  ipa-prop.c
+  ipa-pure-const.c
+  ipa-reference.c
+  ipa-struct-reorg.c
+  ipa-type-escape.c
+  ipa-utils.c
+  ipa.c
+  ira.c
+  ira-build.c
+  ira-costs.c
+  ira-conflicts.c
+  ira-color.c
+  ira-emit.c
+  ira-lives.c
+  jump.c
+  lambda-code.c
+  lambda-mat.c
+  lambda-trans.c
+  langhooks.c
+  lbasename.c
+  lcm.c
+  lists.c
+  loop-doloop.c
+  loop-init.c
+  loop-invariant.c
+  loop-iv.c
+  loop-unroll.c
+  loop-unswitch.c
+  lower-subreg.c
+  lrealpath.c
+  lto-cgraph.c
+  lto-streamer-in.c
+  lto-streamer-out.c
+  lto-section-in.c
+  lto-section-out.c
+  lto-symtab.c
+  lto-opts.c
+  lto-streamer.c
+  lto-wpa-fixup.c
+  make-relative-prefix.c
+  make-temp-file.c
+  partition.c
+  matrix-reorg.c
+  mcf.c
+  md5.c
+  mkstemps.c
+  mode-switching.c
+  modulo-sched.c
+  objalloc.c
+  obstack.c
+  omega.c
+  omp-low.c
+  optabs.c
+  options.c
+  opts-common.c
+  opts.c
+  params.c
+  passes.c
+  physmem.c
+  plugin.c
+  pointer-set.c
+  postreload-gcse.c
+  postreload.c
+  predict.c
+  pretty-print.c
+  print-rtl.c
+  print-tree.c
+  profile.c
+  recog.c
+  reg-stack.c
+  regcprop.c
+  regex.c
+  reginfo.c
+  regmove.c
+  regrename.c
+  regstat.c
+  reload.c
+  reload1.c
+  reorg.c
+  resource.c
+  rtl-error.c
+  rtl.c
+  rtlanal.c
+  rtlhooks.c
+  safe-ctype.c
+  sbitmap.c
+  sched-deps.c
+  sched-ebb.c
+  sched-rgn.c
+  sched-vis.c
+  sdbout.c
+  sel-sched-ir.c
+  sel-sched-dump.c
+  sel-sched.c
+  sese.c
+  sha1.c
+  simplify-rtx.c
+  sort.c
+  spaces.c
+  sparseset.c
+  splay-tree.c
+  sreal.c
+  stack-ptr-mod.c
+  statistics.c
+  stmt.c
+  stor-layout.c
+  store-motion.c
+  stringpool.c
+  strsignal.c
+  stub-objc.c
+  targhooks.c
+  timevar.c
+  tracer.c
+  tree-affine.c
+  tree-call-cdce.c
+  tree-cfg.c
+  tree-cfgcleanup.c
+  tree-chrec.c
+  tree-complex.c
+  tree-data-ref.c
+  tree-dfa.c
+  tree-dump.c
+  tree-eh.c
+  tree-if-conv.c
+  tree-inline.c
+  tree-into-ssa.c
+  tree-iterator.c
+  tree-loop-distribution.c
+  tree-loop-linear.c
+  tree-mudflap.c
+  tree-nested.c
+  tree-nrv.c
+  tree-object-size.c
+  tree-optimize.c
+  tree-outof-ssa.c
+  tree-parloops.c
+  tree-phinodes.c
+  tree-predcom.c
+  tree-pretty-print.c
+  tree-profile.c
+  tree-scalar-evolution.c
+  tree-sra.c
+  tree-switch-conversion.c
+  tree-ssa-address.c
+  tree-ssa-alias.c
+  tree-ssa-ccp.c
+  tree-ssa-coalesce.c
+  tree-ssa-copy.c
+  tree-ssa-copyrename.c
+  tree-ssa-dce.c
+  tree-ssa-dom.c
+  tree-ssa-dse.c
+  tree-ssa-forwprop.c
+  tree-ssa-ifcombine.c
+  tree-ssa-live.c
+  tree-ssa-loop-ch.c
+  tree-ssa-loop-im.c
+  tree-ssa-loop-ivcanon.c
+  tree-ssa-loop-ivopts.c
+  tree-ssa-loop-manip.c
+  tree-ssa-loop-niter.c
+  tree-ssa-loop-prefetch.c
+  tree-ssa-loop-unswitch.c
+  tree-ssa-loop.c
+  tree-ssa-math-opts.c
+  tree-ssa-operands.c
+  tree-ssa-phiopt.c
+  tree-ssa-phiprop.c
+  tree-ssa-pre.c
+  tree-ssa-propagate.c
+  tree-ssa-reassoc.c
+  tree-ssa-sccvn.c
+  tree-ssa-sink.c
+  tree-ssa-structalias.c
+  tree-ssa-ter.c
+  tree-ssa-threadedge.c
+  tree-ssa-threadupdate.c
+  tree-ssa-uncprop.c
+  tree-ssa.c
+  tree-ssanames.c
+  tree-stdarg.c
+  tree-tailcall.c
+  tree-vect-generic.c
+  tree-vect-patterns.c
+  tree-vect-data-refs.c
+  tree-vect-stmts.c
+  tree-vect-loop.c
+  tree-vect-loop-manip.c
+  tree-vect-slp.c
+  tree-vectorizer.c
+  tree-vrp.c
+  tree.c
+  unlink-if-ordinary.c
+  value-prof.c
+  var-tracking.c
+  varpool.c
+  varasm.c
+  varray.c
+  vec.c
+  vmsdbgout.c
+  web.c
+  xatexit.c
+  xcoffout.c
+  xexit.c
+  xmalloc.c
+  xmemdup.c
+  xstrdup.c
+  xstrerror.c
+  xstrndup.c
+  c-cppbuiltin.c
+  c-pch.c
+  cpp_files.c
+  cpp_init.c
+  cppdefault.c
+  intl.c
+  prefix.c
+  strerror.c
+  toplev.c
+  vasprintf.c
+  version.c
+  builtins.c
+  real.c
+  mini-gmp.c
+  spec_qsort/spec_qsort.c
+)

Added: test-suite/trunk/External/SPEC/CINT2017rate/505.mcf_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/505.mcf_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/505.mcf_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/505.mcf_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,38 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/505.mcf_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(spec_qsort)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_test_DIR}/inp.in"
+  STDOUT inp.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/inp.in"
+  STDOUT inp.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/inp.in"
+  STDOUT inp.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable()

Added: test-suite/trunk/External/SPEC/CINT2017rate/520.omnetpp_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/520.omnetpp_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/520.omnetpp_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/520.omnetpp_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,44 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/520.omnetpp_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(-DWITH_NETBUILDER)
+speccpu2017_add_include_dirs(
+  simulator/platdep
+  simulator
+  model
+)
+
+# test #########################################################################
+
+speccpu2017_run_test(
+  -c General -r 0
+  STDOUT omnetpp.General-0.out
+  RUN_TYPE test
+)
+
+# train ########################################################################
+
+speccpu2017_run_test(
+  -c General -r 0
+  STDOUT omnetpp.General-0.out
+  RUN_TYPE train
+)
+
+# ref ##########################################################################
+
+speccpu2017_run_test(
+  -c General -r 0
+  STDOUT omnetpp.General-0.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output(RELATIVE_TOLERANCE 0.00001 ABSOLUTE_TOLERANCE 0.000001)
+speccpu2017_add_executable()
+speccpu2017_prepare_rundir()

Added: test-suite/trunk/External/SPEC/CINT2017rate/523.xalancbmk_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/523.xalancbmk_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/523.xalancbmk_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/523.xalancbmk_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,821 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/523.xalancbmk_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(
+  -DAPP_NO_THREADS
+  -DXALAN_INMEM_MSG_LOADER
+  -DPROJ_XMLPARSER
+  -DPROJ_XMLUTIL
+  -DPROJ_PARSERS
+  -DPROJ_SAX4C
+  -DPROJ_SAX2
+  -DPROJ_DOM
+  -DPROJ_VALIDATORS
+  -DXML_USE_INMEM_MESSAGELOADER
+)
+speccpu2017_add_include_dirs(
+  .
+  xercesc
+  xercesc/dom
+  xercesc/dom/impl
+  xercesc/sax
+  xercesc/util/MsgLoaders/InMemory
+  xercesc/util/Transcoders/Iconv
+  xalanc/include
+)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  -v test.xml xalanc.xsl
+  STDOUT test-test.out
+  WORKDIR input
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  -v allbooks.xml xalanc.xsl
+  STDOUT train-allbooks.out
+  WORKDIR input
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  -v t5.xml xalanc.xsl
+  STDOUT ref-t5.out
+  WORKDIR input
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable(
+  AIXPlatformUtils.cpp
+  CSetDefs.cpp
+  Win32PlatformUtils.cpp
+  Win32MsgLoader.cpp
+  Win32TransService.cpp
+  Win32TransService2.cpp
+  SunCCDefs.cpp
+  SolarisPlatformUtils.cpp
+  GCCDefs.cpp
+  LinuxPlatformUtils.cpp
+  MIPSproDefs.cpp
+  IRIXPlatformUtils.cpp
+  HPCCDefs.cpp
+  HPPlatformUtils.cpp
+  ASCIIRangeFactory.cpp
+  AVT.cpp
+  AVTPart.cpp
+  AVTPartSimple.cpp
+  AVTPartXPath.cpp
+  AbstractDOMParser.cpp
+  AbstractNumericFacetValidator.cpp
+  AbstractNumericValidator.cpp
+  AbstractStringValidator.cpp
+  AllContentModel.cpp
+  AnySimpleTypeDatatypeValidator.cpp
+  AnyURIDatatypeValidator.cpp
+  AttrImpl.cpp
+  AttrMapImpl.cpp
+  AttrNSImpl.cpp
+  AttributeListImpl.cpp
+  AttributesImpl.cpp
+  BMPattern.cpp
+  Base64.cpp
+  Base64BinaryDatatypeValidator.cpp
+  BinFileInputStream.cpp
+  BinFileOutputStream.cpp
+  BinInputStream.cpp
+  BinMemInputStream.cpp
+  BinMemOutputStream.cpp
+  BinOutputStream.cpp
+  BitSet.cpp
+  BlockRangeFactory.cpp
+  BooleanDatatypeValidator.cpp
+  CDATASectionImpl.cpp
+  CMAny.cpp
+  CMBinaryOp.cpp
+  CMUnaryOp.cpp
+  CharToken.cpp
+  CharacterDataImpl.cpp
+  ChildNode.cpp
+  ClosureToken.cpp
+  CommentImpl.cpp
+  ComplexTypeInfo.cpp
+  ConcatToken.cpp
+  ConditionToken.cpp
+  Constants.cpp
+  ContentLeafNameTypeVector.cpp
+  ContentSpecNode.cpp
+  CountersTable.cpp
+  DFAContentModel.cpp
+  DGXMLScanner.cpp
+  DOMAttrImpl.cpp
+  DOMAttrMapImpl.cpp
+  DOMAttrNSImpl.cpp
+  DOMBuilderImpl.cpp
+  DOMCDATASectionImpl.cpp
+  DOMCharacterDataImpl.cpp
+  DOMChildNode.cpp
+  DOMCommentImpl.cpp
+  DOMConfigurationImpl.cpp
+  DOMDeepNodeListImpl.cpp
+  DOMDocumentFragmentImpl.cpp
+  DOMDocumentImpl.cpp
+  DOMDocumentTypeImpl.cpp
+  DOMElementImpl.cpp
+  DOMElementNSImpl.cpp
+  DOMEntityImpl.cpp
+  DOMEntityReferenceImpl.cpp
+  DOMErrorImpl.cpp
+  DOMException.cpp
+  DOMImplementationImpl.cpp
+  DOMImplementationRegistry.cpp
+  DOMLocatorImpl.cpp
+  DOMNamedNodeMapImpl.cpp
+  DOMNodeIDMap.cpp
+  DOMNodeImpl.cpp
+  DOMNodeIteratorImpl.cpp
+  DOMNodeListImpl.cpp
+  DOMNodeVector.cpp
+  DOMNormalizer.cpp
+  DOMNotationImpl.cpp
+  DOMParentNode.cpp
+  DOMParser.cpp
+  DOMProcessingInstructionImpl.cpp
+  DOMRangeException.cpp
+  DOMRangeImpl.cpp
+  DOMServices.cpp
+  DOMString.cpp
+  DOMStringHelper.cpp
+  DOMStringPool.cpp
+  DOMStringPrintWriter.cpp
+  DOMSupport.cpp
+  DOMSupportDefault.cpp
+  DOMSupportException.cpp
+  DOMSupportInit.cpp
+  DOMTextImpl.cpp
+  DOMTreeWalkerImpl.cpp
+  DOMTypeInfoImpl.cpp
+  DOMWriterImpl.cpp
+  DOMXPathException.cpp
+  DOM_Attr.cpp
+  DOM_CDATASection.cpp
+  DOM_CharacterData.cpp
+  DOM_Comment.cpp
+  DOM_DOMException.cpp
+  DOM_DOMImplementation.cpp
+  DOM_Document.cpp
+  DOM_DocumentFragment.cpp
+  DOM_DocumentType.cpp
+  DOM_Element.cpp
+  DOM_Entity.cpp
+  DOM_EntityReference.cpp
+  DOM_NamedNodeMap.cpp
+  DOM_Node.cpp
+  DOM_NodeFilter.cpp
+  DOM_NodeIterator.cpp
+  DOM_NodeList.cpp
+  DOM_Notation.cpp
+  DOM_ProcessingInstruction.cpp
+  DOM_Range.cpp
+  DOM_RangeException.cpp
+  DOM_Text.cpp
+  DOM_TreeWalker.cpp
+  DOM_XMLDecl.cpp
+  DStringPool.cpp
+  DTDAttDef.cpp
+  DTDAttDefList.cpp
+  DTDElementDecl.cpp
+  DTDEntityDecl.cpp
+  DTDGrammar.cpp
+  DTDScanner.cpp
+  DTDValidator.cpp
+  DatatypeValidator.cpp
+  DatatypeValidatorFactory.cpp
+  DateDatatypeValidator.cpp
+  DateTimeDatatypeValidator.cpp
+  DateTimeValidator.cpp
+  DayDatatypeValidator.cpp
+  DecimalDatatypeValidator.cpp
+  DeepNodeListImpl.cpp
+  DefaultPanicHandler.cpp
+  DocumentFragmentImpl.cpp
+  DocumentImpl.cpp
+  DocumentTypeImpl.cpp
+  DomMemDebug.cpp
+  DoubleDatatypeValidator.cpp
+  DoubleSupport.cpp
+  Dummy.cpp
+  DurationDatatypeValidator.cpp
+  ENTITYDatatypeValidator.cpp
+  ElemApplyImport.cpp
+  ElemApplyTemplates.cpp
+  ElemAttribute.cpp
+  ElemAttributeSet.cpp
+  ElemCallTemplate.cpp
+  ElemChoose.cpp
+  ElemComment.cpp
+  ElemCopy.cpp
+  ElemCopyOf.cpp
+  ElemDecimalFormat.cpp
+  ElemElement.cpp
+  ElemEmpty.cpp
+  ElemExtensionCall.cpp
+  ElemFallback.cpp
+  ElemForEach.cpp
+  ElemForwardCompatible.cpp
+  ElemIf.cpp
+  ElemLiteralResult.cpp
+  ElemMessage.cpp
+  ElemNumber.cpp
+  ElemOtherwise.cpp
+  ElemPI.cpp
+  ElemParam.cpp
+  ElemSort.cpp
+  ElemStack.cpp
+  ElemTemplate.cpp
+  ElemTemplateElement.cpp
+  ElemText.cpp
+  ElemTextLiteral.cpp
+  ElemUse.cpp
+  ElemValueOf.cpp
+  ElemVariable.cpp
+  ElemWhen.cpp
+  ElemWithParam.cpp
+  ElementDefinitionImpl.cpp
+  ElementImpl.cpp
+  ElementNSImpl.cpp
+  ElementPrefixResolverProxy.cpp
+  EncodingValidator.cpp
+  EntityImpl.cpp
+  EntityReferenceImpl.cpp
+  ExecutionContext.cpp
+  ExtensionFunctionHandler.cpp
+  ExtensionNSHandler.cpp
+  FieldActivator.cpp
+  FieldValueMap.cpp
+  FileHandleImpl.cpp
+  FloatDatatypeValidator.cpp
+  FormatterListener.cpp
+  FormatterStringLengthCounter.cpp
+  FormatterToDOM.cpp
+  FormatterToDeprecatedXercesDOM.cpp
+  FormatterToHTML.cpp
+  FormatterToNull.cpp
+  FormatterToSourceTree.cpp
+  FormatterToText.cpp
+  FormatterToXML.cpp
+  FormatterToXercesDOM.cpp
+  FormatterTreeWalker.cpp
+  Function.cpp
+  FunctionConcat.cpp
+  FunctionContains.cpp
+  FunctionCurrent.cpp
+  FunctionDifference.cpp
+  FunctionDistinct.cpp
+  FunctionDocument.cpp
+  FunctionElementAvailable.cpp
+  FunctionEvaluate.cpp
+  FunctionFormatNumber.cpp
+  FunctionFunctionAvailable.cpp
+  FunctionGenerateID.cpp
+  FunctionHasSameNodes.cpp
+  FunctionID.cpp
+  FunctionIntersection.cpp
+  FunctionKey.cpp
+  FunctionLang.cpp
+  FunctionNamespaceURI.cpp
+  FunctionNodeSet.cpp
+  FunctionNormalizeSpace.cpp
+  FunctionStartsWith.cpp
+  FunctionString.cpp
+  FunctionSubstring.cpp
+  FunctionSubstringAfter.cpp
+  FunctionSubstringBefore.cpp
+  FunctionSystemProperty.cpp
+  FunctionTranslate.cpp
+  FunctionUnparsedEntityURI.cpp
+  GeneralAttributeCheck.cpp
+  GenerateEvent.cpp
+  Grammar.cpp
+  GrammarResolver.cpp
+  HashPtr.cpp
+  HashXMLCh.cpp
+  HeaderDummy.cpp
+  HexBin.cpp
+  HexBinaryDatatypeValidator.cpp
+  ICUResHandler.cpp
+  IC_Field.cpp
+  IC_Key.cpp
+  IC_KeyRef.cpp
+  IC_Selector.cpp
+  IC_Unique.cpp
+  IDDatatypeValidator.cpp
+  IDREFDatatypeValidator.cpp
+  IGXMLScanner.cpp
+  IGXMLScanner2.cpp
+  IconvTransService.cpp
+  IdentityConstraint.cpp
+  IdentityConstraintHandler.cpp
+  InMemHandler.cpp
+  InMemMsgLoader.cpp
+  InputSource.cpp
+  KVStringPair.cpp
+  KeyTable.cpp
+  ListDatatypeValidator.cpp
+  LocalFileFormatTarget.cpp
+  LocalFileInputSource.cpp
+  Match.cpp
+  MemBufFormatTarget.cpp
+  MemBufInputSource.cpp
+  MemoryManagerArrayImpl.cpp
+  MemoryManagerImpl.cpp
+  MixedContentModel.cpp
+  ModifierToken.cpp
+  MonthDatatypeValidator.cpp
+  MonthDayDatatypeValidator.cpp
+  MsgFileOutputStream.cpp
+  MutableNodeRefList.cpp
+  Mutexes.cpp
+  NCNameDatatypeValidator.cpp
+  NLSHandler.cpp
+  NOTATIONDatatypeValidator.cpp
+  NameDatatypeValidator.cpp
+  NamedNodeMapAttributeList.cpp
+  NamedNodeMapImpl.cpp
+  NamespaceScope.cpp
+  NamespacesHandler.cpp
+  NodeIDMap.cpp
+  NodeImpl.cpp
+  NodeIteratorImpl.cpp
+  NodeListImpl.cpp
+  NodeNameTreeWalker.cpp
+  NodeRefList.cpp
+  NodeRefListBase.cpp
+  NodeSortKey.cpp
+  NodeSorter.cpp
+  NodeVector.cpp
+  NotationImpl.cpp
+  NullPrintWriter.cpp
+  Op.cpp
+  OpFactory.cpp
+  OutputContextStack.cpp
+  PSVIAttribute.cpp
+  PSVIAttributeList.cpp
+  PSVIElement.cpp
+  PSVIItem.cpp
+  PanicHandler.cpp
+  ParenToken.cpp
+  ParentNode.cpp
+  ParserForXMLSchema.cpp
+  PlatformSupportInit.cpp
+  PlatformUtils.cpp
+  PrefixResolver.cpp
+  PrintWriter.cpp
+  ProblemListener.cpp
+  ProblemListenerDefault.cpp
+  ProcessingInstructionImpl.cpp
+  QName.cpp
+  QNameDatatypeValidator.cpp
+  RangeFactory.cpp
+  RangeImpl.cpp
+  RangeToken.cpp
+  RangeTokenMap.cpp
+  ReaderMgr.cpp
+  RefCountedImpl.cpp
+  RegularExpression.cpp
+  RegxParser.cpp
+  RegxUtil.cpp
+  Resettable.cpp
+  ResultNamespacesStack.cpp
+  SAX2Handler.cpp
+  SAX2XMLFilterImpl.cpp
+  SAX2XMLReaderImpl.cpp
+  SAXException.cpp
+  SAXParseException.cpp
+  SAXParser.cpp
+  SGXMLScanner.cpp
+  SchemaAttDef.cpp
+  SchemaAttDefList.cpp
+  SchemaElementDecl.cpp
+  SchemaGrammar.cpp
+  SchemaInfo.cpp
+  SchemaSymbols.cpp
+  SchemaValidator.cpp
+  SelectionEvent.cpp
+  SimpleContentModel.cpp
+  StdBinInputStream.cpp
+  StdInInputSource.cpp
+  StdOutFormatTarget.cpp
+  StringDatatypeValidator.cpp
+  StringPool.cpp
+  StringToken.cpp
+  StringTokenizer.cpp
+  Stylesheet.cpp
+  StylesheetConstructionContext.cpp
+  StylesheetConstructionContextDefault.cpp
+  StylesheetExecutionContext.cpp
+  StylesheetExecutionContextDefault.cpp
+  StylesheetHandler.cpp
+  StylesheetRoot.cpp
+  SubstitutionGroupComparator.cpp
+  SynchronizedStringPool.cpp
+  TextImpl.cpp
+  TimeDatatypeValidator.cpp
+  Token.cpp
+  TokenFactory.cpp
+  TopLevelArg.cpp
+  TraceListener.cpp
+  TraceListenerDefault.cpp
+  TracerEvent.cpp
+  TransService.cpp
+  TraverseSchema.cpp
+  TreeWalker.cpp
+  TreeWalkerImpl.cpp
+  URISupport.cpp
+  URLInputSource.cpp
+  UnicodeRangeFactory.cpp
+  UnionDatatypeValidator.cpp
+  UnionToken.cpp
+  ValidationContextImpl.cpp
+  ValueStore.cpp
+  ValueStoreCache.cpp
+  VariablesStack.cpp
+  VecAttrListImpl.cpp
+  VecAttributesImpl.cpp
+  WFXMLScanner.cpp
+  Wrapper4DOMInputSource.cpp
+  Wrapper4InputSource.cpp
+  Writer.cpp
+  XBoolean.cpp
+  XML256TableTranscoder.cpp
+  XML256TableTranscoder390.cpp
+  XML88591Transcoder.cpp
+  XML88591Transcoder390.cpp
+  XMLASCIITranscoder.cpp
+  XMLASCIITranscoder390.cpp
+  XMLAbstractDoubleFloat.cpp
+  XMLAttDef.cpp
+  XMLAttDefList.cpp
+  XMLAttr.cpp
+  XMLBigDecimal.cpp
+  XMLBigInteger.cpp
+  XMLBuffer.cpp
+  XMLBufferMgr.cpp
+  XMLCanRepGroup.cpp
+  XMLChTranscoder.cpp
+  XMLChar.cpp
+  XMLContentModel.cpp
+  XMLDTDDescription.cpp
+  XMLDTDDescriptionImpl.cpp
+  XMLDateTime.cpp
+  XMLDeclImpl.cpp
+  XMLDouble.cpp
+  XMLEBCDICTranscoder.cpp
+  XMLEBCDICTranscoder390.cpp
+  XMLElementDecl.cpp
+  XMLEntityDecl.cpp
+  XMLException.cpp
+  XMLFloat.cpp
+  XMLFormatter.cpp
+  XMLGrammarDescription.cpp
+  XMLGrammarPoolImpl.cpp
+  XMLIBM1047Transcoder.cpp
+  XMLIBM1047Transcoder390.cpp
+  XMLIBM1140Transcoder.cpp
+  XMLIBM1140Transcoder390.cpp
+  XMLInitializer.cpp
+  XMLMsgLoader.cpp
+  XMLNotationDecl.cpp
+  XMLNumber.cpp
+  XMLParserLiaison.cpp
+  XMLRangeFactory.cpp
+  XMLReader.cpp
+  XMLRecognizer.cpp
+  XMLRefInfo.cpp
+  XMLRegisterCleanup.cpp
+  XMLScanner.cpp
+  XMLScannerResolver.cpp
+  XMLSchemaDescription.cpp
+  XMLSchemaDescriptionImpl.cpp
+  XMLString.cpp
+  XMLStringTokenizer.cpp
+  XMLSupportException.cpp
+  XMLSupportInit.cpp
+  XMLUCSTranscoder.cpp
+  XMLURL.cpp
+  XMLUTF16Transcoder.cpp
+  XMLUTF8Transcoder.cpp
+  XMLUTF8Transcoder390.cpp
+  XMLUni.cpp
+  XMLUniCharacter.cpp
+  XMLUri.cpp
+  XMLValidator.cpp
+  XMLWin1252Transcoder.cpp
+  XMLWin1252Transcoder390.cpp
+  XMemory.cpp
+  XNodeSet.cpp
+  XNodeSetAllocator.cpp
+  XNodeSetBase.cpp
+  XNodeSetNodeProxy.cpp
+  XNodeSetNodeProxyAllocator.cpp
+  XNodeSetResultTreeFragProxy.cpp
+  XNull.cpp
+  XNumber.cpp
+  XNumberAllocator.cpp
+  XNumberBase.cpp
+  XObject.cpp
+  XObjectFactory.cpp
+  XObjectFactoryDefault.cpp
+  XObjectResultTreeFragProxy.cpp
+  XObjectResultTreeFragProxyBase.cpp
+  XObjectResultTreeFragProxyText.cpp
+  XObjectTypeCallback.cpp
+  XPath.cpp
+  XPathAllocator.cpp
+  XPathCAPI.cpp
+  XPathConstructionContext.cpp
+  XPathConstructionContextDefault.cpp
+  XPathEnvSupport.cpp
+  XPathEnvSupportDefault.cpp
+  XPathEvaluator.cpp
+  XPathExecutionContext.cpp
+  XPathExecutionContextDefault.cpp
+  XPathExpression.cpp
+  XPathFactory.cpp
+  XPathFactoryBlock.cpp
+  XPathFactoryDefault.cpp
+  XPathFunctionTable.cpp
+  XPathInit.cpp
+  XPathMatcher.cpp
+  XPathMatcherStack.cpp
+  XPathParserException.cpp
+  XPathProcessor.cpp
+  XPathProcessorImpl.cpp
+  XPathSymbols.cpp
+  XProtoType.cpp
+  XResultTreeFrag.cpp
+  XResultTreeFragAllocator.cpp
+  XSAXMLScanner.cpp
+  XSAnnotation.cpp
+  XSAttributeDeclaration.cpp
+  XSAttributeGroupDefinition.cpp
+  XSAttributeUse.cpp
+  XSComplexTypeDefinition.cpp
+  XSDDOMParser.cpp
+  XSDElementNSImpl.cpp
+  XSDErrorReporter.cpp
+  XSDLocator.cpp
+  XSElementDeclaration.cpp
+  XSFacet.cpp
+  XSIDCDefinition.cpp
+  XSLException.cpp
+  XSLTEngineImpl.cpp
+  XSLTInit.cpp
+  XSLTInputSource.cpp
+  XSLTProcessor.cpp
+  XSLTProcessorEnvSupport.cpp
+  XSLTProcessorEnvSupportDefault.cpp
+  XSLTProcessorException.cpp
+  XSLTResultTarget.cpp
+  XSModel.cpp
+  XSModelGroup.cpp
+  XSModelGroupDefinition.cpp
+  XSMultiValueFacet.cpp
+  XSNamespaceItem.cpp
+  XSNotationDeclaration.cpp
+  XSObject.cpp
+  XSObjectFactory.cpp
+  XSParticle.cpp
+  XSSimpleTypeDefinition.cpp
+  XSTypeDefinition.cpp
+  XSValue.cpp
+  XSWildcard.cpp
+  XSerializeEngine.cpp
+  XSpan.cpp
+  XString.cpp
+  XStringAdapter.cpp
+  XStringAdapterAllocator.cpp
+  XStringAllocator.cpp
+  XStringBase.cpp
+  XStringCached.cpp
+  XStringCachedAllocator.cpp
+  XStringReference.cpp
+  XStringReferenceAllocator.cpp
+  XTemplateSerializer.cpp
+  XToken.cpp
+  XTokenNumberAdapter.cpp
+  XTokenNumberAdapterAllocator.cpp
+  XTokenStringAdapter.cpp
+  XTokenStringAdapterAllocator.cpp
+  XUnknown.cpp
+  XUtil.cpp
+  XalanAVTAllocator.cpp
+  XalanAVTPartSimpleAllocator.cpp
+  XalanAVTPartXPathAllocator.cpp
+  XalanAttr.cpp
+  XalanBitmap.cpp
+  XalanCAPI.cpp
+  XalanCDataSection.cpp
+  XalanCharacterData.cpp
+  XalanComment.cpp
+  XalanCompiledStylesheetDefault.cpp
+  XalanDOMException.cpp
+  XalanDOMImplementation.cpp
+  XalanDOMInit.cpp
+  XalanDOMString.cpp
+  XalanDOMStringAllocator.cpp
+  XalanDOMStringCache.cpp
+  XalanDOMStringHashTable.cpp
+  XalanDOMStringPool.cpp
+  XalanDOMStringReusableAllocator.cpp
+  XalanDecimalFormatSymbols.cpp
+  XalanDefaultDocumentBuilder.cpp
+  XalanDefaultParsedSource.cpp
+  XalanDiagnosticMemoryManager.cpp
+  XalanDocument.cpp
+  XalanDocumentFragment.cpp
+  XalanDocumentFragmentNodeRefListBaseProxy.cpp
+  XalanDocumentPrefixResolver.cpp
+  XalanDocumentType.cpp
+  XalanEXSLTCommon.cpp
+  XalanEXSLTDateTime.cpp
+  XalanEXSLTDynamic.cpp
+  XalanEXSLTMath.cpp
+  XalanEXSLTSet.cpp
+  XalanEXSLTString.cpp
+  XalanElemApplyTemplatesAllocator.cpp
+  XalanElemAttributeAllocator.cpp
+  XalanElemAttributeSetAllocator.cpp
+  XalanElemCallTemplateAllocator.cpp
+  XalanElemElementAllocator.cpp
+  XalanElemEmptyAllocator.cpp
+  XalanElemLiteralResultAllocator.cpp
+  XalanElemTemplateAllocator.cpp
+  XalanElemTextAllocator.cpp
+  XalanElemTextLiteralAllocator.cpp
+  XalanElemValueOfAllocator.cpp
+  XalanElemVariableAllocator.cpp
+  XalanElement.cpp
+  XalanEmptyNamedNodeMap.cpp
+  XalanEncodingPropertyCache.cpp
+  XalanEntity.cpp
+  XalanEntityReference.cpp
+  XalanExe.cpp
+  XalanExtensions.cpp
+  XalanFStreamOutputStream.cpp
+  XalanFileOutputStream.cpp
+  XalanFileUtility.cpp
+  XalanHTMLElementsProperties.cpp
+  XalanICUMessageLoader.cpp
+  XalanInMemoryMessageLoader.cpp
+  XalanMatchPatternData.cpp
+  XalanMatchPatternDataAllocator.cpp
+  XalanMemoryManagement.cpp
+  XalanMemoryManagerDefault.cpp
+  XalanMessageLoader.cpp
+  XalanMsgLib.cpp
+  XalanNLSMessageLoader.cpp
+  XalanNamedNodeMap.cpp
+  XalanNamespacesStack.cpp
+  XalanNode.cpp
+  XalanNodeList.cpp
+  XalanNodeListDummy.cpp
+  XalanNodeListSurrogate.cpp
+  XalanNotation.cpp
+  XalanNullOutputStream.cpp
+  XalanNumberFormat.cpp
+  XalanNumberingResourceBundle.cpp
+  XalanOutputStream.cpp
+  XalanOutputStreamPrintWriter.cpp
+  XalanParsedSource.cpp
+  XalanParsedURI.cpp
+  XalanProcessingInstruction.cpp
+  XalanQName.cpp
+  XalanQNameByReference.cpp
+  XalanQNameByValue.cpp
+  XalanQNameByValueAllocator.cpp
+  XalanReferenceCountedObject.cpp
+  XalanSimplePrefixResolver.cpp
+  XalanSourceTreeAttr.cpp
+  XalanSourceTreeAttrNS.cpp
+  XalanSourceTreeAttributeAllocator.cpp
+  XalanSourceTreeAttributeNSAllocator.cpp
+  XalanSourceTreeComment.cpp
+  XalanSourceTreeCommentAllocator.cpp
+  XalanSourceTreeContentHandler.cpp
+  XalanSourceTreeDOMSupport.cpp
+  XalanSourceTreeDocument.cpp
+  XalanSourceTreeDocumentAllocator.cpp
+  XalanSourceTreeDocumentFragment.cpp
+  XalanSourceTreeDocumentFragmentAllocator.cpp
+  XalanSourceTreeElement.cpp
+  XalanSourceTreeElementA.cpp
+  XalanSourceTreeElementAAllocator.cpp
+  XalanSourceTreeElementANS.cpp
+  XalanSourceTreeElementANSAllocator.cpp
+  XalanSourceTreeElementNA.cpp
+  XalanSourceTreeElementNAAllocator.cpp
+  XalanSourceTreeElementNANS.cpp
+  XalanSourceTreeElementNANSAllocator.cpp
+  XalanSourceTreeHelper.cpp
+  XalanSourceTreeInit.cpp
+  XalanSourceTreeParserLiaison.cpp
+  XalanSourceTreeProcessingInstruction.cpp
+  XalanSourceTreeProcessingInstructionAllocator.cpp
+  XalanSourceTreeText.cpp
+  XalanSourceTreeTextAllocator.cpp
+  XalanSourceTreeTextIWS.cpp
+  XalanSourceTreeTextIWSAllocator.cpp
+  XalanSourceTreeWrapperParsedSource.cpp
+  XalanSpaceNodeTester.cpp
+  XalanStdOutputStream.cpp
+  XalanText.cpp
+  XalanToXercesTranscoderWrapper.cpp
+  XalanTranscodingServices.cpp
+  XalanTransformer.cpp
+  XalanTransformerOutputStream.cpp
+  XalanTransformerProblemListener.cpp
+  XalanUTF16Transcoder.cpp
+  XalanUTF16Writer.cpp
+  XalanUTF8Writer.cpp
+  XalanXMLChar.cpp
+  XalanXMLFileReporter.cpp
+  XalanXMLSerializerBase.cpp
+  XalanXMLSerializerFactory.cpp
+  XalanXPathException.cpp
+  XercesAttGroupInfo.cpp
+  XercesAttrBridge.cpp
+  XercesAttrWrapper.cpp
+  XercesAttrWrapperAllocator.cpp
+  XercesAttributeBridgeAllocator.cpp
+  XercesBridgeHelper.cpp
+  XercesBridgeNavigator.cpp
+  XercesCDATASectionBridge.cpp
+  XercesCDATASectionWrapper.cpp
+  XercesCommentBridge.cpp
+  XercesCommentWrapper.cpp
+  XercesDOMException.cpp
+  XercesDOMFormatterWalker.cpp
+  XercesDOMImplementationBridge.cpp
+  XercesDOMImplementationWrapper.cpp
+  XercesDOMParsedSource.cpp
+  XercesDOMParser.cpp
+  XercesDOMSupport.cpp
+  XercesDOMWalker.cpp
+  XercesDOMWrapperException.cpp
+  XercesDOMWrapperParsedSource.cpp
+  XercesDOM_NodeHack.cpp
+  XercesDocumentBridge.cpp
+  XercesDocumentFragmentBridge.cpp
+  XercesDocumentTypeBridge.cpp
+  XercesDocumentTypeWrapper.cpp
+  XercesDocumentWrapper.cpp
+  XercesElementBridge.cpp
+  XercesElementBridgeAllocator.cpp
+  XercesElementWildcard.cpp
+  XercesElementWrapper.cpp
+  XercesElementWrapperAllocator.cpp
+  XercesEntityBridge.cpp
+  XercesEntityReferenceBridge.cpp
+  XercesEntityReferenceWrapper.cpp
+  XercesEntityWrapper.cpp
+  XercesGroupInfo.cpp
+  XercesLiaisonXalanDOMStringPool.cpp
+  XercesNamedNodeMapAttributeList.cpp
+  XercesNamedNodeMapBridge.cpp
+  XercesNamedNodeMapWrapper.cpp
+  XercesNodeListBridge.cpp
+  XercesNodeListWrapper.cpp
+  XercesNotationBridge.cpp
+  XercesNotationWrapper.cpp
+  XercesParserLiaison.cpp
+  XercesProcessingInstructionBridge.cpp
+  XercesProcessingInstructionWrapper.cpp
+  XercesTextBridge.cpp
+  XercesTextBridgeAllocator.cpp
+  XercesTextWrapper.cpp
+  XercesTextWrapperAllocator.cpp
+  XercesToXalanNodeMap.cpp
+  XercesTreeWalker.cpp
+  XercesWrapperHelper.cpp
+  XercesWrapperNavigator.cpp
+  XercesWrapperNavigatorAllocator.cpp
+  XercesWrapperToXalanNodeMap.cpp
+  XercesXPath.cpp
+  YearDatatypeValidator.cpp
+  YearMonthDatatypeValidator.cpp
+)
+

Added: test-suite/trunk/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,205 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/525.x264_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(
+  x264_src
+  x264_src/extras
+  x264_src/common
+)
+link_libraries(-lm)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  --dumpyuv 50 --frames 156 -o BuckBunny_New.264 BuckBunny.yuv 1280x720
+  RUN_TYPE test
+)
+
+foreach (_frame IN ITEMS 50 100 155)
+  speccpu2017_validate_image(frame_${_frame}.yuv
+    frame_${_frame}.org.tga imagevalidate_frame_${_frame}.out
+    -avg -threshold 0.5 -maxthreshold 20
+    RUN_TYPE test
+  )
+endforeach()
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  --dumpyuv 50 --frames 142 -o BuckBunny_New.264 BuckBunny.yuv 1280x720
+  RUN_TYPE train
+)
+
+foreach (_frame IN ITEMS 50 100 141)
+  speccpu2017_validate_image(frame_${_frame}.yuv
+    frame_${_frame}.org.tga imagevalidate_frame_${_frame}.out
+    -avg -threshold 0.5 -maxthreshold 20
+    RUN_TYPE train
+  )
+endforeach ()
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  --pass 1 --stats x264_stats.log --bitrate 1000 --frames 1000
+  -o BuckBunny_New.264 BuckBunny.yuv 1280x720
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  --pass 2 --stats x264_stats.log --bitrate 1000 --dumpyuv 200 --frames 1000
+  -o BuckBunny_New.264 BuckBunny.yuv 1280x720
+  RUN_TYPE ref
+)
+
+speccpu2017_run_test(
+  --seek 500 --dumpyuv 200 --frames 1250
+  -o BuckBunny_New.264 BuckBunny.yuv 1280x720
+  RUN_TYPE ref
+)
+
+foreach (_frame IN ITEMS 200 400 600 700 800 900 999 1100 1249)
+  speccpu2017_validate_image(frame_${_frame}.yuv
+    frame_${_frame}.org.tga imagevalidate_frame_${_frame}.out
+    -avg -threshold 0.5 -maxthreshold 20
+    RUN_TYPE ref
+  )
+endforeach ()
+
+################################################################################
+
+speccpu2017_verify_output(RELATIVE_TOLERANCE 0.085)
+speccpu2017_add_executable(
+  x264_src/common/mc.c
+  x264_src/common/predict.c
+  x264_src/common/pixel.c
+  x264_src/common/macroblock.c
+  x264_src/common/frame.c
+  x264_src/common/dct.c
+  x264_src/common/cpu.c
+  x264_src/common/cabac.c
+  x264_src/common/common.c
+  x264_src/common/mdate.c
+  x264_src/common/rectangle.c
+  x264_src/common/set.c
+  x264_src/common/quant.c
+  x264_src/common/deblock.c
+  x264_src/common/vlc.c
+  x264_src/common/mvpred.c
+  x264_src/encoder/analyse.c
+  x264_src/encoder/me.c
+  x264_src/encoder/ratecontrol.c
+  x264_src/encoder/set.c
+  x264_src/encoder/macroblock.c
+  x264_src/encoder/cabac.c
+  x264_src/encoder/cavlc.c
+  x264_src/encoder/encoder.c
+  x264_src/encoder/lookahead.c
+  x264_src/input/timecode.c
+  x264_src/input/yuv.c
+  x264_src/input/y4m.c
+  x264_src/output/raw.c
+  x264_src/output/matroska.c
+  x264_src/output/matroska_ebml.c
+  x264_src/output/flv.c
+  x264_src/output/flv_bytestream.c
+  x264_src/input/thread.c
+  x264_src/x264.c
+  x264_src/extras/getopt.c
+)
+
+set(ldecod_SourceNames
+  ldecod_src/nal.c
+  ldecod_src/mbuffer_mvc.c
+  ldecod_src/image.c
+  ldecod_src/mb_access.c
+  ldecod_src/memalloc.c
+  ldecod_src/mc_prediction.c
+  ldecod_src/mb_prediction.c
+  ldecod_src/intra4x4_pred_mbaff.c
+  ldecod_src/loop_filter_mbaff.c
+  ldecod_src/context_ini.c
+  ldecod_src/configfile.c
+  ldecod_src/cabac.c
+  ldecod_src/sei.c
+  ldecod_src/leaky_bucket.c
+  ldecod_src/filehandle.c
+  ldecod_src/errorconcealment.c
+  ldecod_src/decoder_test.c
+  ldecod_src/img_process.c
+  ldecod_src/mv_prediction.c
+  ldecod_src/fmo.c
+  ldecod_src/output.c
+  ldecod_src/mc_direct.c
+  ldecod_src/rtp.c
+  ldecod_src/nalucommon.c
+  ldecod_src/config_common.c
+  ldecod_src/intra_chroma_pred.c
+  ldecod_src/transform8x8.c
+  ldecod_src/blk_prediction.c
+  ldecod_src/intra8x8_pred_mbaff.c
+  ldecod_src/erc_do_i.c
+  ldecod_src/io_tiff.c
+  ldecod_src/mbuffer.c
+  ldecod_src/block.c
+  ldecod_src/intra4x4_pred.c
+  ldecod_src/transform.c
+  ldecod_src/annexb.c
+  ldecod_src/ldecod.c
+  ldecod_src/macroblock.c
+  ldecod_src/vlc.c
+  ldecod_src/parset.c
+  ldecod_src/loop_filter_normal.c
+  ldecod_src/parsetcommon.c
+  ldecod_src/erc_do_p.c
+  ldecod_src/loopFilter.c
+  ldecod_src/intra16x16_pred_mbaff.c
+  ldecod_src/intra4x4_pred_normal.c
+  ldecod_src/intra16x16_pred_normal.c
+  ldecod_src/win32.c
+  ldecod_src/intra16x16_pred.c
+  ldecod_src/intra8x8_pred_normal.c
+  ldecod_src/io_raw.c
+  ldecod_src/img_io.c
+  ldecod_src/nalu.c
+  ldecod_src/quant.c
+  ldecod_src/intra8x8_pred.c
+  ldecod_src/erc_api.c
+  ldecod_src/header.c
+  ldecod_src/biaridecod.c
+  ldecod_src/input.c
+)
+set(ldecod_Sources)
+foreach (_file IN LISTS ldecod_SourceNames)
+  list(APPEND ldecod_Sources "${SRC_DIR}/${_file}")
+endforeach ()
+llvm_add_host_executable(ldecod_${SUFFIX}-host
+  ldecod_${SUFFIX} ${ldecod_Sources}
+  CPPFLAGS -I "${SRC_DIR}/ldecod_src/inc"
+  LDFLAGS -lm
+)
+
+
+# Prepare BuckBunny.yuv used for x264 as input.
+foreach (_run_type IN LISTS TEST_SUITE_RUN_TYPE)
+  add_custom_command(
+    OUTPUT "${RUN_${_run_type}_DIR}/BuckBunny.yuv"
+    DEPENDS "${INPUT_${_run_type}_DIR}/BuckBunny.264"
+            "${CMAKE_CURRENT_BINARY_DIR}/ldecod_${SUFFIX}"
+    COMMAND "${CMAKE_CURRENT_BINARY_DIR}/ldecod_${SUFFIX}"
+	        -i "${INPUT_${_run_type}_DIR}/BuckBunny.264" -o BuckBunny.yuv
+			> inputgen_ldecod_x264.out
+    WORKING_DIRECTORY "${RUN_${_run_type}_DIR}"
+    COMMENT "Decoding ${_run_type}/input/BuckBunny.264"
+    VERBATIM
+  )
+  add_custom_target(BuckBunny_yuv_${_run_type}_${SUFFIX}
+    DEPENDS "${RUN_${_run_type}_DIR}/BuckBunny.yuv"
+  )
+  add_dependencies(${PROG} BuckBunny_yuv_${_run_type}_${SUFFIX})
+endforeach ()

Added: test-suite/trunk/External/SPEC/CINT2017rate/531.deepsjeng_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/531.deepsjeng_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/531.deepsjeng_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/531.deepsjeng_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,40 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/531.deepsjeng_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+if (RATE)
+  add_definitions(-DSMALL_MEMORY)
+endif ()
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_test_DIR}/test.txt"
+  STDOUT test.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/train.txt"
+  STDOUT train.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/ref.txt"
+  STDOUT ref.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable()

Added: test-suite/trunk/External/SPEC/CINT2017rate/541.leela_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/541.leela_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/541.leela_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/541.leela_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,38 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/541.leela_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(.)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_test_DIR}/test.sgf"
+  STDOUT test.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  "${INPUT_train_DIR}/train.sgf"
+  STDOUT train.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/ref.sgf"
+  STDOUT ref.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable()

Added: test-suite/trunk/External/SPEC/CINT2017rate/557.xz_r/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/557.xz_r/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/557.xz_r/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/557.xz_r/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,247 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/557.xz_r.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+add_definitions(-DHAVE_CONFIG_H=1 -DSPEC_MEM_IO -DSPEC_XZ)
+speccpu2017_add_include_dirs(
+  .
+  spec_mem_io
+  sha-2
+  common
+  liblzma/api
+  liblzma/lzma
+  liblzma/common
+  liblzma/check
+  liblzma/simple
+  liblzma/delta
+  liblzma/lz
+  liblzma/rangecoder
+)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 4 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1548636 1555348 0
+  STDOUT cpu2006docs.tar-4-0.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 4 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1462248 -1 1
+  STDOUT cpu2006docs.tar-4-1.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 4 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1428548 -1 2
+  STDOUT cpu2006docs.tar-4-2.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+   cpu2006docs.tar.xz 4 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1034828 -1 3e
+   STDOUT cpu2006docs.tar-4-3e.out
+   WORKDIR "${INPUT_all_DIR}"
+   RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 4 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1061968 -1 4
+  STDOUT cpu2006docs.tar-4-4.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 4 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1034588 -1 4e
+  STDOUT cpu2006docs.tar-4-4e.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 1 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 650156 -1 0
+  STDOUT cpu2006docs.tar-1-0.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 1 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 639996 -1 1
+  STDOUT cpu2006docs.tar-1-1.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 1 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 637616 -1 2
+  STDOUT cpu2006docs.tar-1-2.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 1 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 628996 -1 3e
+  STDOUT cpu2006docs.tar-1-3e.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 1 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 631912 -1 4
+  STDOUT cpu2006docs.tar-1-4.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 1 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 629064 -1 4e
+  STDOUT cpu2006docs.tar-1-4e.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  input.combined.xz 40 a841f68f38572a49d86226b7ff5baeb31bd19dc637a922a972b2e6d1257a890f6a544ecab967c313e370478c74f760eb229d4eef8a8d2836d233d3e9dd1430bf 6356684 -1 8
+  STDOUT input.combined-40-8.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE train
+)
+
+speccpu2017_run_test(
+  IMG_2560.cr2.xz 40 ec03e53b02deae89b6650f1de4bed76a012366fb3d4bdc791e8633d1a5964e03004523752ab008eff0d9e693689c53056533a05fc4b277f0086544c6c3cbbbf6 40822692 40824404 4
+  STDOUT IMG_2560.cr2-40-4.out
+  WORKDIR input
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  cld.tar.xz 160 19cf30ae51eddcbefda78dd06014b4b96281456e078ca7c13e1c0c9e6aaea8dff3efb4ad6b0456697718cede6bd5454852652806a657bb56e07d61128434b474 59796407 61004416 6
+  STDOUT cld.tar-160-6.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 250 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 23047774 23513385 6e
+  STDOUT cpu2006docs.tar-250-6e.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+speccpu2017_run_test(
+  input.combined.xz 250 a841f68f38572a49d86226b7ff5baeb31bd19dc637a922a972b2e6d1257a890f6a544ecab967c313e370478c74f760eb229d4eef8a8d2836d233d3e9dd1430bf 40401484 41217675 7
+  STDOUT input.combined-250-7.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE ref
+  SUITE_TYPE rate
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable(
+    spec.c
+    spec_xz.c
+    pxz.c
+    common/tuklib_physmem.c
+    liblzma/common/common.c
+    liblzma/common/block_util.c
+    liblzma/common/easy_preset.c
+    liblzma/common/filter_common.c
+    liblzma/common/hardware_physmem.c
+    liblzma/common/index.c
+    liblzma/common/stream_flags_common.c
+    liblzma/common/vli_size.c
+    liblzma/common/alone_encoder.c
+    liblzma/common/block_buffer_encoder.c
+    liblzma/common/block_encoder.c
+    liblzma/common/block_header_encoder.c
+    liblzma/common/easy_buffer_encoder.c
+    liblzma/common/easy_encoder.c
+    liblzma/common/easy_encoder_memusage.c
+    liblzma/common/filter_buffer_encoder.c
+    liblzma/common/filter_encoder.c
+    liblzma/common/filter_flags_encoder.c
+    liblzma/common/index_encoder.c
+    liblzma/common/stream_buffer_encoder.c
+    liblzma/common/stream_encoder.c
+    liblzma/common/stream_flags_encoder.c
+    liblzma/common/vli_encoder.c
+    liblzma/common/alone_decoder.c
+    liblzma/common/auto_decoder.c
+    liblzma/common/block_buffer_decoder.c
+    liblzma/common/block_decoder.c
+    liblzma/common/block_header_decoder.c
+    liblzma/common/easy_decoder_memusage.c
+    liblzma/common/filter_buffer_decoder.c
+    liblzma/common/filter_decoder.c
+    liblzma/common/filter_flags_decoder.c
+    liblzma/common/index_decoder.c
+    liblzma/common/index_hash.c
+    liblzma/common/stream_buffer_decoder.c
+    liblzma/common/stream_decoder.c
+    liblzma/common/stream_flags_decoder.c
+    liblzma/common/vli_decoder.c
+    liblzma/check/check.c
+    liblzma/check/crc32_table.c
+    liblzma/check/crc32_fast.c
+    liblzma/check/crc64_table.c
+    liblzma/check/crc64_fast.c
+    liblzma/check/sha256.c
+    liblzma/lz/lz_encoder.c
+    liblzma/lz/lz_encoder_mf.c
+    liblzma/lz/lz_decoder.c
+    liblzma/lzma/lzma_encoder.c
+    liblzma/lzma/lzma_encoder_presets.c
+    liblzma/lzma/lzma_encoder_optimum_fast.c
+    liblzma/lzma/lzma_encoder_optimum_normal.c
+    liblzma/lzma/fastpos_table.c
+    liblzma/lzma/lzma_decoder.c
+    liblzma/lzma/lzma2_encoder.c
+    liblzma/lzma/lzma2_decoder.c
+    liblzma/rangecoder/price_table.c
+    liblzma/delta/delta_common.c
+    liblzma/delta/delta_encoder.c
+    liblzma/delta/delta_decoder.c
+    liblzma/simple/simple_coder.c
+    liblzma/simple/simple_encoder.c
+    liblzma/simple/simple_decoder.c
+    liblzma/simple/x86.c
+    liblzma/simple/powerpc.c
+    liblzma/simple/ia64.c
+    liblzma/simple/arm.c
+    liblzma/simple/armthumb.c
+    liblzma/simple/sparc.c
+    xz/args.c
+    xz/coder.c
+    xz/file_io.c
+    xz/hardware.c
+    xz/list.c
+    xz/main.c
+    xz/message.c
+    xz/options.c
+    xz/signals.c
+    xz/util.c
+    common/tuklib_open_stdxxx.c
+    common/tuklib_progname.c
+    common/tuklib_exit.c
+    common/tuklib_cpucores.c
+    common/tuklib_mbstr_width.c
+    common/tuklib_mbstr_fw.c
+    spec_mem_io/spec_mem_io.c
+    sha-2/sha512.c
+)

Added: test-suite/trunk/External/SPEC/CINT2017rate/999.specrand_ir/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/999.specrand_ir/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/999.specrand_ir/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/999.specrand_ir/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,38 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/999.specrand_ir.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(RATE)
+
+speccpu2017_add_include_dirs(specrand-common)
+
+## test ########################################################################
+
+speccpu2017_run_test(
+  324342 24239
+  STDOUT rand.24239.out
+  RUN_TYPE test
+)
+
+## train #######################################################################
+
+speccpu2017_run_test(
+  1 11
+  STDOUT rand.11.out
+  RUN_TYPE train
+)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  1255432124 234923
+  STDOUT rand.234923.out
+  RUN_TYPE ref
+)
+
+################################################################################
+
+speccpu2017_verify_output()
+speccpu2017_add_executable()

Added: test-suite/trunk/External/SPEC/CINT2017rate/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017rate/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017rate/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017rate/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,12 @@
+add_subdirectory(500.perlbench_r)  # C
+add_subdirectory(502.gcc_r)        # C
+add_subdirectory(505.mcf_r)        # C
+add_subdirectory(520.omnetpp_r)    # C++
+add_subdirectory(523.xalancbmk_r)  # C++
+add_subdirectory(525.x264_r)       # C
+add_subdirectory(531.deepsjeng_r)  # C++
+add_subdirectory(541.leela_r)      # C++
+#add_subdirectory(548.exchange2_r) # Fortran
+add_subdirectory(557.xz_r)         # C
+
+add_subdirectory(999.specrand_ir)  # C

Added: test-suite/trunk/External/SPEC/CINT2017speed/600.perlbench_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/600.perlbench_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/600.perlbench_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/600.perlbench_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/600.perlbench_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 500.perlbench_r)
+speccpu2017_inherit(../../CINT2017rate/500.perlbench_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/602.gcc_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/602.gcc_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/602.gcc_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/602.gcc_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,33 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/602.gcc_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 502.gcc_r)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/gcc-pp.c" -O5 -fipa-pta -o gcc-pp.opts-O5_-fipa-pta.s
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/gcc-pp.c" -O5 -finline-limit=1000 -fselective-scheduling
+    -fselective-scheduling2 -o gcc-pp.opts-O5_-finline-limit_1000_-fselective-scheduling_-fselective-scheduling2.s
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+speccpu2017_run_test(
+  "${INPUT_ref_DIR}/gcc-pp.c" -O5 -finline-limit=24000 -fgcse -fgcse-las
+    -fgcse-lm -fgcse-sm -o gcc-pp.opts-O5_-finline-limit_24000_-fgcse_-fgcse-las_-fgcse-lm_-fgcse-sm.s
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+################################################################################
+
+speccpu2017_inherit(../../CINT2017rate/502.gcc_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/605.mcf_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/605.mcf_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/605.mcf_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/605.mcf_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/605.mcf_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 505.mcf_r)
+speccpu2017_inherit(../../CINT2017rate/505.mcf_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/620.omnetpp_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/620.omnetpp_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/620.omnetpp_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/620.omnetpp_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/620.omnetpp_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 520.omnetpp_r)
+speccpu2017_inherit(../../CINT2017rate/520.omnetpp_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/623.xalancbmk_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/623.xalancbmk_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/623.xalancbmk_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/623.xalancbmk_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/623.xalancbmk_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 523.xalancbmk_r)
+speccpu2017_inherit(../../CINT2017rate/523.xalancbmk_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/625.x264_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/625.x264_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/625.x264_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/625.x264_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/625.x264_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 525.x264_r)
+speccpu2017_inherit(../../CINT2017rate/525.x264_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/631.deepsjeng_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/631.deepsjeng_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/631.deepsjeng_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/631.deepsjeng_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,11 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/631.deepsjeng_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 531.deepsjeng_r)
+
+add_definitions(-DBIG_MEMORY)
+
+speccpu2017_inherit(../../CINT2017rate/531.deepsjeng_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/641.leela_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/641.leela_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/641.leela_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/641.leela_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/641.leela_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 541.leela_r)
+speccpu2017_inherit(../../CINT2017rate/541.leela_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/657.xz_s/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/657.xz_s/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/657.xz_s/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/657.xz_s/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,29 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/657.xz_s.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 557.xz_r)
+
+## ref #########################################################################
+
+speccpu2017_run_test(
+  cpu2006docs.tar.xz 6643 055ce243071129412e9dd0b3b69a21654033a9b723d874b2015c774fac1553d9713be561ca86f74e4f16f22e664fc17a79f30caa5ad2c04fbc447549c2810fae 1036078272 1111795472 4
+  STDOUT cpu2006docs.tar-6643-4.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+speccpu2017_run_test(
+  cld.tar.xz 1400 19cf30ae51eddcbefda78dd06014b4b96281456e078ca7c13e1c0c9e6aaea8dff3efb4ad6b0456697718cede6bd5454852652806a657bb56e07d61128434b474 536995164 539938872 8
+  STDOUT cld.tar-1400-8.out
+  WORKDIR "${INPUT_all_DIR}"
+  RUN_TYPE ref
+  SUITE_TYPE speed
+)
+
+################################################################################
+
+speccpu2017_inherit(../../CINT2017rate/557.xz_r)

Added: test-suite/trunk/External/SPEC/CINT2017speed/998.specrand_is/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/998.specrand_is/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/998.specrand_is/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/998.specrand_is/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,8 @@
+# https://www.spec.org/cpu2017/Docs/benchmarks/998.specrand_is.html
+include(../../SpecCPU2017.cmake)
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+speccpu2017_benchmark(SPEED ORIGIN 999.specrand_ir)
+speccpu2017_inherit(../../CINT2017rate/999.specrand_ir)

Added: test-suite/trunk/External/SPEC/CINT2017speed/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CINT2017speed/CMakeLists.txt?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/CINT2017speed/CMakeLists.txt (added)
+++ test-suite/trunk/External/SPEC/CINT2017speed/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -0,0 +1,12 @@
+add_subdirectory(600.perlbench_s)  # C
+add_subdirectory(602.gcc_s)        # C
+add_subdirectory(605.mcf_s)        # C
+add_subdirectory(620.omnetpp_s)    # C++
+add_subdirectory(623.xalancbmk_s)  # C++
+add_subdirectory(625.x264_s)       # C
+add_subdirectory(631.deepsjeng_s)  # C++
+add_subdirectory(641.leela_s)      # C++
+#add_subdirectory(648.exchange2_s) # Fortran
+add_subdirectory(657.xz_s)         # C
+
+add_subdirectory(998.specrand_is)  # C

Modified: test-suite/trunk/External/SPEC/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/CMakeLists.txt?rev=311395&r1=311394&r2=311395&view=diff
==============================================================================
--- test-suite/trunk/External/SPEC/CMakeLists.txt (original)
+++ test-suite/trunk/External/SPEC/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -3,3 +3,7 @@ add_subdirectory(CINT2000)
 add_subdirectory(CFP2000)
 add_subdirectory(CINT2006)
 add_subdirectory(CFP2006)
+add_subdirectory(CINT2017rate)
+add_subdirectory(CINT2017speed)
+add_subdirectory(CFP2017rate)
+add_subdirectory(CFP2017speed)

Added: test-suite/trunk/External/SPEC/SpecCPU2017.cmake
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/SPEC/SpecCPU2017.cmake?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/External/SPEC/SpecCPU2017.cmake (added)
+++ test-suite/trunk/External/SPEC/SpecCPU2017.cmake Mon Aug 21 15:33:49 2017
@@ -0,0 +1,319 @@
+# SPEC CPU 2017
+# https://www.spec.org/cpu2017/Docs/
+
+include(External)
+include(CopyDir)
+include(Host)
+
+# Search for SPEC CPU 2017 root directory.
+llvm_externals_find(TEST_SUITE_SPEC2017_ROOT "speccpu2017" "SPEC CPU2017")
+if (NOT TEST_SUITE_SPEC2017_ROOT)
+  return ()
+endif ()
+
+# Print warnings once only, even if included multiple times.
+if (NOT TARGET speccpu2017_dummy)
+
+  file(READ ${TEST_SUITE_SPEC2017_ROOT}/version.txt VERSION)
+  if (VERSION VERSION_LESS 1.0.1)
+    message(WARNING
+      "Expected SPEC2017 version 1.0.1 or newer, found ${VERSION}")
+  endif ()
+
+  # SPEC supports three "run types": ref, train and test.
+  set(_available_run_types test train ref)
+  if (NOT TEST_SUITE_RUN_TYPE IN_LIST _available_run_types)
+    message(FATAL_ERROR
+      "TEST_SUITE_RUN_TYPE must be 'train', 'test' or 'ref' for SPEC")
+  endif()
+
+  add_custom_target(speccpu2017_dummy)
+endif ()
+
+
+# Set the variables an common compile flags for a SPEC CPU 2017 benchmark.
+#
+# SPEED/RATE Kind of benchmark suite
+#
+# ORIGIN     Allows the reuse of sourec files, input data, and reference
+#            output from another benchmark.
+macro (speccpu2017_benchmark)
+  cmake_parse_arguments(_arg "SPEED;RATE" "ORIGIN" "" ${ARGN})
+
+  # If BENCHMARK is set, another benchmark inherits from this benchark.
+  # The relevant variables are already set in this case.
+  if (NOT DEFINED BENCHMARK)
+
+    get_filename_component(BENCHMARK "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
+    string(SUBSTRING ${BENCHMARK} 0 3 BENCHMARK_NO)
+    set(PROG ${BENCHMARK})
+
+    if (_arg_SPEED)
+      set(BENCHMARK_SUITE_TYPE speed)
+      set(SPEED ON)
+      set(SUFFIX s)
+    elseif (_arg_RATE)
+      set(BENCHMARK_SUITE_TYPE rate)
+      set(RATE ON)
+      set(SUFFIX r)
+    else ()
+      message(FATAL_ERROR "Must define the benchmark type (RATE or SPEED)")
+    endif ()
+
+    if (DEFINED _arg_ORIGIN)
+      set(ORIGIN ${_arg_ORIGIN})
+    else ()
+      set(ORIGIN ${BENCHMARK})
+    endif ()
+
+    set(BENCHMARK_DIR "${TEST_SUITE_SPEC2017_ROOT}/benchspec/CPU/${BENCHMARK}")
+    set(ORIGIN_DIR "${TEST_SUITE_SPEC2017_ROOT}/benchspec/CPU/${ORIGIN}")
+
+
+    set(SRC_DIR "${ORIGIN_DIR}/src")
+
+    set(DATA_DIR "${BENCHMARK_DIR}/data")
+    if (NOT EXISTS "${DATA_DIR}")
+      set(DATA_DIR "${ORIGIN_DIR}/data")
+    endif ()
+
+    set(DATA_all_DIR "${DATA_DIR}/all")
+    set(DATA_test_DIR "${DATA_DIR}/test")
+    set(DATA_train_DIR "${DATA_DIR}/train")
+
+    set(DATA_ref_DIR "${DATA_DIR}/refrate")
+    if (SPEED AND EXISTS "${DATA_DIR}/refspeed")
+      set(DATA_ref_DIR "${DATA_DIR}/refspeed")
+    endif ()
+
+    set(INPUT_all_DIR "${DATA_all_DIR}/input")
+    set(OUTPUT_all_DIR "${DATA_all_DIR}/output")
+
+    set(INPUT_test_DIR "${DATA_test_DIR}/input")
+    set(OUTPUT_test_DIR "${DATA_test_DIR}/output")
+
+    set(INPUT_train_DIR "${DATA_train_DIR}/input")
+    set(OUTPUT_train_DIR "${DATA_train_DIR}/output")
+
+    set(INPUT_ref_DIR "${DATA_ref_DIR}/input")
+    set(OUTPUT_ref_DIR "${DATA_ref_DIR}/output")
+
+    # Create benchmark working directories.
+    foreach (_run_type IN LISTS TEST_SUITE_RUN_TYPE)
+      set(RUN_${_run_type}_DIR "${CMAKE_CURRENT_BINARY_DIR}/run_${_run_type}")
+      file(MAKE_DIRECTORY ${RUN_${_run_type}_DIR})
+    endforeach ()
+
+
+    # Mandatory flags
+    add_definitions(-DSPEC -DNDEBUG)
+
+    if (RATE)
+      # rate benchmarks never use parallelism
+      add_definitions(-DSPEC_AUTO_SUPPRESS_OPENMP)
+    endif ()
+
+    # Portability flags
+    if(ARCH STREQUAL "x86" AND TARGET_OS STREQUAL "Linux")
+      add_definitions(-DSPEC_LINUX) # 526.blender_r
+      add_definitions(-DSPEC_AUTO_BYTEORDER=0x12345678)
+      if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+        # Linux x86_64
+        add_definitions(-DSPEC_LP64)
+        add_definitions(-DSPEC_LINUX_X64) # perlbench
+      elseif (CMAKE_SIZEOF_VOID_P EQUAL 4)
+        # Linux x86
+        add_definitions(-DSPEC_ILP32)
+        add_definitions(-D_FILE_OFFSET_BITS=64)
+        add_definitions(-DSPEC_LINUX_I32) # perlbench
+      endif ()
+    else ()
+      message(FATAL_ERROR
+        "Don't know portability flags for SPEC CPU 2017 on this platform")
+    endif ()
+
+    # No OpenMP for the moment, even for the _s suites.
+    add_definitions(-DSPEC_SUPPRESS_OPENMP)
+
+  endif ()
+endmacro()
+
+
+# Reuse the CMakeLists.txt of another benchmark.
+macro(speccpu2017_inherit _origin_path)
+  include("${_origin_path}/CMakeLists.txt")
+endmacro ()
+
+
+# Add include directories relative to SRC_DIR.
+macro (speccpu2017_add_include_dirs)
+  foreach(_dirname ${ARGN})
+    get_filename_component(_absdirname "${_dirname}" ABSOLUTE BASE_DIR ${SRC_DIR})
+    include_directories("${_absdirname}")
+  endforeach()
+endmacro ()
+
+
+# Add a "RUN:" line.
+#
+# RUN_TYPE   (test,train or ref)
+#            Only run if this TEST_SUITE_RUN_TYPE is is selected.
+#
+# SUITE_TYPE (rate or speed)
+#            Only run in the _r or _s benchmark suites.
+#
+# WORKDIR    Working dir for the executable to run in.
+#            "input" means the dataset source directory. Does not require
+#                    copying the input data to the rundir, but the benchmark
+#                    must not write data there.
+#            If not defined, the run_{run_type} directory is chosen.
+#
+# STDOUT     Write the benchmark's stdout into this file in the rundir.
+#
+# STDERR     Write the benchmark's stderr into this file in the rundir.
+#
+# ARGN       Benchmark's command line arguments
+macro (speccpu2017_run_test)
+  cmake_parse_arguments(_arg
+    "" "RUN_TYPE;SUITE_TYPE;WORKDIR;STDOUT;STDERR" "" ${ARGN})
+
+  if ((NOT DEFINED _arg_SUITE_TYPE) OR
+      (BENCHMARK_SUITE_TYPE IN_LIST _arg_SUITE_TYPE))
+    if ((NOT DEFINED _arg_RUN_TYPE) OR
+        (_arg_RUN_TYPE IN_LIST TEST_SUITE_RUN_TYPE))
+
+      set(_stdout)
+      if (DEFINED _arg_STDOUT)
+        set(_stdout > "${RUN_${_arg_RUN_TYPE}_DIR}/${_arg_STDOUT}")
+      endif ()
+
+      set(_stderr)
+      if (DEFINED _arg_STDERR)
+        set(_stderr 2> "${RUN_${_arg_RUN_TYPE}_DIR}/${_arg_STDERR}")
+      endif ()
+
+      set(_executable)
+      if (NOT DEFINED _arg_WORKDIR)
+        set(_workdir "${RUN_${_arg_RUN_TYPE}_DIR}")
+
+        # perlbench, xalancbmk need to be invoked with relative paths
+        # (SPEC made modifications that prepend another path to find the rundir)
+        file(RELATIVE_PATH _executable
+          "${_workdir}" "${CMAKE_CURRENT_BINARY_DIR}/${PROG}")
+        set (_executable EXECUTABLE "${_executable}")
+      elseif (_arg_WORKDIR STREQUAL "input")
+        set(_workdir "${INPUT_${_arg_RUN_TYPE}_DIR}")
+      else ()
+        set(_workdir "${_arg_WORKDIR}")
+      endif ()
+
+      llvm_test_run(
+        ${_arg_UNPARSED_ARGUMENTS} ${_stdout} ${_stderr}
+        RUN_TYPE ${_arg_RUN_TYPE}
+        WORKDIR "${_workdir}"
+        ${_executable}
+      )
+    endif ()
+  endif ()
+endmacro ()
+
+
+# Compare an image file to a reference image.
+macro(speccpu2017_validate_image _imgfile _cmpfile _outfile)
+  cmake_parse_arguments(_carg "" "RUN_TYPE" "SUITE_TYPE" ${ARGN})
+
+  set(VALIDATOR imagevalidate_${BENCHMARK_NO})
+  if (NOT TARGET ${VALIDATOR}-host)
+    file(GLOB_RECURSE _validator_sources "${SRC_DIR}/image_validator/*.c")
+    llvm_add_host_executable(
+      ${VALIDATOR}-host ${VALIDATOR} ${_validator_sources}
+      LDFLAGS -lm
+    )
+  endif ()
+
+  if ((NOT DEFINED _carg_SUITE_TYPE) OR (${BENCHMARK_SUITE_TYPE} IN_LIST _carg_SUITE_TYPE))
+    get_filename_component(_basename "${_imgfile}" NAME_WE)
+    get_filename_component(_ext "${_imgfile}" EXT)
+    llvm_test_verify(
+      cd "${RUN_${_carg_RUN_TYPE}_DIR}" &&
+      "${CMAKE_CURRENT_BINARY_DIR}/${VALIDATOR}" ${_carg_UNPARSED_ARGUMENTS}
+        "${_imgfile}" "${DATA_${_carg_RUN_TYPE}_DIR}/compare/${_cmpfile}"
+        > ${RUN_${_carg_RUN_TYPE}_DIR}/${_outfile}
+      RUN_TYPE ${_carg_RUN_TYPE}
+    )
+  endif ()
+endmacro ()
+
+# Add a "VERIFY:" line that compares all of the benchmark's reference outputs
+# with files in the rundir.
+macro(speccpu2017_verify_output)
+  cmake_parse_arguments(_arg
+    "IGNORE_WHITESPACE" "ABSOLUTE_TOLERANCE;RELATIVE_TOLERANCE" "" ${ARGN})
+
+  set(_abstol)
+  if (DEFINED _arg_ABSOLUTE_TOLERANCE)
+    set(_abstol -a "${_arg_ABSOLUTE_TOLERANCE}")
+  endif ()
+
+  set(_reltol)
+  if (DEFINED _arg_RELATIVE_TOLERANCE)
+    set(_reltol -r "${_arg_RELATIVE_TOLERANCE}")
+  endif ()
+
+  set(_ignorewhitespace)
+  if (DEFINED _arg_IGNORE_WHITESPACE)
+    set(_ignorewhitespace "-i")
+  endif ()
+
+  foreach (_runtype IN LISTS TEST_SUITE_RUN_TYPE ITEMS all)
+    file(GLOB_RECURSE _reffiles "${OUTPUT_${_runtype}_DIR}/*")
+    foreach (_reffile IN LISTS _reffiles)
+      file(RELATIVE_PATH _relfile "${OUTPUT_${_runtype}_DIR}" "${_reffile}")
+      set(_outfile "${RUN_${_runtype}_DIR}/${_relfile}")
+      llvm_test_verify(RUN_TYPE ${_runtype}
+        "${FPCMP}" ${_abstol} ${_reltol} ${_ignorewhitespace}
+          "${_reffile}" "${_outfile}"
+      )
+    endforeach ()
+  endforeach ()
+endmacro()
+
+
+# Add a SPEC CPU 2017 benchmark.
+#
+# Must be used after speccpu2017_run_test, speccpu2017_validate_image
+# and speccpu2017_verify_output because those add lines to the
+# ${BENCHMARK}.test file that is written here.
+macro(speccpu2017_add_executable)
+  set(_sources ${ARGN})
+  if (_sources)
+    set(_sources)
+    foreach(_filename ${ARGN})
+      get_filename_component(_absfilename "${_filename}"
+        ABSOLUTE BASE_DIR ${SRC_DIR})
+      list(APPEND _sources "${_absfilename}")
+    endforeach()
+  else ()
+    file(GLOB_RECURSE _sources
+      ${SRC_DIR}/*.c ${SRC_DIR}/*.cpp ${SRC_DIR}/*.cc ${SRC_DIR}/*.C)
+  endif ()
+
+  llvm_test_executable(${PROG} ${_sources})
+
+  if (TARGET ${VALIDATOR}-host)
+    add_dependencies(${PROG} ${VALIDATOR}-host)
+  endif ()
+endmacro()
+
+
+# Copy the input data to the rundir.
+#
+# Can often be avoided by either passing an absolute path to the file in the
+# input dir, or using the input dir as working directory and specify the output
+# file as an absolute path to the rundir.
+macro(speccpu2017_prepare_rundir)
+  foreach (_runtype IN LISTS TEST_SUITE_RUN_TYPE)
+    llvm_copy_dir(${PROG} "${RUN_${_runtype}_DIR}" "${INPUT_all_DIR}")
+    llvm_copy_dir(${PROG} "${RUN_${_runtype}_DIR}" "${INPUT_${_runtype}_DIR}")
+  endforeach ()
+endmacro()

Added: test-suite/trunk/cmake/modules/Host.cmake
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/cmake/modules/Host.cmake?rev=311395&view=auto
==============================================================================
--- test-suite/trunk/cmake/modules/Host.cmake (added)
+++ test-suite/trunk/cmake/modules/Host.cmake Mon Aug 21 15:33:49 2017
@@ -0,0 +1,34 @@
+set(TEST_SUITE_HOST_CC "cc" CACHE STRING "C compiler targetting the host")
+mark_as_advanced(TEST_SUITE_HOST_CC)
+
+macro(llvm_add_host_executable targetname exename)
+  cmake_parse_arguments(_arg "" "" "LDFLAGS;CPPFLAGS" ${ARGN})
+
+  set(_objs)
+  foreach (_srcfile IN LISTS _arg_UNPARSED_ARGUMENTS)
+    get_filename_component(
+	  _srcfile "${_srcfile}" ABSOLUTE BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
+    get_filename_component(_filename "${_srcfile}" NAME)
+    set(_objfile "${CMAKE_CURRENT_BINARY_DIR}/${_filename}.o")
+
+    add_custom_command(OUTPUT "${_objfile}"
+      COMMAND ${TEST_SUITE_HOST_CC} ${_arg_CPPFLAGS}
+	    -c "${_srcfile}" -o "${_objfile}"
+      COMMENT "[TEST_SUITE_HOST_CC] Compiling host source ${_filename}"
+      DEPENDS "${_srcfile}"
+      VERBATIM
+    )
+
+    list(APPEND _objs ${_objfile})
+  endforeach ()
+
+  add_custom_command(OUTPUT ${exename}
+    COMMAND ${TEST_SUITE_HOST_CC} ${_objs}
+	  -o "${CMAKE_CURRENT_BINARY_DIR}/${exename}" ${_arg_LDFLAGS}
+    COMMENT "[TEST_SUITE_HOST_CC] Linking host executable ${exename}"
+    DEPENDS ${_objs}
+    VERBATIM
+  )
+  add_custom_target(${targetname}
+    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${exename}")
+endmacro()

Modified: test-suite/trunk/litsupport/shellcommand.py
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/litsupport/shellcommand.py?rev=311395&r1=311394&r2=311395&view=diff
==============================================================================
--- test-suite/trunk/litsupport/shellcommand.py (original)
+++ test-suite/trunk/litsupport/shellcommand.py Mon Aug 21 15:33:49 2017
@@ -2,6 +2,7 @@
 import shlex
 import logging
 import re
+import os
 try:
         from shlex import quote  # python 3.3 and above
 except:
@@ -138,15 +139,19 @@ def getMainExecutable(context):
         return context.executable
 
     executable = None
+    cwd = '.';
     for line in context.parsed_runscript:
         cmd = parse(line)
+        if cmd.workdir is not None:
+            cwd = os.path.join(cwd, cmd.workdir)
         if cmd.executable in _ignore_executables:
             continue
+        new_executable = os.path.join(cwd, cmd.executable)
         # We only support one executable yet for collecting md5sums
-        if cmd.executable != executable and executable is not None:
+        if new_executable != executable and executable is not None:
             logging.warning("More than one executable used in test %s",
                             context.test.getFullName())
-        executable = cmd.executable
+        executable = new_executable
     if executable is None:
         logging.warning("No executable found for test %s",
                         context.test.getFullName())

Modified: test-suite/trunk/tools/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/tools/CMakeLists.txt?rev=311395&r1=311394&r2=311395&view=diff
==============================================================================
--- test-suite/trunk/tools/CMakeLists.txt (original)
+++ test-suite/trunk/tools/CMakeLists.txt Mon Aug 21 15:33:49 2017
@@ -3,16 +3,7 @@
 # as an ad-hoc solution for now. A proper solution would probably be based on
 # ExternalProject_Add(); See also http://reviews.llvm.org/D15004
 
-set(TEST_SUITE_HOST_CC "cc" CACHE STRING "C compiler targetting the host")
-mark_as_advanced(TEST_SUITE_HOST_CC)
-macro(llvm_add_host_executable targetname exename sourcefile)
-  add_custom_command(OUTPUT ${exename}
-    COMMAND ${TEST_SUITE_HOST_CC} ${CMAKE_CURRENT_SOURCE_DIR}/${sourcefile} -o ${CMAKE_CURRENT_BINARY_DIR}/${exename}
-    COMMENT "[TEST_SUITE_HOST_CC] Building host executable ${exename}"
-    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${sourcefile}
-  )
-  add_custom_target(${targetname} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${exename})
-endmacro()
+include(Host)
 
 llvm_add_host_executable(fpcmp-host fpcmp fpcmp.c)
 




More information about the llvm-commits mailing list