summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Performance/CodeQuality
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/JIT/Performance/CodeQuality')
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES46
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs3
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES34
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs81
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES38
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs813
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs813
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs333
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs893
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs893
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs933
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj45
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj4
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj5
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs15
-rw-r--r--tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj3
-rw-r--r--tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES33
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs1194
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj (renamed from tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.csproj)11
-rw-r--r--tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES41
-rw-r--r--tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs1071
-rw-r--r--tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj17
-rw-r--r--tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES21
121 files changed, 1850 insertions, 12700 deletions
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj
index 580bd54343..80afc6699a 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj
index a8c38ad663..174ee76e18 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj
index a2acd3bea8..1594ae0a45 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj
index 210f6f1940..70fdb06897 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj
index 6ca1184365..bd1b084df5 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj
index bfb377fe62..10f39efd08 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj
index 416c1b9662..975bf96f92 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj
index c7a4bb91b0..417f1c5631 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj
index cabdbd6607..6751cc2492 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..7e0bac5f31
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES
@@ -0,0 +1,17 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Livermore Loops coded in C
+---------------------------------------------
+
+http://www.netlib.org/benchmark/livermorec
+
+No specific license is given, so attributing and using in "good faith"
+in the same way that it has been offered. We will delete upon request.
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj
index 593474426a..1ab94d40c8 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj
index 13238071d2..09454d9218 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj
index dcf02d3f67..1213cae10a 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj
index 1502b85410..a6f11c0f06 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj
index 4cd3e0e069..37fa54eda8 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj
index 64bbe04cdb..ca2c525458 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj
index 1a0758ba51..27e3773834 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj
index 67f81313f6..d7b09af860 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj
index d371554449..90d780e258 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj
index 8a46ca61d7..e9f704cf6b 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj
index 46898e3188..02eaf525e9 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj
index efef461379..a4c3de5674 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj
index 8d0feb5a01..8f72e1c87e 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj
index 2fd1aae521..ffadd54595 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj
index cb8f12ddb2..2619b38c0c 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj
index b7d7918823..cb1ed7b648 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj
index 0932bfb0ea..b368d85bda 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj
index 0def91ffa2..6d58dc402f 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj
index 6fabe89c8e..776afa72c0 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj
index 7b5fb93ed9..448892e8eb 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj
index 599dcd7b74..edbab6006b 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj
index 2b8c995bd8..ff30f8ccf7 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj
index 2afbe54997..270e55060f 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj
index 2fab51071a..bcf7b40d72 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj
index 0281fb4ca7..669a0efdd5 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj
index e7e379be83..666ba47ce2 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj
index 5046b02d9e..78573f88cc 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj
index ea175a5d04..5622ad71d2 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj
index cbe2114304..63339c8903 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj
index d7d212eace..5228f957ba 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj
index 185bb7c08e..ea10a44d83 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj
index f079692c3c..f16d1d38b1 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj
index 919c7d2b6e..caa2de7720 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj
index b9f78517a9..9d253e28b4 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj
index 922fd5fc39..a234c09352 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..2efc37d6e9
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES
@@ -0,0 +1,46 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for The Computer Language Benchmarks Game
+---------------------------
+
+Revised BSD license
+
+This is a specific instance of the Open Source Initiative (OSI) BSD license template
+http://www.opensource.org/licenses/bsd-license.php
+
+Copyright (c) 2004-2008 Brent Fulgham, 2005-2015 Isaac Gouy
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+ Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ Neither the name of "The Computer Language Benchmarks Game" nor the name of
+ "The Computer Language Shootout Benchmarks" nor the names of its
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj
index 257a1d8466..3cbf952833 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
<GCStressIncompatible>true</GCStressIncompatible>
</PropertyGroup>
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj
index 169e33d322..a7c8f2daf3 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
<GCStressIncompatible>true</GCStressIncompatible>
</PropertyGroup>
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj
index c153dfae39..259d5e8ff3 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj
index 38459d270f..8d77905de9 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj
index 94e1dfbda8..097a3a2534 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj
index 8bf75d660e..f8c3785f54 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj
index 005e93a306..7396e3b00f 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj
index e77f257b42..6f334e9afb 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj
index b44017b188..69d39df429 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj
index 74ec22ac53..e12feab89a 100644
--- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs
index 11eccec14d..02dafa2dda 100644
--- a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs
@@ -5,7 +5,8 @@
// .NET SIMD to solve Burgers' equation
//
// Benchmark based on
-// http://taumuon-jabuka.blogspot.co.uk/2014/10/net-simd-to-solve-burgers-equation.html
+// https://github.com/taumuon/SIMD-Vectorisation-Burgers-Equation-CSharp
+// http://www.taumuon.co.uk/2014/10/net-simd-to-solve-burgers-equation.html
using Microsoft.Xunit.Performance;
using System;
diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj
index c26f227657..0f57308962 100644
--- a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..48cfac483f
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES
@@ -0,0 +1,34 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for SIMD-Vectorisation-Burgers-Equation-CSharp
+-------------------------------------------------------------
+
+MIT License
+
+Copyright (c) 2017 Gary Evans
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs
index 10699c67dc..280744bf5b 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
@@ -120,10 +116,12 @@ internal class global
public const int LUARRAYROWS = 101;
public const int LUARRAYCOLS = 101;
-
// EMFLOAT constants
public const int CPUEMFLOATLOOPMAX = 50000;
public const int EMFARRAYSIZE = 3000;
+
+ // FOURIER constants
+ public const int FOURIERARRAYSIZE = 100;
}
/*
@@ -183,7 +181,7 @@ public abstract class HuffStruct : HarnessTest
public abstract class FourierStruct : HarnessTest
{
- public int arraysize; /* Size of coeff. arrays */
+ public int arraysize = global.FOURIERARRAYSIZE;
public override void ShowStats()
{
ByteMark.OutputString(
@@ -1261,15 +1259,15 @@ public class ByteMark
global.write_to_file = false;
}
- const int NumericSortJaggedIterations = 20;
+ const int NumericSortJaggedIterations = 10;
[Benchmark]
public static void BenchNumericSortJagged()
{
Setup();
NumericSortJagged t = new NumericSortJagged();
- t.numarrays = 1000;
- t.adjust = 0;
+ t.numarrays = 200;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1283,15 +1281,15 @@ public class ByteMark
}
}
- const int NumericSortRectangularIterations = 20;
+ const int NumericSortRectangularIterations = 5;
[Benchmark]
public static void BenchNumericSortRectangular()
{
Setup();
NumericSortRect t = new NumericSortRect();
- t.numarrays = 1000;
- t.adjust = 0;
+ t.numarrays = 200;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1312,8 +1310,8 @@ public class ByteMark
{
Setup();
StringSort t = new StringSort();
- t.numarrays = 1000;
- t.adjust = 0;
+ t.numarrays = 40;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1326,14 +1324,15 @@ public class ByteMark
}
}
}
- const int BitOpsIterations = 15;
+
+ const int BitOpsIterations = 100000;
[Benchmark]
public static void BenchBitOps()
{
Setup();
BitOps t = new BitOps();
- t.adjust = 0;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1347,15 +1346,15 @@ public class ByteMark
}
}
- const int EmFloatIterations = 8;
+ const int EmFloatIterations = 10;
[Benchmark]
public static void BenchEmFloat()
{
Setup();
EmFloatStruct t = new EMFloat();
- t.loops = 100;
- t.adjust = 0;
+ t.loops = 50;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1369,15 +1368,15 @@ public class ByteMark
}
}
- const int EmFloatClassIterations = 8;
+ const int EmFloatClassIterations = 2;
[Benchmark]
public static void BenchEmFloatClass()
{
Setup();
EmFloatStruct t = new EMFloatClass();
- t.loops = 100;
- t.adjust = 0;
+ t.loops = 50;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1391,14 +1390,14 @@ public class ByteMark
}
}
- const int FourierIterations = 20;
+ const int FourierIterations = 300;
[Benchmark]
public static void BenchFourier()
{
Setup();
FourierStruct t = new Fourier();
- t.adjust = 0;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1412,15 +1411,15 @@ public class ByteMark
}
}
- const int AssignJaggedIterations = 15;
+ const int AssignJaggedIterations = 2;
[Benchmark]
public static void BenchAssignJagged()
{
Setup();
AssignStruct t = new AssignJagged();
- t.numarrays = 1000;
- t.adjust = 0;
+ t.numarrays = 25;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1434,15 +1433,15 @@ public class ByteMark
}
}
- const int AssignRectangularIterations = 20;
+ const int AssignRectangularIterations = 5;
[Benchmark]
public static void BenchAssignRectangular()
{
Setup();
AssignStruct t = new AssignRect();
- t.numarrays = 1000;
- t.adjust = 0;
+ t.numarrays = 10;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1456,7 +1455,7 @@ public class ByteMark
}
}
- const int IDEAEncryptionIterations = 20;
+ const int IDEAEncryptionIterations = 50;
[Benchmark]
public static void BenchIDEAEncryption()
@@ -1464,7 +1463,7 @@ public class ByteMark
Setup();
IDEAStruct t = new IDEAEncryption();
t.loops = 100;
- t.adjust = 0;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1478,15 +1477,15 @@ public class ByteMark
}
}
- const int NeuralJaggedIterations = 20;
+ const int NeuralJaggedIterations = 10;
[Benchmark]
public static void BenchNeuralJagged()
{
Setup();
NNetStruct t = new NeuralJagged();
- t.loops = 100;
- t.adjust = 0;
+ t.loops = 3;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1500,15 +1499,15 @@ public class ByteMark
}
}
- const int NeuralIterations = 12;
+ const int NeuralIterations = 20;
[Benchmark]
public static void BenchNeural()
{
Setup();
NNetStruct t = new Neural();
- t.loops = 100;
- t.adjust = 0;
+ t.loops = 1;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
@@ -1522,15 +1521,15 @@ public class ByteMark
}
}
- const int LUDecompIterations = 20;
+ const int LUDecompIterations = 10;
[Benchmark]
public static void BenchLUDecomp()
{
Setup();
LUStruct t = new LUDecomp();
- t.numarrays = 1000;
- t.adjust = 0;
+ t.numarrays = 250;
+ t.adjust = 1;
foreach (var iteration in Benchmark.Iterations)
{
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj b/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj
index 160660c9df..26a64c6e89 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,19 +7,15 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
<GCStressIncompatible>true</GCStressIncompatible>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -54,6 +50,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs
index bfe9965919..f398b0ad10 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs
index e4888b2edd..12238e4447 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..3fe8ed3e4b
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES
@@ -0,0 +1,38 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ByteMark
+---------------------------
+
+https://github.com/santoshsahoo/nbench (mirror of the same code)
+
+/*
+** BYTEmark (tm)
+** BYTE Magazine's Native Mode benchmarks
+** Rick Grehan, BYTE Magazine
+**
+** Create:
+** Revision: 3/95
+**
+** DISCLAIMER
+** The source, executable, and documentation files that comprise
+** the BYTEmark benchmarks are made available on an "as is" basis.
+** This means that we at BYTE Magazine have made every reasonable
+** effort to verify that the there are no errors in the source and
+** executable code. We cannot, however, guarantee that the programs
+** are error-free. Consequently, McGraw-HIll and BYTE Magazine make
+** no claims in regard to the fitness of the source code, executable
+** code, and documentation of the BYTEmark.
+**
+** Furthermore, BYTE Magazine, McGraw-Hill, and all employees
+** of McGraw-Hill cannot be held responsible for any damages resulting
+** from the use of this code or the results obtained from using
+** this code.
+*/
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs
index 1ad69ff129..42c5d780fd 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs
index 43cab8a0ea..ac49cddddf 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs
index d692eeea23..41a006f2fc 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs
index e61b9380ab..1fba85cef8 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs
index 0ae261c16b..6d90823dfd 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs
index e2e0a5d609..1ef2f55085 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs
index 732a8f0ec9..9fa8dc212d 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs
index d45a51df59..e2ce4d80f2 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs
index 6e3ab36b94..e7104a6e4a 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs
index 9e842c3910..73854ee9cc 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs
index d9dd199c98..2276fde3de 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs
index 44da6e3a71..76484b34c5 100644
--- a/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs
@@ -2,10 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
/*
-** Copyright (c) Microsoft. All rights reserved.
-** Licensed under the MIT license.
-** See LICENSE file in the project root for full license information.
-**
** This program was translated to C# and adapted for xunit-performance.
** New variants of several tests were added to compare class versus
** struct and to compare jagged arrays vs multi-dimensional arrays.
diff --git a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj
index d5ad1554b5..af7ce3b4c9 100644
--- a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs
deleted file mode 100644
index 3b28f87fe5..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsByte
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Bytes feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static byte Five = 5;
- static byte Ten = 10;
-
- static byte Id(byte x)
- {
- return x;
- }
-
- static byte F00(byte x)
- {
- return (byte) (x * x);
- }
-
- static bool Bench00p()
- {
- byte t = 10;
- byte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- byte t = Ten;
- byte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- byte t = Id(10);
- byte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- byte t = Id(Ten);
- byte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- byte t = Id(10);
- byte f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- byte t = Id(Ten);
- byte f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- byte t = 10;
- byte f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- byte t = Ten;
- byte f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- byte t = 5;
- byte f = F00((byte)(2 * t));
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- byte t = Five;
- byte f = F00((byte)(2 * t));
- return (f == 100);
- }
-
- static byte F01(byte x)
- {
- return (byte)(1000 / x);
- }
-
- static bool Bench01p()
- {
- byte t = 10;
- byte f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- byte t = Ten;
- byte f = F01(t);
- return (f == 100);
- }
-
- static byte F02(byte x)
- {
- return (byte) (20 * (x / 2));
- }
-
- static bool Bench02p()
- {
- byte t = 10;
- byte f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- byte t = Ten;
- byte f = F02(t);
- return (f == 100);
- }
-
- static byte F03(byte x)
- {
- return (byte)(91 + 1009 % x);
- }
-
- static bool Bench03p()
- {
- byte t = 10;
- byte f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- byte t = Ten;
- byte f = F03(t);
- return (f == 100);
- }
-
- static byte F04(byte x)
- {
- return (byte)(50 * (x % 4));
- }
-
- static bool Bench04p()
- {
- byte t = 10;
- byte f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- byte t = Ten;
- byte f = F04(t);
- return (f == 100);
- }
-
- static byte F05(byte x)
- {
- return (byte)((1 << x) - 924);
- }
-
- static bool Bench05p()
- {
- byte t = 10;
- byte f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- byte t = Ten;
- byte f = F05(t);
- return (f == 100);
- }
-
- static byte F051(byte x)
- {
- return (byte)(102400 >> x);
- }
-
- static bool Bench05p1()
- {
- byte t = 10;
- byte f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- byte t = Ten;
- byte f = F051(t);
- return (f == 100);
- }
-
- static byte F06(byte x)
- {
- return (byte)(-x + 110);
- }
-
- static bool Bench06p()
- {
- byte t = 10;
- byte f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- byte t = Ten;
- byte f = F06(t);
- return (f == 100);
- }
-
- static byte F07(byte x)
- {
- return (byte)(~x + 111);
- }
-
- static bool Bench07p()
- {
- byte t = 10;
- byte f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- byte t = Ten;
- byte f = F07(t);
- return (f == 100);
- }
-
- static byte F071(byte x)
- {
- return (byte)((x ^ -1) + 111);
- }
-
- static bool Bench07p1()
- {
- byte t = 10;
- byte f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- byte t = Ten;
- byte f = F071(t);
- return (f == 100);
- }
-
- static byte F08(byte x)
- {
- return (byte)((x & 0x7) + 98);
- }
-
- static bool Bench08p()
- {
- byte t = 10;
- byte f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- byte t = Ten;
- byte f = F08(t);
- return (f == 100);
- }
-
- static byte F09(byte x)
- {
- return (byte)((x | 0x7) + 85);
- }
-
- static bool Bench09p()
- {
- byte t = 10;
- byte f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- byte t = Ten;
- byte f = F09(t);
- return (f == 100);
- }
-
- // Bytes feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static byte F10(byte x)
- {
- return x == 10 ? (byte) 100 : (byte) 0;
- }
-
- static bool Bench10p()
- {
- byte t = 10;
- byte f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- byte t = Ten;
- byte f = F10(t);
- return (f == 100);
- }
-
- static byte F101(byte x)
- {
- return x != 10 ? (byte) 0 : (byte) 100;
- }
-
- static bool Bench10p1()
- {
- byte t = 10;
- byte f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- byte t = Ten;
- byte f = F101(t);
- return (f == 100);
- }
-
- static byte F102(byte x)
- {
- return x >= 10 ? (byte) 100 : (byte) 0;
- }
-
- static bool Bench10p2()
- {
- byte t = 10;
- byte f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- byte t = Ten;
- byte f = F102(t);
- return (f == 100);
- }
-
- static byte F103(byte x)
- {
- return x <= 10 ? (byte) 100 : (byte) 0;
- }
-
- static bool Bench10p3()
- {
- byte t = 10;
- byte f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- byte t = Ten;
- byte f = F102(t);
- return (f == 100);
- }
-
- static byte F11(byte x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- byte t = 10;
- byte f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- byte t = Ten;
- byte f = F11(t);
- return (f == 100);
- }
-
- static byte F111(byte x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- byte t = 10;
- byte f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- byte t = Ten;
- byte f = F111(t);
- return (f == 100);
- }
-
- static byte F112(byte x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- byte t = 10;
- byte f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- byte t = Ten;
- byte f = F112(t);
- return (f == 100);
- }
- static byte F113(byte x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- byte t = 10;
- byte f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- byte t = Ten;
- byte f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static byte F20(byte x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- byte t = 10;
- byte f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- byte t = Ten;
- byte f = F20(t);
- return (f == 100);
- }
-
- static byte F21(byte x)
- {
- return (byte)(-x + 100 + x);
- }
-
- static bool Bench21p()
- {
- byte t = 10;
- byte f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- byte t = Ten;
- byte f = F21(t);
- return (f == 100);
- }
-
- static byte F211(byte x)
- {
- return (byte)(x - x + 100);
- }
-
- static bool Bench21p1()
- {
- byte t = 10;
- byte f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- byte t = Ten;
- byte f = F211(t);
- return (f == 100);
- }
-
- static byte F22(byte x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- byte t = 10;
- byte f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- byte t = Ten;
- byte f = F22(t);
- return (f == 100);
- }
-
- static byte F23(byte x)
- {
- if (x > 0)
- {
- return (byte)(90 + x);
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- byte t = 10;
- byte f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- byte t = Ten;
- byte f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static byte F30(byte x, byte y)
- {
- return (byte)(y * y);
- }
-
- static bool Bench30p()
- {
- byte t = 10;
- byte f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- byte t = Ten;
- byte f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- byte s = Ten;
- byte t = 10;
- byte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- byte s = 10;
- byte t = Ten;
- byte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- byte s = 10;
- byte t = 10;
- byte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- byte s = Ten;
- byte t = Ten;
- byte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- byte s = 10;
- byte t = s;
- byte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- byte s = Ten;
- byte t = s;
- byte f = F30(s, t);
- return (f == 100);
- }
-
- static byte F31(byte x, byte y, byte z)
- {
- return (byte)(z * z);
- }
-
- static bool Bench31p()
- {
- byte t = 10;
- byte f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- byte t = Ten;
- byte f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- byte r = Ten;
- byte s = Ten;
- byte t = 10;
- byte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- byte r = 10;
- byte s = 10;
- byte t = Ten;
- byte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- byte r = 10;
- byte s = 10;
- byte t = 10;
- byte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- byte r = Ten;
- byte s = Ten;
- byte t = Ten;
- byte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- byte r = 10;
- byte s = r;
- byte t = s;
- byte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- byte r = Ten;
- byte s = r;
- byte t = s;
- byte f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static byte F40(byte x, byte y)
- {
- return (byte)(x * x + y * y - 100);
- }
-
- static bool Bench40p()
- {
- byte t = 10;
- byte f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- byte t = Ten;
- byte f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- byte s = Ten;
- byte t = 10;
- byte f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- byte s = 10;
- byte t = Ten;
- byte f = F40(s, t);
- return (f == 100);
- }
-
- static byte F41(byte x, byte y)
- {
- return (byte)(x * y);
- }
-
- static bool Bench41p()
- {
- byte t = 10;
- byte f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- byte t = Ten;
- byte f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- byte s = 10;
- byte t = Ten;
- byte f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- byte s = Ten;
- byte t = 10;
- byte f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsByte).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj
deleted file mode 100644
index 54a8a77e03..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsByte.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs
deleted file mode 100644
index 0cc4b9c558..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsChar
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Chars feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static char Five = (char) 5;
- static char Ten = (char) 10;
-
- static char Id(char x)
- {
- return x;
- }
-
- static char F00(char x)
- {
- return (char) (x * x);
- }
-
- static bool Bench00p()
- {
- char t = (char) 10;
- char f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- char t = Ten;
- char f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- char t = Id((char)10);
- char f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- char t = Id(Ten);
- char f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- char t = Id((char)10);
- char f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- char t = Id(Ten);
- char f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- char t = (char) 10;
- char f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- char t = Ten;
- char f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- char t = (char) 5;
- char f = F00((char)(2 * t));
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- char t = Five;
- char f = F00((char)(2 * t));
- return (f == 100);
- }
-
- static char F01(char x)
- {
- return (char)(1000 / x);
- }
-
- static bool Bench01p()
- {
- char t = (char) 10;
- char f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- char t = Ten;
- char f = F01(t);
- return (f == 100);
- }
-
- static char F02(char x)
- {
- return (char) (20 * (x / 2));
- }
-
- static bool Bench02p()
- {
- char t = (char) 10;
- char f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- char t = Ten;
- char f = F02(t);
- return (f == 100);
- }
-
- static char F03(char x)
- {
- return (char)(91 + 1009 % x);
- }
-
- static bool Bench03p()
- {
- char t = (char) 10;
- char f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- char t = Ten;
- char f = F03(t);
- return (f == 100);
- }
-
- static char F04(char x)
- {
- return (char)(50 * (x % 4));
- }
-
- static bool Bench04p()
- {
- char t = (char) 10;
- char f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- char t = Ten;
- char f = F04(t);
- return (f == 100);
- }
-
- static char F05(char x)
- {
- return (char)((1 << x) - 924);
- }
-
- static bool Bench05p()
- {
- char t = (char) 10;
- char f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- char t = Ten;
- char f = F05(t);
- return (f == 100);
- }
-
- static char F051(char x)
- {
- return (char)(102400 >> x);
- }
-
- static bool Bench05p1()
- {
- char t = (char) 10;
- char f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- char t = Ten;
- char f = F051(t);
- return (f == 100);
- }
-
- static char F06(char x)
- {
- return (char)(-x + 110);
- }
-
- static bool Bench06p()
- {
- char t = (char) 10;
- char f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- char t = Ten;
- char f = F06(t);
- return (f == 100);
- }
-
- static char F07(char x)
- {
- return (char)(~x + 111);
- }
-
- static bool Bench07p()
- {
- char t = (char) 10;
- char f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- char t = Ten;
- char f = F07(t);
- return (f == 100);
- }
-
- static char F071(char x)
- {
- return (char)((x ^ -1) + 111);
- }
-
- static bool Bench07p1()
- {
- char t = (char) 10;
- char f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- char t = Ten;
- char f = F071(t);
- return (f == 100);
- }
-
- static char F08(char x)
- {
- return (char)((x & 0x7) + 98);
- }
-
- static bool Bench08p()
- {
- char t = (char) 10;
- char f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- char t = Ten;
- char f = F08(t);
- return (f == 100);
- }
-
- static char F09(char x)
- {
- return (char)((x | 0x7) + 85);
- }
-
- static bool Bench09p()
- {
- char t = (char) 10;
- char f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- char t = Ten;
- char f = F09(t);
- return (f == 100);
- }
-
- // Chars feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static char F10(char x)
- {
- return x == 10 ? (char) 100 : (char) 0;
- }
-
- static bool Bench10p()
- {
- char t = (char) 10;
- char f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- char t = Ten;
- char f = F10(t);
- return (f == 100);
- }
-
- static char F101(char x)
- {
- return x != 10 ? (char) 0 : (char) 100;
- }
-
- static bool Bench10p1()
- {
- char t = (char) 10;
- char f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- char t = Ten;
- char f = F101(t);
- return (f == 100);
- }
-
- static char F102(char x)
- {
- return x >= 10 ? (char) 100 : (char) 0;
- }
-
- static bool Bench10p2()
- {
- char t = (char) 10;
- char f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- char t = Ten;
- char f = F102(t);
- return (f == 100);
- }
-
- static char F103(char x)
- {
- return x <= 10 ? (char) 100 : (char) 0;
- }
-
- static bool Bench10p3()
- {
- char t = (char) 10;
- char f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- char t = Ten;
- char f = F102(t);
- return (f == 100);
- }
-
- static char F11(char x)
- {
- if (x == 10)
- {
- return (char) 100;
- }
- else
- {
- return (char) 0;
- }
- }
-
- static bool Bench11p()
- {
- char t = (char) 10;
- char f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- char t = Ten;
- char f = F11(t);
- return (f == 100);
- }
-
- static char F111(char x)
- {
- if (x != 10)
- {
- return (char) 0;
- }
- else
- {
- return (char) 100;
- }
- }
-
- static bool Bench11p1()
- {
- char t = (char) 10;
- char f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- char t = Ten;
- char f = F111(t);
- return (f == 100);
- }
-
- static char F112(char x)
- {
- if (x > 10)
- {
- return (char) 0;
- }
- else
- {
- return (char) 100;
- }
- }
-
- static bool Bench11p2()
- {
- char t = (char) 10;
- char f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- char t = Ten;
- char f = F112(t);
- return (f == 100);
- }
- static char F113(char x)
- {
- if (x < 10)
- {
- return (char) 0;
- }
- else
- {
- return (char) 100;
- }
- }
-
- static bool Bench11p3()
- {
- char t = (char) 10;
- char f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- char t = Ten;
- char f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static char F20(char x)
- {
- return (char) 100;
- }
-
- static bool Bench20p()
- {
- char t = (char) 10;
- char f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- char t = Ten;
- char f = F20(t);
- return (f == 100);
- }
-
- static char F21(char x)
- {
- return (char)(-x + 100 + x);
- }
-
- static bool Bench21p()
- {
- char t = (char) 10;
- char f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- char t = Ten;
- char f = F21(t);
- return (f == 100);
- }
-
- static char F211(char x)
- {
- return (char)(x - x + 100);
- }
-
- static bool Bench21p1()
- {
- char t = (char) 10;
- char f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- char t = Ten;
- char f = F211(t);
- return (f == 100);
- }
-
- static char F22(char x)
- {
- if (x > 0)
- {
- return (char) 100;
- }
-
- return (char) 100;
- }
-
- static bool Bench22p()
- {
- char t = (char) 10;
- char f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- char t = Ten;
- char f = F22(t);
- return (f == 100);
- }
-
- static char F23(char x)
- {
- if (x > 0)
- {
- return (char)(90 + x);
- }
-
- return (char) 100;
- }
-
- static bool Bench23p()
- {
- char t = (char) 10;
- char f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- char t = Ten;
- char f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static char F30(char x, char y)
- {
- return (char)(y * y);
- }
-
- static bool Bench30p()
- {
- char t = (char) 10;
- char f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- char t = Ten;
- char f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- char s = Ten;
- char t = (char) 10;
- char f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- char s = (char) 10;
- char t = Ten;
- char f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- char s = (char) 10;
- char t = (char) 10;
- char f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- char s = Ten;
- char t = Ten;
- char f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- char s = (char) 10;
- char t = s;
- char f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- char s = Ten;
- char t = s;
- char f = F30(s, t);
- return (f == 100);
- }
-
- static char F31(char x, char y, char z)
- {
- return (char)(z * z);
- }
-
- static bool Bench31p()
- {
- char t = (char) 10;
- char f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- char t = Ten;
- char f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- char r = Ten;
- char s = Ten;
- char t = (char) 10;
- char f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- char r = (char) 10;
- char s = (char) 10;
- char t = Ten;
- char f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- char r = (char) 10;
- char s = (char) 10;
- char t = (char) 10;
- char f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- char r = Ten;
- char s = Ten;
- char t = Ten;
- char f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- char r = (char) 10;
- char s = r;
- char t = s;
- char f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- char r = Ten;
- char s = r;
- char t = s;
- char f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static char F40(char x, char y)
- {
- return (char)(x * x + y * y - 100);
- }
-
- static bool Bench40p()
- {
- char t = (char) 10;
- char f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- char t = Ten;
- char f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- char s = Ten;
- char t = (char) 10;
- char f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- char s = (char) 10;
- char t = Ten;
- char f = F40(s, t);
- return (f == 100);
- }
-
- static char F41(char x, char y)
- {
- return (char)(x * y);
- }
-
- static bool Bench41p()
- {
- char t = (char) 10;
- char f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- char t = Ten;
- char f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- char s = (char) 10;
- char t = Ten;
- char f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- char s = Ten;
- char t = (char) 10;
- char f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsChar).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj
deleted file mode 100644
index a3e1203570..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsChar.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs
deleted file mode 100644
index 4bd5683f0c..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs
+++ /dev/null
@@ -1,813 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsDouble
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Doubles feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static double Five = 5;
- static double Ten = 10;
-
- static double Id(double x)
- {
- return x;
- }
-
- static double F00(double x)
- {
- return x * x;
- }
-
- static bool Bench00p()
- {
- double t = 10;
- double f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- double t = Ten;
- double f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- double t = Id(10);
- double f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- double t = Id(Ten);
- double f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- double t = Id(10);
- double f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- double t = Id(Ten);
- double f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- double t = 10;
- double f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- double t = Ten;
- double f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- double t = 5;
- double f = F00(2 * t);
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- double t = Five;
- double f = F00(2 * t);
- return (f == 100);
- }
-
- static double F01(double x)
- {
- return 1000 / x;
- }
-
- static bool Bench01p()
- {
- double t = 10;
- double f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- double t = Ten;
- double f = F01(t);
- return (f == 100);
- }
-
- static double F02(double x)
- {
- return 20 * (x / 2);
- }
-
- static bool Bench02p()
- {
- double t = 10;
- double f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- double t = Ten;
- double f = F02(t);
- return (f == 100);
- }
-
- static double F03(double x)
- {
- return 91 + 1009 % x;
- }
-
- static bool Bench03p()
- {
- double t = 10;
- double f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- double t = Ten;
- double f = F03(t);
- return (f == 100);
- }
-
- static double F04(double x)
- {
- return 50 * (x % 4);
- }
-
- static bool Bench04p()
- {
- double t = 10;
- double f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- double t = Ten;
- double f = F04(t);
- return (f == 100);
- }
-
- static double F06(double x)
- {
- return -x + 110;
- }
-
- static bool Bench06p()
- {
- double t = 10;
- double f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- double t = Ten;
- double f = F06(t);
- return (f == 100);
- }
-
- // Doubles feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static double F10(double x)
- {
- return x == 10 ? 100 : 0;
- }
-
- static bool Bench10p()
- {
- double t = 10;
- double f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- double t = Ten;
- double f = F10(t);
- return (f == 100);
- }
-
- static double F101(double x)
- {
- return x != 10 ? 0 : 100;
- }
-
- static bool Bench10p1()
- {
- double t = 10;
- double f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- double t = Ten;
- double f = F101(t);
- return (f == 100);
- }
-
- static double F102(double x)
- {
- return x >= 10 ? 100 : 0;
- }
-
- static bool Bench10p2()
- {
- double t = 10;
- double f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- double t = Ten;
- double f = F102(t);
- return (f == 100);
- }
-
- static double F103(double x)
- {
- return x <= 10 ? 100 : 0;
- }
-
- static bool Bench10p3()
- {
- double t = 10;
- double f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- double t = Ten;
- double f = F102(t);
- return (f == 100);
- }
-
- static double F11(double x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- double t = 10;
- double f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- double t = Ten;
- double f = F11(t);
- return (f == 100);
- }
-
- static double F111(double x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- double t = 10;
- double f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- double t = Ten;
- double f = F111(t);
- return (f == 100);
- }
-
- static double F112(double x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- double t = 10;
- double f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- double t = Ten;
- double f = F112(t);
- return (f == 100);
- }
- static double F113(double x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- double t = 10;
- double f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- double t = Ten;
- double f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static double F20(double x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- double t = 10;
- double f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- double t = Ten;
- double f = F20(t);
- return (f == 100);
- }
-
- static double F21(double x)
- {
- return -x + 100 + x;
- }
-
- static bool Bench21p()
- {
- double t = 10;
- double f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- double t = Ten;
- double f = F21(t);
- return (f == 100);
- }
-
- static double F211(double x)
- {
- return x - x + 100;
- }
-
- static bool Bench21p1()
- {
- double t = 10;
- double f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- double t = Ten;
- double f = F211(t);
- return (f == 100);
- }
-
- static double F22(double x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- double t = 10;
- double f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- double t = Ten;
- double f = F22(t);
- return (f == 100);
- }
-
- static double F23(double x)
- {
- if (x > 0)
- {
- return 90 + x;
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- double t = 10;
- double f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- double t = Ten;
- double f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static double F30(double x, double y)
- {
- return y * y;
- }
-
- static bool Bench30p()
- {
- double t = 10;
- double f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- double t = Ten;
- double f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- double s = Ten;
- double t = 10;
- double f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- double s = 10;
- double t = Ten;
- double f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- double s = 10;
- double t = 10;
- double f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- double s = Ten;
- double t = Ten;
- double f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- double s = 10;
- double t = s;
- double f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- double s = Ten;
- double t = s;
- double f = F30(s, t);
- return (f == 100);
- }
-
- static double F31(double x, double y, double z)
- {
- return z * z;
- }
-
- static bool Bench31p()
- {
- double t = 10;
- double f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- double t = Ten;
- double f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- double r = Ten;
- double s = Ten;
- double t = 10;
- double f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- double r = 10;
- double s = 10;
- double t = Ten;
- double f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- double r = 10;
- double s = 10;
- double t = 10;
- double f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- double r = Ten;
- double s = Ten;
- double t = Ten;
- double f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- double r = 10;
- double s = r;
- double t = s;
- double f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- double r = Ten;
- double s = r;
- double t = s;
- double f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static double F40(double x, double y)
- {
- return x * x + y * y - 100;
- }
-
- static bool Bench40p()
- {
- double t = 10;
- double f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- double t = Ten;
- double f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- double s = Ten;
- double t = 10;
- double f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- double s = 10;
- double t = Ten;
- double f = F40(s, t);
- return (f == 100);
- }
-
- static double F41(double x, double y)
- {
- return x * y;
- }
-
- static bool Bench41p()
- {
- double t = 10;
- double f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- double t = Ten;
- double f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- double s = 10;
- double t = Ten;
- double f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- double s = Ten;
- double t = 10;
- double f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench06p", "Bench06n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsDouble).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj
deleted file mode 100644
index beb3776b17..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsDouble.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs
deleted file mode 100644
index f609a4bb44..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs
+++ /dev/null
@@ -1,813 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsFloat
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Floats feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static float Five = 5;
- static float Ten = 10;
-
- static float Id(float x)
- {
- return x;
- }
-
- static float F00(float x)
- {
- return x * x;
- }
-
- static bool Bench00p()
- {
- float t = 10;
- float f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- float t = Ten;
- float f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- float t = Id(10);
- float f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- float t = Id(Ten);
- float f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- float t = Id(10);
- float f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- float t = Id(Ten);
- float f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- float t = 10;
- float f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- float t = Ten;
- float f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- float t = 5;
- float f = F00(2 * t);
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- float t = Five;
- float f = F00(2 * t);
- return (f == 100);
- }
-
- static float F01(float x)
- {
- return 1000 / x;
- }
-
- static bool Bench01p()
- {
- float t = 10;
- float f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- float t = Ten;
- float f = F01(t);
- return (f == 100);
- }
-
- static float F02(float x)
- {
- return 20 * (x / 2);
- }
-
- static bool Bench02p()
- {
- float t = 10;
- float f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- float t = Ten;
- float f = F02(t);
- return (f == 100);
- }
-
- static float F03(float x)
- {
- return 91 + 1009 % x;
- }
-
- static bool Bench03p()
- {
- float t = 10;
- float f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- float t = Ten;
- float f = F03(t);
- return (f == 100);
- }
-
- static float F04(float x)
- {
- return 50 * (x % 4);
- }
-
- static bool Bench04p()
- {
- float t = 10;
- float f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- float t = Ten;
- float f = F04(t);
- return (f == 100);
- }
-
- static float F06(float x)
- {
- return -x + 110;
- }
-
- static bool Bench06p()
- {
- float t = 10;
- float f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- float t = Ten;
- float f = F06(t);
- return (f == 100);
- }
-
- // Floats feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static float F10(float x)
- {
- return x == 10 ? 100 : 0;
- }
-
- static bool Bench10p()
- {
- float t = 10;
- float f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- float t = Ten;
- float f = F10(t);
- return (f == 100);
- }
-
- static float F101(float x)
- {
- return x != 10 ? 0 : 100;
- }
-
- static bool Bench10p1()
- {
- float t = 10;
- float f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- float t = Ten;
- float f = F101(t);
- return (f == 100);
- }
-
- static float F102(float x)
- {
- return x >= 10 ? 100 : 0;
- }
-
- static bool Bench10p2()
- {
- float t = 10;
- float f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- float t = Ten;
- float f = F102(t);
- return (f == 100);
- }
-
- static float F103(float x)
- {
- return x <= 10 ? 100 : 0;
- }
-
- static bool Bench10p3()
- {
- float t = 10;
- float f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- float t = Ten;
- float f = F102(t);
- return (f == 100);
- }
-
- static float F11(float x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- float t = 10;
- float f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- float t = Ten;
- float f = F11(t);
- return (f == 100);
- }
-
- static float F111(float x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- float t = 10;
- float f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- float t = Ten;
- float f = F111(t);
- return (f == 100);
- }
-
- static float F112(float x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- float t = 10;
- float f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- float t = Ten;
- float f = F112(t);
- return (f == 100);
- }
- static float F113(float x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- float t = 10;
- float f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- float t = Ten;
- float f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static float F20(float x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- float t = 10;
- float f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- float t = Ten;
- float f = F20(t);
- return (f == 100);
- }
-
- static float F21(float x)
- {
- return -x + 100 + x;
- }
-
- static bool Bench21p()
- {
- float t = 10;
- float f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- float t = Ten;
- float f = F21(t);
- return (f == 100);
- }
-
- static float F211(float x)
- {
- return x - x + 100;
- }
-
- static bool Bench21p1()
- {
- float t = 10;
- float f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- float t = Ten;
- float f = F211(t);
- return (f == 100);
- }
-
- static float F22(float x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- float t = 10;
- float f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- float t = Ten;
- float f = F22(t);
- return (f == 100);
- }
-
- static float F23(float x)
- {
- if (x > 0)
- {
- return 90 + x;
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- float t = 10;
- float f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- float t = Ten;
- float f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static float F30(float x, float y)
- {
- return y * y;
- }
-
- static bool Bench30p()
- {
- float t = 10;
- float f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- float t = Ten;
- float f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- float s = Ten;
- float t = 10;
- float f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- float s = 10;
- float t = Ten;
- float f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- float s = 10;
- float t = 10;
- float f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- float s = Ten;
- float t = Ten;
- float f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- float s = 10;
- float t = s;
- float f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- float s = Ten;
- float t = s;
- float f = F30(s, t);
- return (f == 100);
- }
-
- static float F31(float x, float y, float z)
- {
- return z * z;
- }
-
- static bool Bench31p()
- {
- float t = 10;
- float f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- float t = Ten;
- float f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- float r = Ten;
- float s = Ten;
- float t = 10;
- float f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- float r = 10;
- float s = 10;
- float t = Ten;
- float f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- float r = 10;
- float s = 10;
- float t = 10;
- float f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- float r = Ten;
- float s = Ten;
- float t = Ten;
- float f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- float r = 10;
- float s = r;
- float t = s;
- float f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- float r = Ten;
- float s = r;
- float t = s;
- float f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static float F40(float x, float y)
- {
- return x * x + y * y - 100;
- }
-
- static bool Bench40p()
- {
- float t = 10;
- float f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- float t = Ten;
- float f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- float s = Ten;
- float t = 10;
- float f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- float s = 10;
- float t = Ten;
- float f = F40(s, t);
- return (f == 100);
- }
-
- static float F41(float x, float y)
- {
- return x * y;
- }
-
- static bool Bench41p()
- {
- float t = 10;
- float f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- float t = Ten;
- float f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- float s = 10;
- float t = Ten;
- float f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- float s = Ten;
- float t = 10;
- float f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench06p", "Bench06n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsFloat).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj
deleted file mode 100644
index bb859c09c5..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsFloat.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs
deleted file mode 100644
index f54e800d17..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsInt
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Ints feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static int Five = 5;
- static int Ten = 10;
-
- static int Id(int x)
- {
- return x;
- }
-
- static int F00(int x)
- {
- return x * x;
- }
-
- static bool Bench00p()
- {
- int t = 10;
- int f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- int t = Ten;
- int f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- int t = Id(10);
- int f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- int t = Id(Ten);
- int f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- int t = Id(10);
- int f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- int t = Id(Ten);
- int f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- int t = 10;
- int f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- int t = Ten;
- int f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- int t = 5;
- int f = F00(2 * t);
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- int t = Five;
- int f = F00(2 * t);
- return (f == 100);
- }
-
- static int F01(int x)
- {
- return 1000 / x;
- }
-
- static bool Bench01p()
- {
- int t = 10;
- int f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- int t = Ten;
- int f = F01(t);
- return (f == 100);
- }
-
- static int F02(int x)
- {
- return 20 * (x / 2);
- }
-
- static bool Bench02p()
- {
- int t = 10;
- int f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- int t = Ten;
- int f = F02(t);
- return (f == 100);
- }
-
- static int F03(int x)
- {
- return 91 + 1009 % x;
- }
-
- static bool Bench03p()
- {
- int t = 10;
- int f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- int t = Ten;
- int f = F03(t);
- return (f == 100);
- }
-
- static int F04(int x)
- {
- return 50 * (x % 4);
- }
-
- static bool Bench04p()
- {
- int t = 10;
- int f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- int t = Ten;
- int f = F04(t);
- return (f == 100);
- }
-
- static int F05(int x)
- {
- return (1 << x) - 924;
- }
-
- static bool Bench05p()
- {
- int t = 10;
- int f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- int t = Ten;
- int f = F05(t);
- return (f == 100);
- }
-
- static int F051(int x)
- {
- return (102400 >> x);
- }
-
- static bool Bench05p1()
- {
- int t = 10;
- int f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- int t = Ten;
- int f = F051(t);
- return (f == 100);
- }
-
- static int F06(int x)
- {
- return -x + 110;
- }
-
- static bool Bench06p()
- {
- int t = 10;
- int f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- int t = Ten;
- int f = F06(t);
- return (f == 100);
- }
-
- static int F07(int x)
- {
- return ~x + 111;
- }
-
- static bool Bench07p()
- {
- int t = 10;
- int f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- int t = Ten;
- int f = F07(t);
- return (f == 100);
- }
-
- static int F071(int x)
- {
- return (x ^ -1) + 111;
- }
-
- static bool Bench07p1()
- {
- int t = 10;
- int f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- int t = Ten;
- int f = F071(t);
- return (f == 100);
- }
-
- static int F08(int x)
- {
- return (x & 0x7) + 98;
- }
-
- static bool Bench08p()
- {
- int t = 10;
- int f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- int t = Ten;
- int f = F08(t);
- return (f == 100);
- }
-
- static int F09(int x)
- {
- return (x | 0x7) + 85;
- }
-
- static bool Bench09p()
- {
- int t = 10;
- int f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- int t = Ten;
- int f = F09(t);
- return (f == 100);
- }
-
- // Ints feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static int F10(int x)
- {
- return x == 10 ? 100 : 0;
- }
-
- static bool Bench10p()
- {
- int t = 10;
- int f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- int t = Ten;
- int f = F10(t);
- return (f == 100);
- }
-
- static int F101(int x)
- {
- return x != 10 ? 0 : 100;
- }
-
- static bool Bench10p1()
- {
- int t = 10;
- int f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- int t = Ten;
- int f = F101(t);
- return (f == 100);
- }
-
- static int F102(int x)
- {
- return x >= 10 ? 100 : 0;
- }
-
- static bool Bench10p2()
- {
- int t = 10;
- int f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- int t = Ten;
- int f = F102(t);
- return (f == 100);
- }
-
- static int F103(int x)
- {
- return x <= 10 ? 100 : 0;
- }
-
- static bool Bench10p3()
- {
- int t = 10;
- int f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- int t = Ten;
- int f = F102(t);
- return (f == 100);
- }
-
- static int F11(int x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- int t = 10;
- int f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- int t = Ten;
- int f = F11(t);
- return (f == 100);
- }
-
- static int F111(int x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- int t = 10;
- int f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- int t = Ten;
- int f = F111(t);
- return (f == 100);
- }
-
- static int F112(int x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- int t = 10;
- int f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- int t = Ten;
- int f = F112(t);
- return (f == 100);
- }
- static int F113(int x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- int t = 10;
- int f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- int t = Ten;
- int f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static int F20(int x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- int t = 10;
- int f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- int t = Ten;
- int f = F20(t);
- return (f == 100);
- }
-
- static int F21(int x)
- {
- return -x + 100 + x;
- }
-
- static bool Bench21p()
- {
- int t = 10;
- int f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- int t = Ten;
- int f = F21(t);
- return (f == 100);
- }
-
- static int F211(int x)
- {
- return x - x + 100;
- }
-
- static bool Bench21p1()
- {
- int t = 10;
- int f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- int t = Ten;
- int f = F211(t);
- return (f == 100);
- }
-
- static int F22(int x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- int t = 10;
- int f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- int t = Ten;
- int f = F22(t);
- return (f == 100);
- }
-
- static int F23(int x)
- {
- if (x > 0)
- {
- return 90 + x;
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- int t = 10;
- int f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- int t = Ten;
- int f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static int F30(int x, int y)
- {
- return y * y;
- }
-
- static bool Bench30p()
- {
- int t = 10;
- int f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- int t = Ten;
- int f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- int s = Ten;
- int t = 10;
- int f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- int s = 10;
- int t = Ten;
- int f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- int s = 10;
- int t = 10;
- int f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- int s = Ten;
- int t = Ten;
- int f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- int s = 10;
- int t = s;
- int f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- int s = Ten;
- int t = s;
- int f = F30(s, t);
- return (f == 100);
- }
-
- static int F31(int x, int y, int z)
- {
- return z * z;
- }
-
- static bool Bench31p()
- {
- int t = 10;
- int f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- int t = Ten;
- int f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- int r = Ten;
- int s = Ten;
- int t = 10;
- int f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- int r = 10;
- int s = 10;
- int t = Ten;
- int f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- int r = 10;
- int s = 10;
- int t = 10;
- int f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- int r = Ten;
- int s = Ten;
- int t = Ten;
- int f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- int r = 10;
- int s = r;
- int t = s;
- int f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- int r = Ten;
- int s = r;
- int t = s;
- int f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static int F40(int x, int y)
- {
- return x * x + y * y - 100;
- }
-
- static bool Bench40p()
- {
- int t = 10;
- int f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- int t = Ten;
- int f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- int s = Ten;
- int t = 10;
- int f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- int s = 10;
- int t = Ten;
- int f = F40(s, t);
- return (f == 100);
- }
-
- static int F41(int x, int y)
- {
- return x * y;
- }
-
- static bool Bench41p()
- {
- int t = 10;
- int f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- int t = Ten;
- int f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- int s = 10;
- int t = Ten;
- int f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- int s = Ten;
- int t = 10;
- int f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsInt).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj
deleted file mode 100644
index 112d35c9c5..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsInt.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs
deleted file mode 100644
index e5679f1638..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsLong
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Longs feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static long Five = 5;
- static long Ten = 10;
-
- static long Id(long x)
- {
- return x;
- }
-
- static long F00(long x)
- {
- return x * x;
- }
-
- static bool Bench00p()
- {
- long t = 10;
- long f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- long t = Ten;
- long f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- long t = Id(10);
- long f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- long t = Id(Ten);
- long f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- long t = Id(10);
- long f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- long t = Id(Ten);
- long f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- long t = 10;
- long f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- long t = Ten;
- long f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- long t = 5;
- long f = F00(2 * t);
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- long t = Five;
- long f = F00(2 * t);
- return (f == 100);
- }
-
- static long F01(long x)
- {
- return 1000 / x;
- }
-
- static bool Bench01p()
- {
- long t = 10;
- long f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- long t = Ten;
- long f = F01(t);
- return (f == 100);
- }
-
- static long F02(long x)
- {
- return 20 * (x / 2);
- }
-
- static bool Bench02p()
- {
- long t = 10;
- long f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- long t = Ten;
- long f = F02(t);
- return (f == 100);
- }
-
- static long F03(long x)
- {
- return 91 + 1009 % x;
- }
-
- static bool Bench03p()
- {
- long t = 10;
- long f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- long t = Ten;
- long f = F03(t);
- return (f == 100);
- }
-
- static long F04(long x)
- {
- return 50 * (x % 4);
- }
-
- static bool Bench04p()
- {
- long t = 10;
- long f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- long t = Ten;
- long f = F04(t);
- return (f == 100);
- }
-
- static long F05(long x)
- {
- return (1 << (int) x) - 924;
- }
-
- static bool Bench05p()
- {
- long t = 10;
- long f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- long t = Ten;
- long f = F05(t);
- return (f == 100);
- }
-
- static long F051(long x)
- {
- return (102400 >> (int) x);
- }
-
- static bool Bench05p1()
- {
- long t = 10;
- long f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- long t = Ten;
- long f = F051(t);
- return (f == 100);
- }
-
- static long F06(long x)
- {
- return -x + 110;
- }
-
- static bool Bench06p()
- {
- long t = 10;
- long f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- long t = Ten;
- long f = F06(t);
- return (f == 100);
- }
-
- static long F07(long x)
- {
- return ~x + 111;
- }
-
- static bool Bench07p()
- {
- long t = 10;
- long f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- long t = Ten;
- long f = F07(t);
- return (f == 100);
- }
-
- static long F071(long x)
- {
- return (x ^ -1) + 111;
- }
-
- static bool Bench07p1()
- {
- long t = 10;
- long f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- long t = Ten;
- long f = F071(t);
- return (f == 100);
- }
-
- static long F08(long x)
- {
- return (x & 0x7) + 98;
- }
-
- static bool Bench08p()
- {
- long t = 10;
- long f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- long t = Ten;
- long f = F08(t);
- return (f == 100);
- }
-
- static long F09(long x)
- {
- return (x | 0x7) + 85;
- }
-
- static bool Bench09p()
- {
- long t = 10;
- long f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- long t = Ten;
- long f = F09(t);
- return (f == 100);
- }
-
- // Longs feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static long F10(long x)
- {
- return x == 10 ? 100 : 0;
- }
-
- static bool Bench10p()
- {
- long t = 10;
- long f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- long t = Ten;
- long f = F10(t);
- return (f == 100);
- }
-
- static long F101(long x)
- {
- return x != 10 ? 0 : 100;
- }
-
- static bool Bench10p1()
- {
- long t = 10;
- long f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- long t = Ten;
- long f = F101(t);
- return (f == 100);
- }
-
- static long F102(long x)
- {
- return x >= 10 ? 100 : 0;
- }
-
- static bool Bench10p2()
- {
- long t = 10;
- long f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- long t = Ten;
- long f = F102(t);
- return (f == 100);
- }
-
- static long F103(long x)
- {
- return x <= 10 ? 100 : 0;
- }
-
- static bool Bench10p3()
- {
- long t = 10;
- long f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- long t = Ten;
- long f = F102(t);
- return (f == 100);
- }
-
- static long F11(long x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- long t = 10;
- long f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- long t = Ten;
- long f = F11(t);
- return (f == 100);
- }
-
- static long F111(long x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- long t = 10;
- long f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- long t = Ten;
- long f = F111(t);
- return (f == 100);
- }
-
- static long F112(long x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- long t = 10;
- long f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- long t = Ten;
- long f = F112(t);
- return (f == 100);
- }
- static long F113(long x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- long t = 10;
- long f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- long t = Ten;
- long f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static long F20(long x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- long t = 10;
- long f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- long t = Ten;
- long f = F20(t);
- return (f == 100);
- }
-
- static long F21(long x)
- {
- return -x + 100 + x;
- }
-
- static bool Bench21p()
- {
- long t = 10;
- long f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- long t = Ten;
- long f = F21(t);
- return (f == 100);
- }
-
- static long F211(long x)
- {
- return x - x + 100;
- }
-
- static bool Bench21p1()
- {
- long t = 10;
- long f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- long t = Ten;
- long f = F211(t);
- return (f == 100);
- }
-
- static long F22(long x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- long t = 10;
- long f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- long t = Ten;
- long f = F22(t);
- return (f == 100);
- }
-
- static long F23(long x)
- {
- if (x > 0)
- {
- return 90 + x;
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- long t = 10;
- long f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- long t = Ten;
- long f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static long F30(long x, long y)
- {
- return y * y;
- }
-
- static bool Bench30p()
- {
- long t = 10;
- long f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- long t = Ten;
- long f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- long s = Ten;
- long t = 10;
- long f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- long s = 10;
- long t = Ten;
- long f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- long s = 10;
- long t = 10;
- long f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- long s = Ten;
- long t = Ten;
- long f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- long s = 10;
- long t = s;
- long f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- long s = Ten;
- long t = s;
- long f = F30(s, t);
- return (f == 100);
- }
-
- static long F31(long x, long y, long z)
- {
- return z * z;
- }
-
- static bool Bench31p()
- {
- long t = 10;
- long f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- long t = Ten;
- long f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- long r = Ten;
- long s = Ten;
- long t = 10;
- long f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- long r = 10;
- long s = 10;
- long t = Ten;
- long f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- long r = 10;
- long s = 10;
- long t = 10;
- long f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- long r = Ten;
- long s = Ten;
- long t = Ten;
- long f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- long r = 10;
- long s = r;
- long t = s;
- long f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- long r = Ten;
- long s = r;
- long t = s;
- long f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static long F40(long x, long y)
- {
- return x * x + y * y - 100;
- }
-
- static bool Bench40p()
- {
- long t = 10;
- long f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- long t = Ten;
- long f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- long s = Ten;
- long t = 10;
- long f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- long s = 10;
- long t = Ten;
- long f = F40(s, t);
- return (f == 100);
- }
-
- static long F41(long x, long y)
- {
- return x * y;
- }
-
- static bool Bench41p()
- {
- long t = 10;
- long f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- long t = Ten;
- long f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- long s = 10;
- long t = Ten;
- long f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- long s = Ten;
- long t = 10;
- long f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsLong).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj
deleted file mode 100644
index 62499dc019..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsLong.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs
deleted file mode 100644
index 0ec29b8341..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsSByte
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Sbytes feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static sbyte Five = 5;
- static sbyte Ten = 10;
-
- static sbyte Id(sbyte x)
- {
- return x;
- }
-
- static sbyte F00(sbyte x)
- {
- return (sbyte) (x * x);
- }
-
- static bool Bench00p()
- {
- sbyte t = 10;
- sbyte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- sbyte t = Ten;
- sbyte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- sbyte t = Id(10);
- sbyte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- sbyte t = Id(Ten);
- sbyte f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- sbyte t = Id(10);
- sbyte f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- sbyte t = Id(Ten);
- sbyte f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- sbyte t = 10;
- sbyte f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- sbyte t = Ten;
- sbyte f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- sbyte t = 5;
- sbyte f = F00((sbyte)(2 * t));
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- sbyte t = Five;
- sbyte f = F00((sbyte)(2 * t));
- return (f == 100);
- }
-
- static sbyte F01(sbyte x)
- {
- return (sbyte)(1000 / x);
- }
-
- static bool Bench01p()
- {
- sbyte t = 10;
- sbyte f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- sbyte t = Ten;
- sbyte f = F01(t);
- return (f == 100);
- }
-
- static sbyte F02(sbyte x)
- {
- return (sbyte) (20 * (x / 2));
- }
-
- static bool Bench02p()
- {
- sbyte t = 10;
- sbyte f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- sbyte t = Ten;
- sbyte f = F02(t);
- return (f == 100);
- }
-
- static sbyte F03(sbyte x)
- {
- return (sbyte)(91 + 1009 % x);
- }
-
- static bool Bench03p()
- {
- sbyte t = 10;
- sbyte f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- sbyte t = Ten;
- sbyte f = F03(t);
- return (f == 100);
- }
-
- static sbyte F04(sbyte x)
- {
- return (sbyte)(50 * (x % 4));
- }
-
- static bool Bench04p()
- {
- sbyte t = 10;
- sbyte f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- sbyte t = Ten;
- sbyte f = F04(t);
- return (f == 100);
- }
-
- static sbyte F05(sbyte x)
- {
- return (sbyte)((1 << x) - 924);
- }
-
- static bool Bench05p()
- {
- sbyte t = 10;
- sbyte f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- sbyte t = Ten;
- sbyte f = F05(t);
- return (f == 100);
- }
-
- static sbyte F051(sbyte x)
- {
- return (sbyte)(102400 >> x);
- }
-
- static bool Bench05p1()
- {
- sbyte t = 10;
- sbyte f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- sbyte t = Ten;
- sbyte f = F051(t);
- return (f == 100);
- }
-
- static sbyte F06(sbyte x)
- {
- return (sbyte)(-x + 110);
- }
-
- static bool Bench06p()
- {
- sbyte t = 10;
- sbyte f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- sbyte t = Ten;
- sbyte f = F06(t);
- return (f == 100);
- }
-
- static sbyte F07(sbyte x)
- {
- return (sbyte)(~x + 111);
- }
-
- static bool Bench07p()
- {
- sbyte t = 10;
- sbyte f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- sbyte t = Ten;
- sbyte f = F07(t);
- return (f == 100);
- }
-
- static sbyte F071(sbyte x)
- {
- return (sbyte)((x ^ -1) + 111);
- }
-
- static bool Bench07p1()
- {
- sbyte t = 10;
- sbyte f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- sbyte t = Ten;
- sbyte f = F071(t);
- return (f == 100);
- }
-
- static sbyte F08(sbyte x)
- {
- return (sbyte)((x & 0x7) + 98);
- }
-
- static bool Bench08p()
- {
- sbyte t = 10;
- sbyte f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- sbyte t = Ten;
- sbyte f = F08(t);
- return (f == 100);
- }
-
- static sbyte F09(sbyte x)
- {
- return (sbyte)((x | 0x7) + 85);
- }
-
- static bool Bench09p()
- {
- sbyte t = 10;
- sbyte f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- sbyte t = Ten;
- sbyte f = F09(t);
- return (f == 100);
- }
-
- // Sbytes feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static sbyte F10(sbyte x)
- {
- return x == 10 ? (sbyte) 100 : (sbyte) 0;
- }
-
- static bool Bench10p()
- {
- sbyte t = 10;
- sbyte f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- sbyte t = Ten;
- sbyte f = F10(t);
- return (f == 100);
- }
-
- static sbyte F101(sbyte x)
- {
- return x != 10 ? (sbyte) 0 : (sbyte) 100;
- }
-
- static bool Bench10p1()
- {
- sbyte t = 10;
- sbyte f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- sbyte t = Ten;
- sbyte f = F101(t);
- return (f == 100);
- }
-
- static sbyte F102(sbyte x)
- {
- return x >= 10 ? (sbyte) 100 : (sbyte) 0;
- }
-
- static bool Bench10p2()
- {
- sbyte t = 10;
- sbyte f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- sbyte t = Ten;
- sbyte f = F102(t);
- return (f == 100);
- }
-
- static sbyte F103(sbyte x)
- {
- return x <= 10 ? (sbyte) 100 : (sbyte) 0;
- }
-
- static bool Bench10p3()
- {
- sbyte t = 10;
- sbyte f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- sbyte t = Ten;
- sbyte f = F102(t);
- return (f == 100);
- }
-
- static sbyte F11(sbyte x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- sbyte t = 10;
- sbyte f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- sbyte t = Ten;
- sbyte f = F11(t);
- return (f == 100);
- }
-
- static sbyte F111(sbyte x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- sbyte t = 10;
- sbyte f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- sbyte t = Ten;
- sbyte f = F111(t);
- return (f == 100);
- }
-
- static sbyte F112(sbyte x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- sbyte t = 10;
- sbyte f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- sbyte t = Ten;
- sbyte f = F112(t);
- return (f == 100);
- }
- static sbyte F113(sbyte x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- sbyte t = 10;
- sbyte f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- sbyte t = Ten;
- sbyte f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static sbyte F20(sbyte x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- sbyte t = 10;
- sbyte f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- sbyte t = Ten;
- sbyte f = F20(t);
- return (f == 100);
- }
-
- static sbyte F21(sbyte x)
- {
- return (sbyte)(-x + 100 + x);
- }
-
- static bool Bench21p()
- {
- sbyte t = 10;
- sbyte f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- sbyte t = Ten;
- sbyte f = F21(t);
- return (f == 100);
- }
-
- static sbyte F211(sbyte x)
- {
- return (sbyte)(x - x + 100);
- }
-
- static bool Bench21p1()
- {
- sbyte t = 10;
- sbyte f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- sbyte t = Ten;
- sbyte f = F211(t);
- return (f == 100);
- }
-
- static sbyte F22(sbyte x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- sbyte t = 10;
- sbyte f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- sbyte t = Ten;
- sbyte f = F22(t);
- return (f == 100);
- }
-
- static sbyte F23(sbyte x)
- {
- if (x > 0)
- {
- return (sbyte)(90 + x);
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- sbyte t = 10;
- sbyte f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- sbyte t = Ten;
- sbyte f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static sbyte F30(sbyte x, sbyte y)
- {
- return (sbyte)(y * y);
- }
-
- static bool Bench30p()
- {
- sbyte t = 10;
- sbyte f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- sbyte t = Ten;
- sbyte f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- sbyte s = Ten;
- sbyte t = 10;
- sbyte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- sbyte s = 10;
- sbyte t = Ten;
- sbyte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- sbyte s = 10;
- sbyte t = 10;
- sbyte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- sbyte s = Ten;
- sbyte t = Ten;
- sbyte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- sbyte s = 10;
- sbyte t = s;
- sbyte f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- sbyte s = Ten;
- sbyte t = s;
- sbyte f = F30(s, t);
- return (f == 100);
- }
-
- static sbyte F31(sbyte x, sbyte y, sbyte z)
- {
- return (sbyte)(z * z);
- }
-
- static bool Bench31p()
- {
- sbyte t = 10;
- sbyte f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- sbyte t = Ten;
- sbyte f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- sbyte r = Ten;
- sbyte s = Ten;
- sbyte t = 10;
- sbyte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- sbyte r = 10;
- sbyte s = 10;
- sbyte t = Ten;
- sbyte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- sbyte r = 10;
- sbyte s = 10;
- sbyte t = 10;
- sbyte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- sbyte r = Ten;
- sbyte s = Ten;
- sbyte t = Ten;
- sbyte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- sbyte r = 10;
- sbyte s = r;
- sbyte t = s;
- sbyte f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- sbyte r = Ten;
- sbyte s = r;
- sbyte t = s;
- sbyte f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static sbyte F40(sbyte x, sbyte y)
- {
- return (sbyte)(x * x + y * y - 100);
- }
-
- static bool Bench40p()
- {
- sbyte t = 10;
- sbyte f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- sbyte t = Ten;
- sbyte f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- sbyte s = Ten;
- sbyte t = 10;
- sbyte f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- sbyte s = 10;
- sbyte t = Ten;
- sbyte f = F40(s, t);
- return (f == 100);
- }
-
- static sbyte F41(sbyte x, sbyte y)
- {
- return (sbyte)(x * y);
- }
-
- static bool Bench41p()
- {
- sbyte t = 10;
- sbyte f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- sbyte t = Ten;
- sbyte f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- sbyte s = 10;
- sbyte t = Ten;
- sbyte f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- sbyte s = Ten;
- sbyte t = 10;
- sbyte f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsSByte).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj
deleted file mode 100644
index 52538e0fed..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsSByte.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs
deleted file mode 100644
index f8cf23e8da..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsShort
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Shorts feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static short Five = 5;
- static short Ten = 10;
-
- static short Id(short x)
- {
- return x;
- }
-
- static short F00(short x)
- {
- return (short) (x * x);
- }
-
- static bool Bench00p()
- {
- short t = 10;
- short f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- short t = Ten;
- short f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- short t = Id(10);
- short f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- short t = Id(Ten);
- short f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- short t = Id(10);
- short f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- short t = Id(Ten);
- short f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- short t = 10;
- short f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- short t = Ten;
- short f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- short t = 5;
- short f = F00((short)(2 * t));
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- short t = Five;
- short f = F00((short)(2 * t));
- return (f == 100);
- }
-
- static short F01(short x)
- {
- return (short)(1000 / x);
- }
-
- static bool Bench01p()
- {
- short t = 10;
- short f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- short t = Ten;
- short f = F01(t);
- return (f == 100);
- }
-
- static short F02(short x)
- {
- return (short) (20 * (x / 2));
- }
-
- static bool Bench02p()
- {
- short t = 10;
- short f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- short t = Ten;
- short f = F02(t);
- return (f == 100);
- }
-
- static short F03(short x)
- {
- return (short)(91 + 1009 % x);
- }
-
- static bool Bench03p()
- {
- short t = 10;
- short f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- short t = Ten;
- short f = F03(t);
- return (f == 100);
- }
-
- static short F04(short x)
- {
- return (short)(50 * (x % 4));
- }
-
- static bool Bench04p()
- {
- short t = 10;
- short f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- short t = Ten;
- short f = F04(t);
- return (f == 100);
- }
-
- static short F05(short x)
- {
- return (short)((1 << x) - 924);
- }
-
- static bool Bench05p()
- {
- short t = 10;
- short f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- short t = Ten;
- short f = F05(t);
- return (f == 100);
- }
-
- static short F051(short x)
- {
- return (short)(102400 >> x);
- }
-
- static bool Bench05p1()
- {
- short t = 10;
- short f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- short t = Ten;
- short f = F051(t);
- return (f == 100);
- }
-
- static short F06(short x)
- {
- return (short)(-x + 110);
- }
-
- static bool Bench06p()
- {
- short t = 10;
- short f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- short t = Ten;
- short f = F06(t);
- return (f == 100);
- }
-
- static short F07(short x)
- {
- return (short)(~x + 111);
- }
-
- static bool Bench07p()
- {
- short t = 10;
- short f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- short t = Ten;
- short f = F07(t);
- return (f == 100);
- }
-
- static short F071(short x)
- {
- return (short)((x ^ -1) + 111);
- }
-
- static bool Bench07p1()
- {
- short t = 10;
- short f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- short t = Ten;
- short f = F071(t);
- return (f == 100);
- }
-
- static short F08(short x)
- {
- return (short)((x & 0x7) + 98);
- }
-
- static bool Bench08p()
- {
- short t = 10;
- short f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- short t = Ten;
- short f = F08(t);
- return (f == 100);
- }
-
- static short F09(short x)
- {
- return (short)((x | 0x7) + 85);
- }
-
- static bool Bench09p()
- {
- short t = 10;
- short f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- short t = Ten;
- short f = F09(t);
- return (f == 100);
- }
-
- // Shorts feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static short F10(short x)
- {
- return x == 10 ? (short) 100 : (short) 0;
- }
-
- static bool Bench10p()
- {
- short t = 10;
- short f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- short t = Ten;
- short f = F10(t);
- return (f == 100);
- }
-
- static short F101(short x)
- {
- return x != 10 ? (short) 0 : (short) 100;
- }
-
- static bool Bench10p1()
- {
- short t = 10;
- short f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- short t = Ten;
- short f = F101(t);
- return (f == 100);
- }
-
- static short F102(short x)
- {
- return x >= 10 ? (short) 100 : (short) 0;
- }
-
- static bool Bench10p2()
- {
- short t = 10;
- short f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- short t = Ten;
- short f = F102(t);
- return (f == 100);
- }
-
- static short F103(short x)
- {
- return x <= 10 ? (short) 100 : (short) 0;
- }
-
- static bool Bench10p3()
- {
- short t = 10;
- short f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- short t = Ten;
- short f = F102(t);
- return (f == 100);
- }
-
- static short F11(short x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- short t = 10;
- short f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- short t = Ten;
- short f = F11(t);
- return (f == 100);
- }
-
- static short F111(short x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- short t = 10;
- short f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- short t = Ten;
- short f = F111(t);
- return (f == 100);
- }
-
- static short F112(short x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- short t = 10;
- short f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- short t = Ten;
- short f = F112(t);
- return (f == 100);
- }
- static short F113(short x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- short t = 10;
- short f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- short t = Ten;
- short f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static short F20(short x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- short t = 10;
- short f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- short t = Ten;
- short f = F20(t);
- return (f == 100);
- }
-
- static short F21(short x)
- {
- return (short)(-x + 100 + x);
- }
-
- static bool Bench21p()
- {
- short t = 10;
- short f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- short t = Ten;
- short f = F21(t);
- return (f == 100);
- }
-
- static short F211(short x)
- {
- return (short)(x - x + 100);
- }
-
- static bool Bench21p1()
- {
- short t = 10;
- short f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- short t = Ten;
- short f = F211(t);
- return (f == 100);
- }
-
- static short F22(short x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- short t = 10;
- short f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- short t = Ten;
- short f = F22(t);
- return (f == 100);
- }
-
- static short F23(short x)
- {
- if (x > 0)
- {
- return (short)(90 + x);
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- short t = 10;
- short f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- short t = Ten;
- short f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static short F30(short x, short y)
- {
- return (short)(y * y);
- }
-
- static bool Bench30p()
- {
- short t = 10;
- short f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- short t = Ten;
- short f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- short s = Ten;
- short t = 10;
- short f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- short s = 10;
- short t = Ten;
- short f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- short s = 10;
- short t = 10;
- short f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- short s = Ten;
- short t = Ten;
- short f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- short s = 10;
- short t = s;
- short f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- short s = Ten;
- short t = s;
- short f = F30(s, t);
- return (f == 100);
- }
-
- static short F31(short x, short y, short z)
- {
- return (short)(z * z);
- }
-
- static bool Bench31p()
- {
- short t = 10;
- short f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- short t = Ten;
- short f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- short r = Ten;
- short s = Ten;
- short t = 10;
- short f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- short r = 10;
- short s = 10;
- short t = Ten;
- short f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- short r = 10;
- short s = 10;
- short t = 10;
- short f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- short r = Ten;
- short s = Ten;
- short t = Ten;
- short f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- short r = 10;
- short s = r;
- short t = s;
- short f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- short r = Ten;
- short s = r;
- short t = s;
- short f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static short F40(short x, short y)
- {
- return (short)(x * x + y * y - 100);
- }
-
- static bool Bench40p()
- {
- short t = 10;
- short f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- short t = Ten;
- short f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- short s = Ten;
- short t = 10;
- short f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- short s = 10;
- short t = Ten;
- short f = F40(s, t);
- return (f == 100);
- }
-
- static short F41(short x, short y)
- {
- return (short)(x * y);
- }
-
- static bool Bench41p()
- {
- short t = 10;
- short f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- short t = Ten;
- short f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- short s = 10;
- short t = Ten;
- short f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- short s = Ten;
- short t = 10;
- short f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsShort).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj
deleted file mode 100644
index 0013834c8c..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsShort.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs
deleted file mode 100644
index 38a3f7e6b9..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs
+++ /dev/null
@@ -1,333 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-// Strings are the only ref class where there is built-in support for
-// constant objects.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsString
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Ints feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static string Ten = "Ten";
- static string Five = "Five";
-
- static string Id(string x)
- {
- return x;
- }
-
- static char F00(string x)
- {
- return x[0];
- }
-
- static bool Bench00p()
- {
- string t = "Ten";
- char f = F00(t);
- return (f == 'T');
- }
-
- static bool Bench00n()
- {
- string t = Ten;
- char f = F00(t);
- return (f == 'T');
- }
-
- static int F01(string x)
- {
- return x.Length;
- }
-
- static bool Bench01p()
- {
- string t = "Ten";
- int f = F01(t);
- return (f == 3);
- }
-
- static bool Bench01n()
- {
- string t = Ten;
- int f = F01(t);
- return (f == 3);
- }
-
- static bool Bench01p1()
- {
- return "Ten".Length == 3;
- }
-
- static bool Bench01n1()
- {
- return Ten.Length == 3;
- }
-
- static bool Bench02p()
- {
- return "Ten".Equals("Ten", StringComparison.Ordinal);
- }
-
- static bool Bench02n()
- {
- return "Ten".Equals(Ten, StringComparison.Ordinal);
- }
-
- static bool Bench02n1()
- {
- return Ten.Equals("Ten", StringComparison.Ordinal);
- }
-
- static bool Bench02n2()
- {
- return Ten.Equals(Ten, StringComparison.Ordinal);
- }
-
- static bool Bench03p()
- {
- return "Ten" == "Ten";
- }
-
- static bool Bench03n()
- {
- return "Ten" == Ten;
- }
-
- static bool Bench03n1()
- {
- return Ten == "Ten";
- }
-
- static bool Bench03n2()
- {
- return Ten == Ten;
- }
-
- static bool Bench04p()
- {
- return "Ten" != "Five";
- }
-
- static bool Bench04n()
- {
- return "Ten" != Five;
- }
-
- static bool Bench04n1()
- {
- return Ten != "Five";
- }
-
- static bool Bench04n2()
- {
- return Ten != Five;
- }
-
- static bool Bench05p()
- {
- string t = "Ten";
- return (t == t);
- }
-
- static bool Bench05n()
- {
- string t = Ten;
- return (t == t);
- }
-
- static bool Bench06p()
- {
- return "Ten" != null;
- }
-
- static bool Bench06n()
- {
- return Ten != null;
- }
-
- static bool Bench07p()
- {
- return !"Ten".Equals(null);
- }
-
- static bool Bench07n()
- {
- return !Ten.Equals(null);
- }
-
- static bool Bench08p()
- {
- return !"Ten".Equals("Five", StringComparison.Ordinal);
- }
-
- static bool Bench08n()
- {
- return !"Ten".Equals(Five, StringComparison.Ordinal);
- }
-
- static bool Bench08n1()
- {
- return !Ten.Equals("Five", StringComparison.Ordinal);
- }
-
- static bool Bench08n2()
- {
- return !Ten.Equals(Five, StringComparison.Ordinal);
- }
-
- static bool Bench09p()
- {
- return string.Equals("Ten", "Ten");
- }
-
- static bool Bench09n()
- {
- return string.Equals("Ten", Ten);
- }
-
- static bool Bench09n1()
- {
- return string.Equals(Ten, "Ten");
- }
-
- static bool Bench09n2()
- {
- return string.Equals(Ten, Ten);
- }
-
- static bool Bench10p()
- {
- return !string.Equals("Five", "Ten");
- }
-
- static bool Bench10n()
- {
- return !string.Equals(Five, "Ten");
- }
-
- static bool Bench10n1()
- {
- return !string.Equals("Five", Ten);
- }
-
- static bool Bench10n2()
- {
- return !string.Equals(Five, Ten);
- }
-
- static bool Bench11p()
- {
- return !string.Equals("Five", null);
- }
-
- static bool Bench11n()
- {
- return !string.Equals(Five, null);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench01p", "Bench01n",
- "Bench01p1", "Bench01n1",
- "Bench02p", "Bench02n",
- "Bench02n1", "Bench02n2",
- "Bench03p", "Bench03n",
- "Bench03n1", "Bench03n2",
- "Bench04p", "Bench04n",
- "Bench04n1", "Bench04n2",
- "Bench05p", "Bench05n",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench08p", "Bench08n",
- "Bench08n1", "Bench08n2",
- "Bench09p", "Bench09n",
- "Bench09n1", "Bench09n2",
- "Bench10p", "Bench10n",
- "Bench10n1", "Bench10n2",
- "Bench11p", "Bench11n"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsString).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj
deleted file mode 100644
index 5b5005edfb..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsString.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs
deleted file mode 100644
index e3f6e2aae8..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs
+++ /dev/null
@@ -1,893 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsUInt
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Ints feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static uint Five = 5;
- static uint Ten = 10;
-
- static uint Id(uint x)
- {
- return x;
- }
-
- static uint F00(uint x)
- {
- return x * x;
- }
-
- static bool Bench00p()
- {
- uint t = 10;
- uint f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- uint t = Ten;
- uint f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- uint t = Id(10);
- uint f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- uint t = Id(Ten);
- uint f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- uint t = Id(10);
- uint f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- uint t = Id(Ten);
- uint f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- uint t = 10;
- uint f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- uint t = Ten;
- uint f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- uint t = 5;
- uint f = F00(2 * t);
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- uint t = Five;
- uint f = F00(2 * t);
- return (f == 100);
- }
-
- static uint F01(uint x)
- {
- return 1000 / x;
- }
-
- static bool Bench01p()
- {
- uint t = 10;
- uint f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- uint t = Ten;
- uint f = F01(t);
- return (f == 100);
- }
-
- static uint F02(uint x)
- {
- return 20 * (x / 2);
- }
-
- static bool Bench02p()
- {
- uint t = 10;
- uint f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- uint t = Ten;
- uint f = F02(t);
- return (f == 100);
- }
-
- static uint F03(uint x)
- {
- return 91 + 1009 % x;
- }
-
- static bool Bench03p()
- {
- uint t = 10;
- uint f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- uint t = Ten;
- uint f = F03(t);
- return (f == 100);
- }
-
- static uint F04(uint x)
- {
- return 50 * (x % 4);
- }
-
- static bool Bench04p()
- {
- uint t = 10;
- uint f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- uint t = Ten;
- uint f = F04(t);
- return (f == 100);
- }
-
- static uint F06(uint x)
- {
- return 110 - x;
- }
-
- static bool Bench06p()
- {
- uint t = 10;
- uint f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- uint t = Ten;
- uint f = F06(t);
- return (f == 100);
- }
-
- static uint F07(uint x)
- {
- return ~x + 111;
- }
-
- static bool Bench07p()
- {
- uint t = 10;
- uint f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- uint t = Ten;
- uint f = F07(t);
- return (f == 100);
- }
-
- static uint F071(uint x)
- {
- return (x ^ 0xFFFFFFFF) + 111;
- }
-
- static bool Bench07p1()
- {
- uint t = 10;
- uint f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- uint t = Ten;
- uint f = F071(t);
- return (f == 100);
- }
-
- static uint F08(uint x)
- {
- return (x & 0x7) + 98;
- }
-
- static bool Bench08p()
- {
- uint t = 10;
- uint f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- uint t = Ten;
- uint f = F08(t);
- return (f == 100);
- }
-
- static uint F09(uint x)
- {
- return (x | 0x7) + 85;
- }
-
- static bool Bench09p()
- {
- uint t = 10;
- uint f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- uint t = Ten;
- uint f = F09(t);
- return (f == 100);
- }
-
- // Uints feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static uint F10(uint x)
- {
- return x == 10 ? 100u : 0u;
- }
-
- static bool Bench10p()
- {
- uint t = 10;
- uint f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- uint t = Ten;
- uint f = F10(t);
- return (f == 100);
- }
-
- static uint F101(uint x)
- {
- return x != 10 ? 0u : 100u;
- }
-
- static bool Bench10p1()
- {
- uint t = 10;
- uint f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- uint t = Ten;
- uint f = F101(t);
- return (f == 100);
- }
-
- static uint F102(uint x)
- {
- return x >= 10 ? 100u : 0u;
- }
-
- static bool Bench10p2()
- {
- uint t = 10;
- uint f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- uint t = Ten;
- uint f = F102(t);
- return (f == 100);
- }
-
- static uint F103(uint x)
- {
- return x <= 10 ? 100u : 0u;
- }
-
- static bool Bench10p3()
- {
- uint t = 10;
- uint f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- uint t = Ten;
- uint f = F102(t);
- return (f == 100);
- }
-
- static uint F11(uint x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- uint t = 10;
- uint f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- uint t = Ten;
- uint f = F11(t);
- return (f == 100);
- }
-
- static uint F111(uint x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- uint t = 10;
- uint f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- uint t = Ten;
- uint f = F111(t);
- return (f == 100);
- }
-
- static uint F112(uint x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- uint t = 10;
- uint f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- uint t = Ten;
- uint f = F112(t);
- return (f == 100);
- }
- static uint F113(uint x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- uint t = 10;
- uint f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- uint t = Ten;
- uint f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static uint F20(uint x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- uint t = 10;
- uint f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- uint t = Ten;
- uint f = F20(t);
- return (f == 100);
- }
-
- static uint F21(uint x)
- {
- return (uint) -x + 100 + x;
- }
-
- static bool Bench21p()
- {
- uint t = 10;
- uint f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- uint t = Ten;
- uint f = F21(t);
- return (f == 100);
- }
-
- static uint F211(uint x)
- {
- return x - x + 100;
- }
-
- static bool Bench21p1()
- {
- uint t = 10;
- uint f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- uint t = Ten;
- uint f = F211(t);
- return (f == 100);
- }
-
- static uint F22(uint x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- uint t = 10;
- uint f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- uint t = Ten;
- uint f = F22(t);
- return (f == 100);
- }
-
- static uint F23(uint x)
- {
- if (x > 0)
- {
- return 90 + x;
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- uint t = 10;
- uint f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- uint t = Ten;
- uint f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static uint F30(uint x, uint y)
- {
- return y * y;
- }
-
- static bool Bench30p()
- {
- uint t = 10;
- uint f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- uint t = Ten;
- uint f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- uint s = Ten;
- uint t = 10;
- uint f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- uint s = 10;
- uint t = Ten;
- uint f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- uint s = 10;
- uint t = 10;
- uint f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- uint s = Ten;
- uint t = Ten;
- uint f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- uint s = 10;
- uint t = s;
- uint f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- uint s = Ten;
- uint t = s;
- uint f = F30(s, t);
- return (f == 100);
- }
-
- static uint F31(uint x, uint y, uint z)
- {
- return z * z;
- }
-
- static bool Bench31p()
- {
- uint t = 10;
- uint f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- uint t = Ten;
- uint f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- uint r = Ten;
- uint s = Ten;
- uint t = 10;
- uint f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- uint r = 10;
- uint s = 10;
- uint t = Ten;
- uint f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- uint r = 10;
- uint s = 10;
- uint t = 10;
- uint f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- uint r = Ten;
- uint s = Ten;
- uint t = Ten;
- uint f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- uint r = 10;
- uint s = r;
- uint t = s;
- uint f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- uint r = Ten;
- uint s = r;
- uint t = s;
- uint f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static uint F40(uint x, uint y)
- {
- return x * x + y * y - 100;
- }
-
- static bool Bench40p()
- {
- uint t = 10;
- uint f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- uint t = Ten;
- uint f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- uint s = Ten;
- uint t = 10;
- uint f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- uint s = 10;
- uint t = Ten;
- uint f = F40(s, t);
- return (f == 100);
- }
-
- static uint F41(uint x, uint y)
- {
- return x * y;
- }
-
- static bool Bench41p()
- {
- uint t = 10;
- uint f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- uint t = Ten;
- uint f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- uint s = 10;
- uint t = Ten;
- uint f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- uint s = Ten;
- uint t = 10;
- uint f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsUInt).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj
deleted file mode 100644
index 1775d19d1a..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsUInt.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs
deleted file mode 100644
index 7585a3e1fc..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs
+++ /dev/null
@@ -1,893 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsULong
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Ints feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static ulong Five = 5;
- static ulong Ten = 10;
-
- static ulong Id(ulong x)
- {
- return x;
- }
-
- static ulong F00(ulong x)
- {
- return x * x;
- }
-
- static bool Bench00p()
- {
- ulong t = 10;
- ulong f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- ulong t = Ten;
- ulong f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- ulong t = Id(10);
- ulong f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- ulong t = Id(Ten);
- ulong f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- ulong t = Id(10);
- ulong f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- ulong t = Id(Ten);
- ulong f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- ulong t = 10;
- ulong f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- ulong t = Ten;
- ulong f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- ulong t = 5;
- ulong f = F00(2 * t);
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- ulong t = Five;
- ulong f = F00(2 * t);
- return (f == 100);
- }
-
- static ulong F01(ulong x)
- {
- return 1000 / x;
- }
-
- static bool Bench01p()
- {
- ulong t = 10;
- ulong f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- ulong t = Ten;
- ulong f = F01(t);
- return (f == 100);
- }
-
- static ulong F02(ulong x)
- {
- return 20 * (x / 2);
- }
-
- static bool Bench02p()
- {
- ulong t = 10;
- ulong f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- ulong t = Ten;
- ulong f = F02(t);
- return (f == 100);
- }
-
- static ulong F03(ulong x)
- {
- return 91 + 1009 % x;
- }
-
- static bool Bench03p()
- {
- ulong t = 10;
- ulong f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- ulong t = Ten;
- ulong f = F03(t);
- return (f == 100);
- }
-
- static ulong F04(ulong x)
- {
- return 50 * (x % 4);
- }
-
- static bool Bench04p()
- {
- ulong t = 10;
- ulong f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- ulong t = Ten;
- ulong f = F04(t);
- return (f == 100);
- }
-
- static ulong F06(ulong x)
- {
- return 110 - x;
- }
-
- static bool Bench06p()
- {
- ulong t = 10;
- ulong f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- ulong t = Ten;
- ulong f = F06(t);
- return (f == 100);
- }
-
- static ulong F07(ulong x)
- {
- return ~x + 111;
- }
-
- static bool Bench07p()
- {
- ulong t = 10;
- ulong f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- ulong t = Ten;
- ulong f = F07(t);
- return (f == 100);
- }
-
- static ulong F071(ulong x)
- {
- return (x ^ 0xFFFFFFFFFFFFFFFF) + 111;
- }
-
- static bool Bench07p1()
- {
- ulong t = 10;
- ulong f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- ulong t = Ten;
- ulong f = F071(t);
- return (f == 100);
- }
-
- static ulong F08(ulong x)
- {
- return (x & 0x7) + 98;
- }
-
- static bool Bench08p()
- {
- ulong t = 10;
- ulong f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- ulong t = Ten;
- ulong f = F08(t);
- return (f == 100);
- }
-
- static ulong F09(ulong x)
- {
- return (x | 0x7) + 85;
- }
-
- static bool Bench09p()
- {
- ulong t = 10;
- ulong f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- ulong t = Ten;
- ulong f = F09(t);
- return (f == 100);
- }
-
- // Ulongs feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static ulong F10(ulong x)
- {
- return x == 10 ? 100u : 0u;
- }
-
- static bool Bench10p()
- {
- ulong t = 10;
- ulong f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- ulong t = Ten;
- ulong f = F10(t);
- return (f == 100);
- }
-
- static ulong F101(ulong x)
- {
- return x != 10 ? 0u : 100u;
- }
-
- static bool Bench10p1()
- {
- ulong t = 10;
- ulong f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- ulong t = Ten;
- ulong f = F101(t);
- return (f == 100);
- }
-
- static ulong F102(ulong x)
- {
- return x >= 10 ? 100u : 0u;
- }
-
- static bool Bench10p2()
- {
- ulong t = 10;
- ulong f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- ulong t = Ten;
- ulong f = F102(t);
- return (f == 100);
- }
-
- static ulong F103(ulong x)
- {
- return x <= 10 ? 100u : 0u;
- }
-
- static bool Bench10p3()
- {
- ulong t = 10;
- ulong f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- ulong t = Ten;
- ulong f = F102(t);
- return (f == 100);
- }
-
- static ulong F11(ulong x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- ulong t = 10;
- ulong f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- ulong t = Ten;
- ulong f = F11(t);
- return (f == 100);
- }
-
- static ulong F111(ulong x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- ulong t = 10;
- ulong f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- ulong t = Ten;
- ulong f = F111(t);
- return (f == 100);
- }
-
- static ulong F112(ulong x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- ulong t = 10;
- ulong f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- ulong t = Ten;
- ulong f = F112(t);
- return (f == 100);
- }
- static ulong F113(ulong x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- ulong t = 10;
- ulong f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- ulong t = Ten;
- ulong f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static ulong F20(ulong x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- ulong t = 10;
- ulong f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- ulong t = Ten;
- ulong f = F20(t);
- return (f == 100);
- }
-
- static ulong F21(ulong x)
- {
- return x + 100 - x;
- }
-
- static bool Bench21p()
- {
- ulong t = 10;
- ulong f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- ulong t = Ten;
- ulong f = F21(t);
- return (f == 100);
- }
-
- static ulong F211(ulong x)
- {
- return x - x + 100;
- }
-
- static bool Bench21p1()
- {
- ulong t = 10;
- ulong f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- ulong t = Ten;
- ulong f = F211(t);
- return (f == 100);
- }
-
- static ulong F22(ulong x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- ulong t = 10;
- ulong f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- ulong t = Ten;
- ulong f = F22(t);
- return (f == 100);
- }
-
- static ulong F23(ulong x)
- {
- if (x > 0)
- {
- return 90 + x;
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- ulong t = 10;
- ulong f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- ulong t = Ten;
- ulong f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static ulong F30(ulong x, ulong y)
- {
- return y * y;
- }
-
- static bool Bench30p()
- {
- ulong t = 10;
- ulong f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- ulong t = Ten;
- ulong f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- ulong s = Ten;
- ulong t = 10;
- ulong f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- ulong s = 10;
- ulong t = Ten;
- ulong f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- ulong s = 10;
- ulong t = 10;
- ulong f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- ulong s = Ten;
- ulong t = Ten;
- ulong f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- ulong s = 10;
- ulong t = s;
- ulong f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- ulong s = Ten;
- ulong t = s;
- ulong f = F30(s, t);
- return (f == 100);
- }
-
- static ulong F31(ulong x, ulong y, ulong z)
- {
- return z * z;
- }
-
- static bool Bench31p()
- {
- ulong t = 10;
- ulong f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- ulong t = Ten;
- ulong f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- ulong r = Ten;
- ulong s = Ten;
- ulong t = 10;
- ulong f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- ulong r = 10;
- ulong s = 10;
- ulong t = Ten;
- ulong f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- ulong r = 10;
- ulong s = 10;
- ulong t = 10;
- ulong f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- ulong r = Ten;
- ulong s = Ten;
- ulong t = Ten;
- ulong f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- ulong r = 10;
- ulong s = r;
- ulong t = s;
- ulong f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- ulong r = Ten;
- ulong s = r;
- ulong t = s;
- ulong f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static ulong F40(ulong x, ulong y)
- {
- return x * x + y * y - 100;
- }
-
- static bool Bench40p()
- {
- ulong t = 10;
- ulong f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- ulong t = Ten;
- ulong f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- ulong s = Ten;
- ulong t = 10;
- ulong f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- ulong s = 10;
- ulong t = Ten;
- ulong f = F40(s, t);
- return (f == 100);
- }
-
- static ulong F41(ulong x, ulong y)
- {
- return x * y;
- }
-
- static bool Bench41p()
- {
- ulong t = 10;
- ulong f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- ulong t = Ten;
- ulong f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- ulong s = 10;
- ulong t = Ten;
- ulong f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- ulong s = Ten;
- ulong t = 10;
- ulong f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsULong).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj
deleted file mode 100644
index 81e10be633..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsULong.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs
deleted file mode 100644
index c96274e424..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs
+++ /dev/null
@@ -1,933 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Reflection;
-using System.Collections.Generic;
-using Xunit;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-namespace Inlining
-{
-public static class ConstantArgsUShort
-{
-
-#if DEBUG
- public const int Iterations = 1;
-#else
- public const int Iterations = 100000;
-#endif
-
- // Ushorts feeding math operations.
- //
- // Inlining in Bench0xp should enable constant folding
- // Inlining in Bench0xn will not enable constant folding
-
- static ushort Five = 5;
- static ushort Ten = 10;
-
- static ushort Id(ushort x)
- {
- return x;
- }
-
- static ushort F00(ushort x)
- {
- return (ushort) (x * x);
- }
-
- static bool Bench00p()
- {
- ushort t = 10;
- ushort f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n()
- {
- ushort t = Ten;
- ushort f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p1()
- {
- ushort t = Id(10);
- ushort f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00n1()
- {
- ushort t = Id(Ten);
- ushort f = F00(t);
- return (f == 100);
- }
-
- static bool Bench00p2()
- {
- ushort t = Id(10);
- ushort f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00n2()
- {
- ushort t = Id(Ten);
- ushort f = F00(Id(t));
- return (f == 100);
- }
-
- static bool Bench00p3()
- {
- ushort t = 10;
- ushort f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00n3()
- {
- ushort t = Ten;
- ushort f = F00(Id(Id(t)));
- return (f == 100);
- }
-
- static bool Bench00p4()
- {
- ushort t = 5;
- ushort f = F00((ushort)(2 * t));
- return (f == 100);
- }
-
- static bool Bench00n4()
- {
- ushort t = Five;
- ushort f = F00((ushort)(2 * t));
- return (f == 100);
- }
-
- static ushort F01(ushort x)
- {
- return (ushort)(1000 / x);
- }
-
- static bool Bench01p()
- {
- ushort t = 10;
- ushort f = F01(t);
- return (f == 100);
- }
-
- static bool Bench01n()
- {
- ushort t = Ten;
- ushort f = F01(t);
- return (f == 100);
- }
-
- static ushort F02(ushort x)
- {
- return (ushort) (20 * (x / 2));
- }
-
- static bool Bench02p()
- {
- ushort t = 10;
- ushort f = F02(t);
- return (f == 100);
- }
-
- static bool Bench02n()
- {
- ushort t = Ten;
- ushort f = F02(t);
- return (f == 100);
- }
-
- static ushort F03(ushort x)
- {
- return (ushort)(91 + 1009 % x);
- }
-
- static bool Bench03p()
- {
- ushort t = 10;
- ushort f = F03(t);
- return (f == 100);
- }
-
- static bool Bench03n()
- {
- ushort t = Ten;
- ushort f = F03(t);
- return (f == 100);
- }
-
- static ushort F04(ushort x)
- {
- return (ushort)(50 * (x % 4));
- }
-
- static bool Bench04p()
- {
- ushort t = 10;
- ushort f = F04(t);
- return (f == 100);
- }
-
- static bool Bench04n()
- {
- ushort t = Ten;
- ushort f = F04(t);
- return (f == 100);
- }
-
- static ushort F05(ushort x)
- {
- return (ushort)((1 << x) - 924);
- }
-
- static bool Bench05p()
- {
- ushort t = 10;
- ushort f = F05(t);
- return (f == 100);
- }
-
- static bool Bench05n()
- {
- ushort t = Ten;
- ushort f = F05(t);
- return (f == 100);
- }
-
- static ushort F051(ushort x)
- {
- return (ushort)(102400 >> x);
- }
-
- static bool Bench05p1()
- {
- ushort t = 10;
- ushort f = F051(t);
- return (f == 100);
- }
-
- static bool Bench05n1()
- {
- ushort t = Ten;
- ushort f = F051(t);
- return (f == 100);
- }
-
- static ushort F06(ushort x)
- {
- return (ushort)(-x + 110);
- }
-
- static bool Bench06p()
- {
- ushort t = 10;
- ushort f = F06(t);
- return (f == 100);
- }
-
- static bool Bench06n()
- {
- ushort t = Ten;
- ushort f = F06(t);
- return (f == 100);
- }
-
- static ushort F07(ushort x)
- {
- return (ushort)(~x + 111);
- }
-
- static bool Bench07p()
- {
- ushort t = 10;
- ushort f = F07(t);
- return (f == 100);
- }
-
- static bool Bench07n()
- {
- ushort t = Ten;
- ushort f = F07(t);
- return (f == 100);
- }
-
- static ushort F071(ushort x)
- {
- return (ushort)((x ^ -1) + 111);
- }
-
- static bool Bench07p1()
- {
- ushort t = 10;
- ushort f = F071(t);
- return (f == 100);
- }
-
- static bool Bench07n1()
- {
- ushort t = Ten;
- ushort f = F071(t);
- return (f == 100);
- }
-
- static ushort F08(ushort x)
- {
- return (ushort)((x & 0x7) + 98);
- }
-
- static bool Bench08p()
- {
- ushort t = 10;
- ushort f = F08(t);
- return (f == 100);
- }
-
- static bool Bench08n()
- {
- ushort t = Ten;
- ushort f = F08(t);
- return (f == 100);
- }
-
- static ushort F09(ushort x)
- {
- return (ushort)((x | 0x7) + 85);
- }
-
- static bool Bench09p()
- {
- ushort t = 10;
- ushort f = F09(t);
- return (f == 100);
- }
-
- static bool Bench09n()
- {
- ushort t = Ten;
- ushort f = F09(t);
- return (f == 100);
- }
-
- // Ushorts feeding comparisons.
- //
- // Inlining in Bench1xp should enable branch optimization
- // Inlining in Bench1xn will not enable branch optimization
-
- static ushort F10(ushort x)
- {
- return x == 10 ? (ushort) 100 : (ushort) 0;
- }
-
- static bool Bench10p()
- {
- ushort t = 10;
- ushort f = F10(t);
- return (f == 100);
- }
-
- static bool Bench10n()
- {
- ushort t = Ten;
- ushort f = F10(t);
- return (f == 100);
- }
-
- static ushort F101(ushort x)
- {
- return x != 10 ? (ushort) 0 : (ushort) 100;
- }
-
- static bool Bench10p1()
- {
- ushort t = 10;
- ushort f = F101(t);
- return (f == 100);
- }
-
- static bool Bench10n1()
- {
- ushort t = Ten;
- ushort f = F101(t);
- return (f == 100);
- }
-
- static ushort F102(ushort x)
- {
- return x >= 10 ? (ushort) 100 : (ushort) 0;
- }
-
- static bool Bench10p2()
- {
- ushort t = 10;
- ushort f = F102(t);
- return (f == 100);
- }
-
- static bool Bench10n2()
- {
- ushort t = Ten;
- ushort f = F102(t);
- return (f == 100);
- }
-
- static ushort F103(ushort x)
- {
- return x <= 10 ? (ushort) 100 : (ushort) 0;
- }
-
- static bool Bench10p3()
- {
- ushort t = 10;
- ushort f = F103(t);
- return (f == 100);
- }
-
- static bool Bench10n3()
- {
- ushort t = Ten;
- ushort f = F102(t);
- return (f == 100);
- }
-
- static ushort F11(ushort x)
- {
- if (x == 10)
- {
- return 100;
- }
- else
- {
- return 0;
- }
- }
-
- static bool Bench11p()
- {
- ushort t = 10;
- ushort f = F11(t);
- return (f == 100);
- }
-
- static bool Bench11n()
- {
- ushort t = Ten;
- ushort f = F11(t);
- return (f == 100);
- }
-
- static ushort F111(ushort x)
- {
- if (x != 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p1()
- {
- ushort t = 10;
- ushort f = F111(t);
- return (f == 100);
- }
-
- static bool Bench11n1()
- {
- ushort t = Ten;
- ushort f = F111(t);
- return (f == 100);
- }
-
- static ushort F112(ushort x)
- {
- if (x > 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p2()
- {
- ushort t = 10;
- ushort f = F112(t);
- return (f == 100);
- }
-
- static bool Bench11n2()
- {
- ushort t = Ten;
- ushort f = F112(t);
- return (f == 100);
- }
- static ushort F113(ushort x)
- {
- if (x < 10)
- {
- return 0;
- }
- else
- {
- return 100;
- }
- }
-
- static bool Bench11p3()
- {
- ushort t = 10;
- ushort f = F113(t);
- return (f == 100);
- }
-
- static bool Bench11n3()
- {
- ushort t = Ten;
- ushort f = F113(t);
- return (f == 100);
- }
-
- // Ununsed (or effectively unused) parameters
- //
- // Simple callee analysis may overstate inline benefit
-
- static ushort F20(ushort x)
- {
- return 100;
- }
-
- static bool Bench20p()
- {
- ushort t = 10;
- ushort f = F20(t);
- return (f == 100);
- }
-
- static bool Bench20p1()
- {
- ushort t = Ten;
- ushort f = F20(t);
- return (f == 100);
- }
-
- static ushort F21(ushort x)
- {
- return (ushort)(-x + 100 + x);
- }
-
- static bool Bench21p()
- {
- ushort t = 10;
- ushort f = F21(t);
- return (f == 100);
- }
-
- static bool Bench21n()
- {
- ushort t = Ten;
- ushort f = F21(t);
- return (f == 100);
- }
-
- static ushort F211(ushort x)
- {
- return (ushort)(x - x + 100);
- }
-
- static bool Bench21p1()
- {
- ushort t = 10;
- ushort f = F211(t);
- return (f == 100);
- }
-
- static bool Bench21n1()
- {
- ushort t = Ten;
- ushort f = F211(t);
- return (f == 100);
- }
-
- static ushort F22(ushort x)
- {
- if (x > 0)
- {
- return 100;
- }
-
- return 100;
- }
-
- static bool Bench22p()
- {
- ushort t = 10;
- ushort f = F22(t);
- return (f == 100);
- }
-
- static bool Bench22p1()
- {
- ushort t = Ten;
- ushort f = F22(t);
- return (f == 100);
- }
-
- static ushort F23(ushort x)
- {
- if (x > 0)
- {
- return (ushort)(90 + x);
- }
-
- return 100;
- }
-
- static bool Bench23p()
- {
- ushort t = 10;
- ushort f = F23(t);
- return (f == 100);
- }
-
- static bool Bench23n()
- {
- ushort t = Ten;
- ushort f = F23(t);
- return (f == 100);
- }
-
- // Multiple parameters
-
- static ushort F30(ushort x, ushort y)
- {
- return (ushort)(y * y);
- }
-
- static bool Bench30p()
- {
- ushort t = 10;
- ushort f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30n()
- {
- ushort t = Ten;
- ushort f = F30(t, t);
- return (f == 100);
- }
-
- static bool Bench30p1()
- {
- ushort s = Ten;
- ushort t = 10;
- ushort f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n1()
- {
- ushort s = 10;
- ushort t = Ten;
- ushort f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p2()
- {
- ushort s = 10;
- ushort t = 10;
- ushort f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n2()
- {
- ushort s = Ten;
- ushort t = Ten;
- ushort f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30p3()
- {
- ushort s = 10;
- ushort t = s;
- ushort f = F30(s, t);
- return (f == 100);
- }
-
- static bool Bench30n3()
- {
- ushort s = Ten;
- ushort t = s;
- ushort f = F30(s, t);
- return (f == 100);
- }
-
- static ushort F31(ushort x, ushort y, ushort z)
- {
- return (ushort)(z * z);
- }
-
- static bool Bench31p()
- {
- ushort t = 10;
- ushort f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31n()
- {
- ushort t = Ten;
- ushort f = F31(t, t, t);
- return (f == 100);
- }
-
- static bool Bench31p1()
- {
- ushort r = Ten;
- ushort s = Ten;
- ushort t = 10;
- ushort f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n1()
- {
- ushort r = 10;
- ushort s = 10;
- ushort t = Ten;
- ushort f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p2()
- {
- ushort r = 10;
- ushort s = 10;
- ushort t = 10;
- ushort f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n2()
- {
- ushort r = Ten;
- ushort s = Ten;
- ushort t = Ten;
- ushort f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31p3()
- {
- ushort r = 10;
- ushort s = r;
- ushort t = s;
- ushort f = F31(r, s, t);
- return (f == 100);
- }
-
- static bool Bench31n3()
- {
- ushort r = Ten;
- ushort s = r;
- ushort t = s;
- ushort f = F31(r, s, t);
- return (f == 100);
- }
-
- // Two args, both used
-
- static ushort F40(ushort x, ushort y)
- {
- return (ushort)(x * x + y * y - 100);
- }
-
- static bool Bench40p()
- {
- ushort t = 10;
- ushort f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40n()
- {
- ushort t = Ten;
- ushort f = F40(t, t);
- return (f == 100);
- }
-
- static bool Bench40p1()
- {
- ushort s = Ten;
- ushort t = 10;
- ushort f = F40(s, t);
- return (f == 100);
- }
-
- static bool Bench40p2()
- {
- ushort s = 10;
- ushort t = Ten;
- ushort f = F40(s, t);
- return (f == 100);
- }
-
- static ushort F41(ushort x, ushort y)
- {
- return (ushort)(x * y);
- }
-
- static bool Bench41p()
- {
- ushort t = 10;
- ushort f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41n()
- {
- ushort t = Ten;
- ushort f = F41(t, t);
- return (f == 100);
- }
-
- static bool Bench41p1()
- {
- ushort s = 10;
- ushort t = Ten;
- ushort f = F41(s, t);
- return (f == 100);
- }
-
- static bool Bench41p2()
- {
- ushort s = Ten;
- ushort t = 10;
- ushort f = F41(s, t);
- return (f == 100);
- }
-
- private static IEnumerable<object[]> MakeArgs(params string[] args)
- {
- return args.Select(arg => new object[] { arg });
- }
-
- public static IEnumerable<object[]> TestFuncs = MakeArgs(
- "Bench00p", "Bench00n",
- "Bench00p1", "Bench00n1",
- "Bench00p2", "Bench00n2",
- "Bench00p3", "Bench00n3",
- "Bench00p4", "Bench00n4",
- "Bench01p", "Bench01n",
- "Bench02p", "Bench02n",
- "Bench03p", "Bench03n",
- "Bench04p", "Bench04n",
- "Bench05p", "Bench05n",
- "Bench05p1", "Bench05n1",
- "Bench06p", "Bench06n",
- "Bench07p", "Bench07n",
- "Bench07p1", "Bench07n1",
- "Bench08p", "Bench08n",
- "Bench09p", "Bench09n",
- "Bench10p", "Bench10n",
- "Bench10p1", "Bench10n1",
- "Bench10p2", "Bench10n2",
- "Bench10p3", "Bench10n3",
- "Bench11p", "Bench11n",
- "Bench11p1", "Bench11n1",
- "Bench11p2", "Bench11n2",
- "Bench11p3", "Bench11n3",
- "Bench20p", "Bench20p1",
- "Bench21p", "Bench21n",
- "Bench21p1", "Bench21n1",
- "Bench22p", "Bench22p1",
- "Bench23p", "Bench23n",
- "Bench30p", "Bench30n",
- "Bench30p1", "Bench30n1",
- "Bench30p2", "Bench30n2",
- "Bench30p3", "Bench30n3",
- "Bench31p", "Bench31n",
- "Bench31p1", "Bench31n1",
- "Bench31p2", "Bench31n2",
- "Bench31p3", "Bench31n3",
- "Bench40p", "Bench40n",
- "Bench40p1", "Bench40p2",
- "Bench41p", "Bench41n",
- "Bench41p1", "Bench41p2"
- );
-
- static Func<bool> LookupFunc(object o)
- {
- TypeInfo t = typeof(ConstantArgsUShort).GetTypeInfo();
- MethodInfo m = t.GetDeclaredMethod((string) o);
- return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>;
- }
-
- [Benchmark]
- [MemberData(nameof(TestFuncs))]
- public static void Test(object funcName)
- {
- Func<bool> f = LookupFunc(funcName);
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- for (int i = 0; i < Iterations; i++)
- {
- f();
- }
- }
- }
- }
-
- static bool TestBase(Func<bool> f)
- {
- bool result = true;
- for (int i = 0; i < Iterations; i++)
- {
- result &= f();
- }
- return result;
- }
-
- public static int Main()
- {
- bool result = true;
-
- foreach(object[] o in TestFuncs)
- {
- string funcName = (string) o[0];
- Func<bool> func = LookupFunc(funcName);
- bool thisResult = TestBase(func);
- if (!thisResult)
- {
- Console.WriteLine("{0} failed", funcName);
- }
- result &= thisResult;
- }
-
- return (result ? 100 : -1);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj
deleted file mode 100644
index fb88ffb4d2..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="ConstantArgsUShort.cs" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
- <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj
index cb3381638c..7ecdbab687 100644
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj
index 75f6176581..34b42c389f 100644
--- a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj
@@ -7,12 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
diff --git a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj
index 99fa3f03c6..2fc6cb0419 100644
--- a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj
index 7e7a74e142..773472d4a4 100644
--- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj
@@ -7,13 +7,8 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{C949CB07-60B2-420A-B3CA-59847ED4700B}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>
- </NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
diff --git a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj
index b99d74b9bc..baea313f2c 100644
--- a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,19 +7,15 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
<GCStressIncompatible>true</GCStressIncompatible>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -39,6 +35,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+roslyn\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj
index 73a4c99541..b6224770fa 100644
--- a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -47,6 +43,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj
index 00db618453..0b1e5be0ae 100644
--- a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -53,6 +49,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs
index 3253e255d6..81d9c0952f 100644
--- a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs
+++ b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs
@@ -140,7 +140,7 @@ public static class SeekUnroll
// Main method entrypoint runs the manual timer loop
- public static int Main()
+ public static int Main(string[] args)
{
int failures = 0;
@@ -151,9 +151,20 @@ public static class SeekUnroll
InnerIterations = 100000;
}
+ int manualLoopCount = 1;
+ if (args == null || args.Length == 0)
+ {
+ Console.WriteLine("Warning: no iteration count specified; defaulting to 1 iteration per case");
+ Console.WriteLine("To use multiple iterations per case, pass the desired number of iterations as the first command-line argument to this test");
+ }
+ else
+ {
+ manualLoopCount = int.Parse(args[0]);
+ }
+
foreach(int index in IndicesToTest)
{
- ManualLoopTimes = new long[10];
+ ManualLoopTimes = new long[manualLoopCount];
bool passed = Test(index, false);
if (!passed)
{
diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj
index 53cfe42001..d5c72559ec 100644
--- a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj
@@ -7,10 +7,7 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{9AE6E18D-B3F9-4216-9809-125824387175}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
diff --git a/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj b/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj
index 28127efebc..917d749d41 100644
--- a/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,19 +7,15 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
<AssemblyName>SciMark</AssemblyName>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -48,6 +44,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..5497232ed0
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES
@@ -0,0 +1,33 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for SciMark C#
+-----------------------------
+
+https://github.com/dosvidos/SciMark
+
+<license>
+This is a port of the SciMark2a Java Benchmark to C# by
+Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu)
+
+For details on the original authors see http://math.nist.gov/scimark2
+
+This software is likely to burn your processor, bitflip your memory chips
+anihilate your screen and corrupt all your disks, so you it at your
+own risk.
+</license>
+
+License notice for SciMark 2.0
+------------------------------
+
+http://math.nist.gov/scimark2/credits.html
+
+As this software was developed as part of work done by the United States Government, it is not subject to copyright, and is in the public domain.
+We would, however, appreciate acknowledgements if this work is found useful. Note that according to GNU.org public domain is compatible with GPL.
diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj
index 8f95407729..c08d1cd14b 100644
--- a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj
index 60df05075b..04798526f9 100644
--- a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs
new file mode 100644
index 0000000000..d84152132d
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs
@@ -0,0 +1,1194 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Text;
+using Xunit;
+using Microsoft.Xunit.Performance;
+
+[assembly: OptimizeForBenchmarks]
+[assembly: MeasureInstructionsRetired]
+
+namespace Span
+{
+ public class SpanBench
+ {
+
+#if DEBUG
+ const int BubbleSortIterations = 1;
+ const int QuickSortIterations = 1;
+ const int FillAllIterations = 1;
+ const int BaseIterations = 1;
+#else
+ // Appropriately-scaled iteration counts for the various benchmarks
+ const int BubbleSortIterations = 100;
+ const int QuickSortIterations = 1000;
+ const int FillAllIterations = 100000;
+ const int BaseIterations = 10000000;
+#endif
+
+ // Default length for arrays of mock input data
+ const int DefaultLength = 1024;
+
+ // Helpers
+ #region Helpers
+ [StructLayout(LayoutKind.Sequential)]
+ private sealed class TestClass<T>
+ {
+ private double _d;
+ public T[] C0;
+ }
+
+ // Copying the result of a computation to Sink<T>.Instance is a way
+ // to prevent the jit from considering the computation dead and removing it.
+ private sealed class Sink<T>
+ {
+ public T Data;
+ public static Sink<T> Instance = new Sink<T>();
+ }
+
+ // Use statics to smuggle some information from Main to Invoke when running tests
+ // from the command line.
+ static bool IsXunitInvocation = true; // xunit-perf leaves this true; command line Main sets to false
+ static int CommandLineInnerIterationCount = 0; // used to communicate iteration count from BenchmarkAttribute
+ // (xunit-perf exposes the same in static property Benchmark.InnerIterationCount)
+ static bool DoWarmUp; // Main sets this when calling a new benchmark routine
+
+
+ // Invoke routine to abstract away the difference between running under xunit-perf vs running from the
+ // command line. Inner loop to be measured is taken as an Action<int>, and invoked passing the number
+ // of iterations that the inner loop should execute.
+ static void Invoke(Action<int> innerLoop, string nameFormat, params object[] nameArgs)
+ {
+ if (IsXunitInvocation)
+ {
+ foreach (var iteration in Benchmark.Iterations)
+ using (iteration.StartMeasurement())
+ innerLoop((int)Benchmark.InnerIterationCount);
+ }
+ else
+ {
+ if (DoWarmUp)
+ {
+ // Run some warm-up iterations before measuring
+ innerLoop(CommandLineInnerIterationCount);
+ // Clear the flag since we're now warmed up (caller will
+ // reset it before calling new code)
+ DoWarmUp = false;
+ }
+
+ // Now do the timed run of the inner loop.
+ Stopwatch sw = Stopwatch.StartNew();
+ innerLoop(CommandLineInnerIterationCount);
+ sw.Stop();
+
+ // Print result.
+ string name = String.Format(nameFormat, nameArgs);
+ double timeInMs = sw.Elapsed.TotalMilliseconds;
+ Console.WriteLine("{0}: {1}ms", name, timeInMs);
+ }
+ }
+
+ // Helper for the sort tests to get some pseudo-random input
+ static int[] GetUnsortedData(int length)
+ {
+ int[] unsortedData = new int[length];
+ Random r = new Random(42);
+ for (int i = 0; i < unsortedData.Length; ++i)
+ {
+ unsortedData[i] = r.Next();
+ }
+ return unsortedData;
+ }
+ #endregion // helpers
+
+ // Tests that implement some vary basic algorithms (fill/sort) over spans and arrays
+ #region Algorithm tests
+
+ #region TestFillAllSpan
+ [Benchmark(InnerIterationCount = FillAllIterations)]
+ [InlineData(DefaultLength)]
+ public static void FillAllSpan(int length)
+ {
+ byte[] a = new byte[length];
+
+ Invoke((int innerIterationCount) =>
+ {
+ Span<byte> s = new Span<byte>(a);
+ for (int i = 0; i < innerIterationCount; ++i)
+ {
+ TestFillAllSpan(s);
+ }
+ },
+ "TestFillAllSpan({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestFillAllSpan(Span<byte> span)
+ {
+ for (int i = 0; i < span.Length; ++i)
+ {
+ span[i] = unchecked((byte)i);
+ }
+ }
+ #endregion
+
+ #region TestFillAllArray
+ [Benchmark(InnerIterationCount = FillAllIterations)]
+ [InlineData(DefaultLength)]
+ public static void FillAllArray(int length)
+ {
+ byte[] a = new byte[length];
+
+ Invoke((int innerIterationCount) =>
+ {
+ for (int i = 0; i < innerIterationCount; ++i)
+ {
+ TestFillAllArray(a);
+ }
+ },
+ "TestFillArray({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestFillAllArray(byte[] data)
+ {
+ for (int i = 0; i < data.Length; ++i)
+ {
+ data[i] = unchecked((byte)i);
+ }
+ }
+ #endregion
+
+ #region TestFillAllReverseSpan
+ [Benchmark(InnerIterationCount = FillAllIterations)]
+ [InlineData(DefaultLength)]
+ public static void FillAllReverseSpan(int length)
+ {
+ byte[] a = new byte[length];
+
+ Invoke((int innerIterationCount) =>
+ {
+ Span<byte> s = new Span<byte>(a);
+ for (int i = 0; i < innerIterationCount; ++i)
+ {
+ TestFillAllReverseSpan(s);
+ }
+ },
+ "TestFillAllReverseSpan({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestFillAllReverseSpan(Span<byte> span)
+ {
+ for (int i = span.Length; --i >= 0;)
+ {
+ span[i] = unchecked((byte)i);
+ }
+ }
+ #endregion
+
+ #region TestFillAllReverseArray
+ [Benchmark(InnerIterationCount = FillAllIterations)]
+ [InlineData(DefaultLength)]
+ public static void FillAllReverseArray(int length)
+ {
+ byte[] a = new byte[length];
+
+ Invoke((int innerIterationCount) =>
+ {
+ for (int i = 0; i < innerIterationCount; ++i)
+ {
+ TestFillAllReverseArray(a);
+ }
+ },
+ "TestFillAllReverseArray({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestFillAllReverseArray(byte[] data)
+ {
+ for (int i = data.Length; --i >= 0;)
+ {
+ data[i] = unchecked((byte)i);
+ }
+ }
+ #endregion
+
+ #region TestQuickSortSpan
+ [Benchmark(InnerIterationCount = QuickSortIterations)]
+ [InlineData(DefaultLength)]
+ public static void QuickSortSpan(int length)
+ {
+ int[] data = new int[length];
+ int[] unsortedData = GetUnsortedData(length);
+
+ Invoke((int innerIterationCount) =>
+ {
+ Span<int> span = new Span<int>(data);
+
+ for (int i = 0; i < innerIterationCount; ++i)
+ {
+ Array.Copy(unsortedData, data, length);
+ TestQuickSortSpan(span);
+ }
+ },
+ "TestQuickSortSpan({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestQuickSortSpan(Span<int> data)
+ {
+ if (data.Length <= 1)
+ {
+ return;
+ }
+
+ int lo = 0;
+ int hi = data.Length - 1;
+ int i, j;
+ int pivot, temp;
+ for (i = lo, j = hi, pivot = data[hi]; i < j;)
+ {
+ while (i < j && data[i] <= pivot)
+ {
+ ++i;
+ }
+ while (j > i && data[j] >= pivot)
+ {
+ --j;
+ }
+ if (i < j)
+ {
+ temp = data[i];
+ data[i] = data[j];
+ data[j] = temp;
+ }
+ }
+ if (i != hi)
+ {
+ temp = data[i];
+ data[i] = pivot;
+ data[hi] = temp;
+ }
+
+ TestQuickSortSpan(data.Slice(0, i));
+ TestQuickSortSpan(data.Slice(i + 1));
+ }
+ #endregion
+
+ #region TestBubbleSortSpan
+ [Benchmark(InnerIterationCount = BubbleSortIterations)]
+ [InlineData(DefaultLength)]
+ public static void BubbleSortSpan(int length)
+ {
+ int[] data = new int[length];
+ int[] unsortedData = GetUnsortedData(length);
+
+ Invoke((int innerIterationCount) =>
+ {
+ Span<int> span = new Span<int>(data);
+
+ for (int i = 0; i < innerIterationCount; i++)
+ {
+ Array.Copy(unsortedData, data, length);
+ TestBubbleSortSpan(span);
+ }
+ },
+ "TestBubbleSortSpan({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestBubbleSortSpan(Span<int> span)
+ {
+ bool swap;
+ int temp;
+ int n = span.Length - 1;
+ do
+ {
+ swap = false;
+ for (int i = 0; i < n; i++)
+ {
+ if (span[i] > span[i + 1])
+ {
+ temp = span[i];
+ span[i] = span[i + 1];
+ span[i + 1] = temp;
+ swap = true;
+ }
+ }
+ --n;
+ }
+ while (swap);
+ }
+ #endregion
+
+ #region TestQuickSortArray
+ [Benchmark(InnerIterationCount = QuickSortIterations)]
+ [InlineData(DefaultLength)]
+ public static void QuickSortArray(int length)
+ {
+ int[] data = new int[length];
+ int[] unsortedData = GetUnsortedData(length);
+
+ Invoke((int innerIterationCount) =>
+ {
+ for (int i = 0; i < innerIterationCount; i++)
+ {
+ Array.Copy(unsortedData, data, length);
+ TestQuickSortArray(data, 0, data.Length - 1);
+ }
+ },
+ "TestQuickSortArray({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestQuickSortArray(int[] data, int lo, int hi)
+ {
+ if (lo >= hi)
+ {
+ return;
+ }
+
+ int i, j;
+ int pivot, temp;
+ for (i = lo, j = hi, pivot = data[hi]; i < j;)
+ {
+ while (i < j && data[i] <= pivot)
+ {
+ ++i;
+ }
+ while (j > i && data[j] >= pivot)
+ {
+ --j;
+ }
+ if (i < j)
+ {
+ temp = data[i];
+ data[i] = data[j];
+ data[j] = temp;
+ }
+ }
+ if (i != hi)
+ {
+ temp = data[i];
+ data[i] = pivot;
+ data[hi] = temp;
+ }
+
+ TestQuickSortArray(data, lo, i - 1);
+ TestQuickSortArray(data, i + 1, hi);
+ }
+ #endregion
+
+ #region TestBubbleSortArray
+ [Benchmark(InnerIterationCount = BubbleSortIterations)]
+ [InlineData(DefaultLength)]
+ public static void BubbleSortArray(int length)
+ {
+ int[] data = new int[length];
+ int[] unsortedData = GetUnsortedData(length);
+
+ Invoke((int innerIterationCount) =>
+ {
+ for (int i = 0; i < innerIterationCount; i++)
+ {
+ Array.Copy(unsortedData, data, length);
+ TestBubbleSortArray(data);
+ }
+ },
+ "TestBubbleSortArray({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestBubbleSortArray(int[] data)
+ {
+ bool swap;
+ int temp;
+ int n = data.Length - 1;
+ do
+ {
+ swap = false;
+ for (int i = 0; i < n; i++)
+ {
+ if (data[i] > data[i + 1])
+ {
+ temp = data[i];
+ data[i] = data[i + 1];
+ data[i + 1] = temp;
+ swap = true;
+ }
+ }
+ --n;
+ }
+ while (swap);
+ }
+ #endregion
+
+ #endregion // Algorithm tests
+
+ // TestSpanAPIs (For comparison with Array and Slow Span)
+ #region TestSpanAPIs
+
+ #region TestSpanConstructor<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanConstructorByte(int length)
+ {
+ InvokeTestSpanConstructor<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 100)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanConstructorString(int length)
+ {
+ InvokeTestSpanConstructor<string>(length);
+ }
+
+ static void InvokeTestSpanConstructor<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanConstructor<T>(array, innerIterationCount, false),
+ "TestSpanConstructor<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanConstructor<T>(T[] array, int iterationCount, bool untrue)
+ {
+ var sink = Sink<T>.Instance;
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ var span = new Span<T>(array);
+ // Under a condition that we know is false but the jit doesn't,
+ // add a read from 'span' to make sure it's not dead, and an assignment
+ // to 'array' so the constructor call won't get hoisted.
+ if (untrue) { sink.Data = span[0]; array = new T[iterationCount]; }
+ }
+ }
+ #endregion
+
+ #region TestSpanDangerousCreate<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanDangerousCreateByte(int length)
+ {
+ InvokeTestSpanDangerousCreate<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanDangerousCreateString(int length)
+ {
+ InvokeTestSpanDangerousCreate<string>(length);
+ }
+
+ static void InvokeTestSpanDangerousCreate<T>(int length)
+ {
+ TestClass<T> testClass = new TestClass<T>();
+ testClass.C0 = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanDangerousCreate<T>(testClass, innerIterationCount, false),
+ "TestSpanDangerousCreate<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanDangerousCreate<T>(TestClass<T> testClass, int iterationCount, bool untrue)
+ {
+ var sink = Sink<T>.Instance;
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ var span = Span<T>.DangerousCreate(testClass, ref testClass.C0[0], testClass.C0.Length);
+ // Under a condition that we know is false but the jit doesn't,
+ // add a read from 'span' to make sure it's not dead, and an assignment
+ // to 'testClass' so the DangerousCreate call won't get hoisted.
+ if (untrue) { sink.Data = span[0]; testClass = new TestClass<T>(); }
+ }
+ }
+ #endregion
+
+ #region TestSpanDangerousGetPinnableReference<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanDangerousGetPinnableReferenceByte(int length)
+ {
+ InvokeTestSpanDangerousGetPinnableReference<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanDangerousGetPinnableReferenceString(int length)
+ {
+ InvokeTestSpanDangerousGetPinnableReference<string>(length);
+ }
+
+ static void InvokeTestSpanDangerousGetPinnableReference<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanDangerousGetPinnableReference<T>(array, innerIterationCount),
+ "TestSpanDangerousGetPinnableReference<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanDangerousGetPinnableReference<T>(T[] array, int iterationCount)
+ {
+ var sink = Sink<T>.Instance;
+ var span = new Span<T>(array);
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ ref T temp = ref span.DangerousGetPinnableReference();
+ sink.Data = temp;
+ }
+ }
+ #endregion
+
+ #region TestSpanIndexHoistable<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanIndexHoistableByte(int length)
+ {
+ InvokeTestSpanIndexHoistable<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanIndexHoistableString(int length)
+ {
+ InvokeTestSpanIndexHoistable<string>(length);
+ }
+
+ static void InvokeTestSpanIndexHoistable<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanIndexHoistable<T>(array, length, innerIterationCount),
+ "TestSpanIndexHoistable<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanIndexHoistable<T>(T[] array, int length, int iterationCount)
+ {
+ var sink = Sink<T>.Instance;
+ var span = new Span<T>(array);
+
+ for (int i = 0; i < iterationCount; i++)
+ sink.Data = span[length/2];
+ }
+ #endregion
+
+ #region TestArrayIndexHoistable<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayIndexHoistableByte(int length)
+ {
+ InvokeTestArrayIndexHoistable<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayIndexHoistableString(int length)
+ {
+ InvokeTestArrayIndexHoistable<string>(length);
+ }
+
+ static void InvokeTestArrayIndexHoistable<T>(int length)
+ {
+ var array = new T[length];
+ Invoke((int innerIterationCount) => TestArrayIndexHoistable<T>(array, length, innerIterationCount),
+ "TestArrayIndexHoistable<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestArrayIndexHoistable<T>(T[] array, int length, int iterationCount)
+ {
+ var sink = Sink<T>.Instance;
+
+ for (int i = 0; i < iterationCount; i++)
+ sink.Data = array[length / 2];
+ }
+ #endregion
+
+ #region TestSpanIndexVariant<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanIndexVariantByte(int length)
+ {
+ InvokeTestSpanIndexVariant<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanIndexVariantString(int length)
+ {
+ InvokeTestSpanIndexVariant<string>(length);
+ }
+
+ static void InvokeTestSpanIndexVariant<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanIndexVariant<T>(array, length, innerIterationCount),
+ "TestSpanIndexVariant<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanIndexVariant<T>(T[] array, int length, int iterationCount)
+ {
+ var sink = Sink<T>.Instance;
+ var span = new Span<T>(array);
+ int mask = (length < 2 ? 0 : (length < 8 ? 1 : 7));
+
+ for (int i = 0; i < iterationCount; i++)
+ sink.Data = span[i & mask];
+ }
+ #endregion
+
+ #region TestArrayIndexVariant<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayIndexVariantByte(int length)
+ {
+ InvokeTestArrayIndexVariant<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayIndexVariantString(int length)
+ {
+ InvokeTestArrayIndexVariant<string>(length);
+ }
+
+ static void InvokeTestArrayIndexVariant<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestArrayIndexVariant<T>(array, length, innerIterationCount),
+ "TestArrayIndexVariant<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestArrayIndexVariant<T>(T[] array, int length, int iterationCount)
+ {
+ var sink = Sink<T>.Instance;
+ int mask = (length < 2 ? 0 : (length < 8 ? 1 : 7));
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ sink.Data = array[i & mask];
+ }
+ }
+ #endregion
+
+ #region TestSpanSlice<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanSliceByte(int length)
+ {
+ InvokeTestSpanSlice<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanSliceString(int length)
+ {
+ InvokeTestSpanSlice<string>(length);
+ }
+
+ static void InvokeTestSpanSlice<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanSlice<T>(array, length, innerIterationCount, false),
+ "TestSpanSlice<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanSlice<T>(T[] array, int length, int iterationCount, bool untrue)
+ {
+ var span = new Span<T>(array);
+ var sink = Sink<T>.Instance;
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ var slice = span.Slice(length / 2);
+ // Under a condition that we know is false but the jit doesn't,
+ // add a read from 'span' to make sure it's not dead, and an assignment
+ // to 'array' so the slice call won't get hoisted.
+ if (untrue) { sink.Data = slice[0]; array = new T[iterationCount]; }
+ }
+ }
+ #endregion
+
+ #region TestSpanToArray<T>
+ [Benchmark(InnerIterationCount = BaseIterations / 100)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanToArrayByte(int length)
+ {
+ InvokeTestSpanToArray<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 100)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanToArrayString(int length)
+ {
+ InvokeTestSpanToArray<string>(length);
+ }
+
+ static void InvokeTestSpanToArray<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanToArray<T>(array, length, innerIterationCount),
+ "TestSpanToArray<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanToArray<T>(T[] array, int length, int iterationCount)
+ {
+ var span = new Span<T>(array);
+ var sink = Sink<T[]>.Instance;
+
+ for (int i = 0; i < iterationCount; i++)
+ sink.Data = span.ToArray();
+ }
+ #endregion
+
+ #region TestSpanCopyTo<T>
+ [Benchmark(InnerIterationCount = BaseIterations / 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanCopyToByte(int length)
+ {
+ InvokeTestSpanCopyTo<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 100)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanCopyToString(int length)
+ {
+ InvokeTestSpanCopyTo<string>(length);
+ }
+
+ static void InvokeTestSpanCopyTo<T>(int length)
+ {
+ var array = new T[length];
+ var destArray = new T[array.Length];
+
+ Invoke((int innerIterationCount) => TestSpanCopyTo<T>(array, destArray, innerIterationCount),
+ "TestSpanCopyTo<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanCopyTo<T>(T[] array, T[] destArray, int iterationCount)
+ {
+ var span = new Span<T>(array);
+ var destination = new Span<T>(destArray);
+
+ for (int i = 0; i < iterationCount; i++)
+ span.CopyTo(destination);
+ }
+ #endregion
+
+ #region TestArrayCopyTo<T>
+ [Benchmark(InnerIterationCount = BaseIterations / 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayCopyToByte(int length)
+ {
+ InvokeTestArrayCopyTo<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 100)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayCopyToString(int length)
+ {
+ InvokeTestArrayCopyTo<string>(length);
+ }
+
+ static void InvokeTestArrayCopyTo<T>(int length)
+ {
+ var array = new T[length];
+ var destination = new T[array.Length];
+
+ Invoke((int innerIterationCount) => TestArrayCopyTo<T>(array, destination, innerIterationCount),
+ "TestArrayCopyTo<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestArrayCopyTo<T>(T[] array, T[] destination, int iterationCount)
+ {
+ for (int i = 0; i < iterationCount; i++)
+ array.CopyTo(destination, 0);
+ }
+ #endregion
+
+ #region TestSpanFill<T>
+ [Benchmark(InnerIterationCount = BaseIterations * 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanFillByte(int length)
+ {
+ InvokeTestSpanFill<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 100)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanFillString(int length)
+ {
+ InvokeTestSpanFill<string>(length);
+ }
+
+ static void InvokeTestSpanFill<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanFill<T>(array, innerIterationCount),
+ "TestSpanFill<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanFill<T>(T[] array, int iterationCount)
+ {
+ var span = new Span<T>(array);
+ for (int i = 0; i < iterationCount; i++)
+ span.Fill(default(T));
+ }
+ #endregion
+
+ #region TestSpanClear<T>
+ [Benchmark(InnerIterationCount = BaseIterations / 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanClearByte(int length)
+ {
+ InvokeTestSpanClear<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanClearString(int length)
+ {
+ InvokeTestSpanClear<string>(length);
+ }
+
+ static void InvokeTestSpanClear<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanClear<T>(array, innerIterationCount),
+ "TestSpanClear<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanClear<T>(T[] array, int iterationCount)
+ {
+ var span = new Span<T>(array);
+ for (int i = 0; i < iterationCount; i++)
+ span.Clear();
+ }
+ #endregion
+
+ #region TestArrayClear<T>
+ [Benchmark(InnerIterationCount = BaseIterations / 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayClearByte(int length)
+ {
+ InvokeTestArrayClear<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations / 10)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestArrayClearString(int length)
+ {
+ InvokeTestArrayClear<string>(length);
+ }
+
+ static void InvokeTestArrayClear<T>(int length)
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestArrayClear<T>(array, length, innerIterationCount),
+ "TestArrayClear<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestArrayClear<T>(T[] array, int length, int iterationCount)
+ {
+ for (int i = 0; i < iterationCount; i++)
+ Array.Clear(array, 0, length);
+ }
+ #endregion
+
+ #region TestSpanAsBytes<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanAsBytesByte(int length)
+ {
+ InvokeTestSpanAsBytes<byte>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanAsBytesInt(int length)
+ {
+ InvokeTestSpanAsBytes<int>(length);
+ }
+
+ static void InvokeTestSpanAsBytes<T>(int length)
+ where T : struct
+ {
+ var array = new T[length];
+
+ Invoke((int innerIterationCount) => TestSpanAsBytes<T>(array, innerIterationCount, false),
+ "TestSpanAsBytes<{0}>({1})", typeof(T).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanAsBytes<T>(T[] array, int iterationCount, bool untrue)
+ where T : struct
+ {
+ var sink = Sink<byte>.Instance;
+ var span = new Span<T>(array);
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ var byteSpan = span.AsBytes();
+ // Under a condition that we know is false but the jit doesn't,
+ // add a read from 'byteSpan' to make sure it's not dead, and an assignment
+ // to 'span' so the AsBytes call won't get hoisted.
+ if (untrue) { sink.Data = byteSpan[0]; span = new Span<T>(); }
+ }
+ }
+ #endregion
+
+ #region TestSpanNonPortableCast<T>
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanNonPortableCastFromByteToInt(int length)
+ {
+ InvokeTestSpanNonPortableCast<byte, int>(length);
+ }
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanNonPortableCastFromIntToByte(int length)
+ {
+ InvokeTestSpanNonPortableCast<int, byte>(length);
+ }
+
+ static void InvokeTestSpanNonPortableCast<From, To>(int length)
+ where From : struct
+ where To : struct
+ {
+ var array = new From[length];
+
+ Invoke((int innerIterationCount) => TestSpanNonPortableCast<From, To>(array, innerIterationCount, false),
+ "TestSpanNonPortableCast<{0}, {1}>({2})", typeof(From).Name, typeof(To).Name, length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanNonPortableCast<From, To>(From[] array, int iterationCount, bool untrue)
+ where From : struct
+ where To : struct
+ {
+ var sink = Sink<To>.Instance;
+ var span = new Span<From>(array);
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ var toSpan = span.NonPortableCast<From, To>();
+ // Under a condition that we know is false but the jit doesn't,
+ // add a read from 'toSpan' to make sure it's not dead, and an assignment
+ // to 'span' so the AsBytes call won't get hoisted.
+ if (untrue) { sink.Data = toSpan[0]; span = new Span<From>(); }
+ }
+ }
+ #endregion
+
+ #region TestSpanAsSpanStringChar<T>
+
+ [Benchmark(InnerIterationCount = BaseIterations)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(100)]
+ [InlineData(1000)]
+ public static void TestSpanAsSpanStringCharWrapper(int length)
+ {
+ StringBuilder sb = new StringBuilder();
+ Random rand = new Random(42);
+ char[] c = new char[1];
+ for (int i = 0; i < length; i++)
+ {
+ c[0] = (char)rand.Next(32, 126);
+ sb.Append(new string(c));
+ }
+ string s = sb.ToString();
+
+ Invoke((int innerIterationCount) => TestSpanAsSpanStringChar(s, innerIterationCount, false),
+ "TestSpanAsSpanStringChar({0})", length);
+ }
+
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ static void TestSpanAsSpanStringChar(string s, int iterationCount, bool untrue)
+ {
+ var sink = Sink<char>.Instance;
+
+ for (int i = 0; i < iterationCount; i++)
+ {
+ var charSpan = s.AsSpan();
+ // Under a condition that we know is false but the jit doesn't,
+ // add a read from 'charSpan' to make sure it's not dead, and an assignment
+ // to 's' so the AsBytes call won't get hoisted.
+ if (untrue) { sink.Data = charSpan[0]; s = "block hoisting the call to AsSpan()"; }
+ }
+ }
+
+ #endregion
+
+ #endregion // TestSpanAPIs
+
+
+ public static int Main(string[] args)
+ {
+ // When we call into Invoke, it'll need to know this isn't xunit-perf running
+ IsXunitInvocation = false;
+
+ // Now simulate xunit-perf's benchmark discovery so we know what tests to invoke
+ TypeInfo t = typeof(SpanBench).GetTypeInfo();
+ foreach(MethodInfo m in t.DeclaredMethods)
+ {
+ BenchmarkAttribute benchAttr = m.GetCustomAttribute<BenchmarkAttribute>();
+ if (benchAttr != null)
+ {
+ // All benchmark methods in this test set the InnerIterationCount on their BenchmarkAttribute.
+ // Take max of specified count and 1 since some tests use expressions for their count that
+ // evaluate to 0 under DEBUG.
+ CommandLineInnerIterationCount = Math.Max((int)benchAttr.InnerIterationCount, 1);
+
+ // Request a warm-up iteration before measuring this benchmark method.
+ DoWarmUp = true;
+
+ // Get the benchmark to measure as a delegate taking the number of inner-loop iterations to run
+ var invokeMethod = m.CreateDelegate(typeof(Action<int>)) as Action<int>;
+
+ // All the benchmarks methods in this test use [InlineData] to specify how many times and with
+ // what arguments they should be run.
+ foreach (InlineDataAttribute dataAttr in m.GetCustomAttributes<InlineDataAttribute>())
+ {
+ foreach (object[] data in dataAttr.GetData(m))
+ {
+ // All the benchmark methods in this test take a single int parameter
+ invokeMethod((int)data[0]);
+ }
+ }
+ }
+ }
+
+ // The only failure modes are crash/exception.
+ return 100;
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.csproj b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj
index 0b25633aeb..7404828bcd 100644
--- a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <!-- Always use latest Roslyn compiler -->
+ <Import Project="..\..\..\..\..\..\Tools\net46\roslyn\build\Microsoft.Net.Compilers.props"/>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -7,19 +9,16 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
- <GCStressIncompatible>true</GCStressIncompatible>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -32,7 +31,7 @@
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
- <Compile Include="DeltaBlue.cs" />
+ <Compile Include="SpanBench.cs" />
</ItemGroup>
<PropertyGroup>
<ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson>
diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj
index 112d7b5a9e..ec9e4e1bbf 100644
--- a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..10aab05ff7
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES
@@ -0,0 +1,41 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for V8.Crypto
+----------------------------
+
+ Copyright (c) 2003-2005 Tom Wu
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+ IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
+ INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
+ RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
+ THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
+ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ In addition, the following condition applies:
+
+ All redistributions must retain an intact copy of this copyright notice
+ and disclaimer.
diff --git a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs b/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs
deleted file mode 100644
index 27f77182b2..0000000000
--- a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs
+++ /dev/null
@@ -1,1071 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-/*
- This is a Java implemention of the DeltaBlue algorithm described in:
- "The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver"
- by Bjorn N. Freeman-Benson and John Maloney
- January 1990 Communications of the ACM,
- also available as University of Washington TR 89-08-06.
-
- This implementation by Mario Wolczko, Sun Microsystems, Sep 1996,
- based on the Smalltalk implementation by John Maloney.
-
-*/
-
-// The code has been adapted for use as a C# benchmark by Microsoft.
-
-#define USE_STACK
-
-using Microsoft.Xunit.Performance;
-using System;
-using System.Collections;
-
-[assembly: OptimizeForBenchmarks]
-[assembly: MeasureInstructionsRetired]
-
-/*
-Strengths are used to measure the relative importance of constraints.
-New strengths may be inserted in the strength hierarchy without
-disrupting current constraints. Strengths cannot be created outside
-this class, so pointer comparison can be used for value comparison.
-*/
-
-namespace V8
-{
-internal class Strength
-{
- private int _strengthValue;
- private String _name;
-
- private Strength(int strengthValue, String name)
- {
- _strengthValue = strengthValue;
- _name = name;
- }
-
- public static Boolean stronger(Strength s1, Strength s2)
- {
- return s1._strengthValue < s2._strengthValue;
- }
-
- public static Boolean weaker(Strength s1, Strength s2)
- {
- return s1._strengthValue > s2._strengthValue;
- }
-
- public static Strength weakestOf(Strength s1, Strength s2)
- {
- return weaker(s1, s2) ? s1 : s2;
- }
-
- public static Strength strongest(Strength s1, Strength s2)
- {
- return stronger(s1, s2) ? s1 : s2;
- }
-
- // for iteration
- public Strength nextWeaker()
- {
- switch (_strengthValue)
- {
- case 0: return weakest;
- case 1: return weakDefault;
- case 2: return normal;
- case 3: return strongDefault;
- case 4: return preferred;
- case 5: return strongPreferred;
-
- case 6:
- default:
- Console.Error.WriteLine("Invalid call to nextStrength()!");
- //System.exit(1);
- return null;
- }
- }
-
- // Strength constants
- public static Strength required = new Strength(0, "required");
- public static Strength strongPreferred = new Strength(1, "strongPreferred");
- public static Strength preferred = new Strength(2, "preferred");
- public static Strength strongDefault = new Strength(3, "strongDefault");
- public static Strength normal = new Strength(4, "normal");
- public static Strength weakDefault = new Strength(5, "weakDefault");
- public static Strength weakest = new Strength(6, "weakest");
-
- public void print()
- {
- Console.Write("strength[" + _strengthValue + "]");
- }
-}
-
-
-
-
-//------------------------------ variables ------------------------------
-
-// I represent a constrained variable. In addition to my value, I
-// maintain the structure of the constraint graph, the current
-// dataflow graph, and various parameters of interest to the DeltaBlue
-// incremental constraint solver.
-
-internal class Variable
-{
- public int value; // my value; changed by constraints
- public ArrayList constraints; // normal constraints that reference me
- public Constraint determinedBy; // the constraint that currently determines
- // my value (or null if there isn't one)
- public int mark; // used by the planner to mark constraints
- public Strength walkStrength; // my walkabout strength
- public Boolean stay; // true if I am a planning-time constant
- public String name; // a symbolic name for reporting purposes
-
-
- private Variable(String name, int initialValue, Strength walkStrength,
- int nconstraints)
- {
- value = initialValue;
- constraints = new ArrayList(nconstraints);
- determinedBy = null;
- mark = 0;
- this.walkStrength = walkStrength;
- stay = true;
- this.name = name;
- }
-
- public Variable(String name, int value) : this(name, value, Strength.weakest, 2)
- {
- }
-
- public Variable(String name) : this(name, 0, Strength.weakest, 2)
- {
- }
-
- public void print()
- {
- Console.Write(name + "(");
- walkStrength.print();
- Console.Write("," + value + ")");
- }
-
- // Add the given constraint to the set of all constraints that refer to me.
- public void addConstraint(Constraint c)
- {
- constraints.Add(c);
- }
-
- // Remove all traces of c from this variable.
- public void removeConstraint(Constraint c)
- {
- constraints.Remove(c);
- if (determinedBy == c) determinedBy = null;
- }
-
- // Attempt to assign the given value to me using the given strength.
- public void setValue(int value, Strength strength)
- {
- EditConstraint e = new EditConstraint(this, strength);
- if (e.isSatisfied())
- {
- this.value = value;
- deltablue.planner.propagateFrom(this);
- }
- e.destroyConstraint();
- }
-}
-
-
-
-
-//------------------------ constraints ------------------------------------
-
-// I am an abstract class representing a system-maintainable
-// relationship (or "constraint") between a set of variables. I supply
-// a strength instance variable; concrete subclasses provide a means
-// of storing the constrained variables and other information required
-// to represent a constraint.
-
-internal abstract class Constraint
-{
- public Strength strength; // the strength of this constraint
-
- public Constraint() { } // this has to be here because of
- // Java's constructor idiocy.
-
- public Constraint(Strength strength)
- {
- this.strength = strength;
- }
-
- // Answer true if this constraint is satisfied in the current solution.
- public abstract Boolean isSatisfied();
-
- // Record the fact that I am unsatisfied.
- public abstract void markUnsatisfied();
-
- // Normal constraints are not input constraints. An input constraint
- // is one that depends on external state, such as the mouse, the
- // keyboard, a clock, or some arbitrary piece of imperative code.
- public virtual Boolean isInput() { return false; }
-
- // Activate this constraint and attempt to satisfy it.
- public void addConstraint()
- {
- addToGraph();
- deltablue.planner.incrementalAdd(this);
- }
-
- // Deactivate this constraint, remove it from the constraint graph,
- // possibly causing other constraints to be satisfied, and destroy
- // it.
- public void destroyConstraint()
- {
- if (isSatisfied()) deltablue.planner.incrementalRemove(this);
- else
- removeFromGraph();
- }
-
- // Add myself to the constraint graph.
- public abstract void addToGraph();
-
- // Remove myself from the constraint graph.
- public abstract void removeFromGraph();
-
- // Decide if I can be satisfied and record that decision. The output
- // of the choosen method must not have the given mark and must have
- // a walkabout strength less than that of this constraint.
- public abstract void chooseMethod(int mark);
-
- // Set the mark of all input from the given mark.
- public abstract void markInputs(int mark);
-
- // Assume that I am satisfied. Answer true if all my current inputs
- // are known. A variable is known if either a) it is 'stay' (i.e. it
- // is a constant at plan execution time), b) it has the given mark
- // (indicating that it has been computed by a constraint appearing
- // earlier in the plan), or c) it is not determined by any
- // constraint.
- public abstract Boolean inputsKnown(int mark);
-
- // Answer my current output variable. Raise an error if I am not
- // currently satisfied.
- public abstract Variable output();
-
- // Attempt to find a way to enforce this constraint. If successful,
- // record the solution, perhaps modifying the current dataflow
- // graph. Answer the constraint that this constraint overrides, if
- // there is one, or nil, if there isn't.
- // Assume: I am not already satisfied.
- //
- public Constraint satisfy(int mark)
- {
- chooseMethod(mark);
- if (!isSatisfied())
- {
- if (strength == Strength.required)
- {
- deltablue.error("Could not satisfy a required constraint");
- }
- return null;
- }
- // constraint can be satisfied
- // mark inputs to allow cycle detection in addPropagate
- markInputs(mark);
- Variable outvar = output();
- Constraint overridden = outvar.determinedBy;
- if (overridden != null) overridden.markUnsatisfied();
- outvar.determinedBy = this;
- if (!deltablue.planner.addPropagate(this, mark))
- {
- Console.WriteLine("Cycle encountered");
- return null;
- }
- outvar.mark = mark;
- return overridden;
- }
-
- // Enforce this constraint. Assume that it is satisfied.
- public abstract void execute();
-
- // Calculate the walkabout strength, the stay flag, and, if it is
- // 'stay', the value for the current output of this
- // constraint. Assume this constraint is satisfied.
- public abstract void recalculate();
-
- public abstract void printInputs();
-
- public void printOutput() { output().print(); }
-
- public void print()
- {
- if (!isSatisfied())
- {
- Console.Write("Unsatisfied");
- }
- else
- {
- Console.Write("Satisfied(");
- printInputs();
- Console.Write(" -> ");
- printOutput();
- Console.Write(")");
- }
- Console.Write("\n");
- }
-}
-
-
-
-//-------------unary constraints-------------------------------------------
-
-// I am an abstract superclass for constraints having a single
-// possible output variable.
-//
-internal abstract class UnaryConstraint : Constraint
-{
- public Variable myOutput; // possible output variable
- public Boolean satisfied; // true if I am currently satisfied
-
- public UnaryConstraint(Variable v, Strength strength) : base(strength)
-
- {
- myOutput = v;
- satisfied = false;
- addConstraint();
- }
-
- // Answer true if this constraint is satisfied in the current solution.
- public override Boolean isSatisfied() { return satisfied; }
-
- // Record the fact that I am unsatisfied.
- public override void markUnsatisfied() { satisfied = false; }
-
- // Answer my current output variable.
- public override Variable output() { return myOutput; }
-
- // Add myself to the constraint graph.
- public override void addToGraph()
- {
- myOutput.addConstraint(this);
- satisfied = false;
- }
-
- // Remove myself from the constraint graph.
- public override void removeFromGraph()
- {
- if (myOutput != null) myOutput.removeConstraint(this);
- satisfied = false;
- }
-
- // Decide if I can be satisfied and record that decision.
- public override void chooseMethod(int mark)
- {
- satisfied = myOutput.mark != mark
- && Strength.stronger(strength, myOutput.walkStrength);
- }
-
- public override void markInputs(int mark) { } // I have no inputs
-
- public override Boolean inputsKnown(int mark) { return true; }
-
- // Calculate the walkabout strength, the stay flag, and, if it is
- // 'stay', the value for the current output of this
- // constraint. Assume this constraint is satisfied."
- public override void recalculate()
- {
- myOutput.walkStrength = strength;
- myOutput.stay = !isInput();
- if (myOutput.stay) execute(); // stay optimization
- }
-
- public override void printInputs() { } // I have no inputs
-}
-
-
-// I am a unary input constraint used to mark a variable that the
-// client wishes to change.
-//
-internal class EditConstraint : UnaryConstraint
-{
- public EditConstraint(Variable v, Strength str) : base(v, str) { }
-
- // I indicate that a variable is to be changed by imperative code.
- public override Boolean isInput() { return true; }
-
- public override void execute() { } // Edit constraints do nothing.
-}
-
-// I mark variables that should, with some level of preference, stay
-// the same. I have one method with zero inputs and one output, which
-// does nothing. Planners may exploit the fact that, if I am
-// satisfied, my output will not change during plan execution. This is
-// called "stay optimization".
-//
-internal class StayConstraint : UnaryConstraint
-{
- // Install a stay constraint with the given strength on the given variable.
- public StayConstraint(Variable v, Strength str) : base(v, str) { }
-
- public override void execute() { } // Stay constraints do nothing.
-}
-
-
-
-
-//-------------binary constraints-------------------------------------------
-
-
-// I am an abstract superclass for constraints having two possible
-// output variables.
-//
-internal abstract class BinaryConstraint : Constraint
-{
- public Variable v1, v2; // possible output variables
- public sbyte direction; // one of the following...
- public static sbyte backward = -1; // v1 is output
- public static sbyte nodirection = 0; // not satisfied
- public static sbyte forward = 1; // v2 is output
-
- public BinaryConstraint() { } // this has to be here because of
- // Java's constructor idiocy.
-
- public BinaryConstraint(Variable var1, Variable var2, Strength strength)
- : base(strength)
- {
- v1 = var1;
- v2 = var2;
- direction = nodirection;
- addConstraint();
- }
-
- // Answer true if this constraint is satisfied in the current solution.
- public override Boolean isSatisfied() { return direction != nodirection; }
-
- // Add myself to the constraint graph.
- public override void addToGraph()
- {
- v1.addConstraint(this);
- v2.addConstraint(this);
- direction = nodirection;
- }
-
- // Remove myself from the constraint graph.
- public override void removeFromGraph()
- {
- if (v1 != null) v1.removeConstraint(this);
- if (v2 != null) v2.removeConstraint(this);
- direction = nodirection;
- }
-
- // Decide if I can be satisfied and which way I should flow based on
- // the relative strength of the variables I relate, and record that
- // decision.
- //
- public override void chooseMethod(int mark)
- {
- if (v1.mark == mark)
- direction =
- v2.mark != mark && Strength.stronger(strength, v2.walkStrength)
- ? forward : nodirection;
-
- if (v2.mark == mark)
- direction =
- v1.mark != mark && Strength.stronger(strength, v1.walkStrength)
- ? backward : nodirection;
-
- // If we get here, neither variable is marked, so we have a choice.
- if (Strength.weaker(v1.walkStrength, v2.walkStrength))
- direction =
- Strength.stronger(strength, v1.walkStrength) ? backward : nodirection;
- else
- direction =
- Strength.stronger(strength, v2.walkStrength) ? forward : nodirection;
- }
-
- // Record the fact that I am unsatisfied.
- public override void markUnsatisfied() { direction = nodirection; }
-
- // Mark the input variable with the given mark.
- public override void markInputs(int mark)
- {
- input().mark = mark;
- }
-
- public override Boolean inputsKnown(int mark)
- {
- Variable i = input();
- return i.mark == mark || i.stay || i.determinedBy == null;
- }
-
- // Answer my current output variable.
- public override Variable output() { return direction == forward ? v2 : v1; }
-
- // Answer my current input variable
- public Variable input() { return direction == forward ? v1 : v2; }
-
- // Calculate the walkabout strength, the stay flag, and, if it is
- // 'stay', the value for the current output of this
- // constraint. Assume this constraint is satisfied.
- //
- public override void recalculate()
- {
- Variable invar = input(), outvar = output();
- outvar.walkStrength = Strength.weakestOf(strength, invar.walkStrength);
- outvar.stay = invar.stay;
- if (outvar.stay) execute();
- }
-
- public override void printInputs()
- {
- input().print();
- }
-}
-
-
-// I constrain two variables to have the same value: "v1 = v2".
-//
-internal class EqualityConstraint : BinaryConstraint
-{
- // Install a constraint with the given strength equating the given variables.
- public EqualityConstraint(Variable var1, Variable var2, Strength strength)
- : base(var1, var2, strength)
-
- {
- }
-
- // Enforce this constraint. Assume that it is satisfied.
- public override void execute()
- {
- output().value = input().value;
- }
-}
-
-
-// I relate two variables by the linear scaling relationship: "v2 =
-// (v1 * scale) + offset". Either v1 or v2 may be changed to maintain
-// this relationship but the scale factor and offset are considered
-// read-only.
-//
-internal class ScaleConstraint : BinaryConstraint
-{
- public Variable scale; // scale factor input variable
- public Variable offset; // offset input variable
-
- // Install a scale constraint with the given strength on the given variables.
- public ScaleConstraint(Variable src, Variable scale, Variable offset,
- Variable dest, Strength strength)
- {
- // Curse this wretched language for insisting that constructor invocation
- // must be the first thing in a method...
- // ..because of that, we must copy the code from the inherited
- // constructors.
- this.strength = strength;
- v1 = src;
- v2 = dest;
- direction = nodirection;
- this.scale = scale;
- this.offset = offset;
- addConstraint();
- }
-
- // Add myself to the constraint graph.
- public override void addToGraph()
- {
- base.addToGraph();
- scale.addConstraint(this);
- offset.addConstraint(this);
- }
-
- // Remove myself from the constraint graph.
- public override void removeFromGraph()
- {
- base.removeFromGraph();
- if (scale != null) scale.removeConstraint(this);
- if (offset != null) offset.removeConstraint(this);
- }
-
- // Mark the inputs from the given mark.
- public override void markInputs(int mark)
- {
- base.markInputs(mark);
- scale.mark = offset.mark = mark;
- }
-
- // Enforce this constraint. Assume that it is satisfied.
- public override void execute()
- {
- if (direction == forward)
- v2.value = v1.value * scale.value + offset.value;
- else
- v1.value = (v2.value - offset.value) / scale.value;
- }
-
- // Calculate the walkabout strength, the stay flag, and, if it is
- // 'stay', the value for the current output of this
- // constraint. Assume this constraint is satisfied.
- public override void recalculate()
- {
- Variable invar = input(), outvar = output();
- outvar.walkStrength = Strength.weakestOf(strength, invar.walkStrength);
- outvar.stay = invar.stay && scale.stay && offset.stay;
- if (outvar.stay) execute(); // stay optimization
- }
-}
-
-
-// ------------------------------------------------------------
-
-
-// A Plan is an ordered list of constraints to be executed in sequence
-// to resatisfy all currently satisfiable constraints in the face of
-// one or more changing inputs.
-
-internal class Plan
-{
- private ArrayList _v;
-
- public Plan() { _v = new ArrayList(); }
-
- public void addConstraint(Constraint c) { _v.Add(c); }
-
- public int size() { return _v.Count; }
-
- public Constraint constraintAt(int index)
- {
- return (Constraint)_v[index];
- }
-
- public void execute()
- {
- for (int i = 0; i < size(); ++i)
- {
- Constraint c = (Constraint)constraintAt(i);
- c.execute();
- }
- }
-}
-
-
-// ------------------------------------------------------------
-
-// The deltablue planner
-
-internal class Planner
-{
- private int _currentMark = 0;
-
- // Select a previously unused mark value.
- private int newMark() { return ++_currentMark; }
-
- public Planner()
- {
- _currentMark = 0;
- }
-
- // Attempt to satisfy the given constraint and, if successful,
- // incrementally update the dataflow graph. Details: If satifying
- // the constraint is successful, it may override a weaker constraint
- // on its output. The algorithm attempts to resatisfy that
- // constraint using some other method. This process is repeated
- // until either a) it reaches a variable that was not previously
- // determined by any constraint or b) it reaches a constraint that
- // is too weak to be satisfied using any of its methods. The
- // variables of constraints that have been processed are marked with
- // a unique mark value so that we know where we've been. This allows
- // the algorithm to avoid getting into an infinite loop even if the
- // constraint graph has an inadvertent cycle.
- //
- public void incrementalAdd(Constraint c)
- {
- int mark = newMark();
- Constraint overridden = c.satisfy(mark);
- while (overridden != null)
- {
- overridden = overridden.satisfy(mark);
- }
- }
-
-
- // Entry point for retracting a constraint. Remove the given
- // constraint and incrementally update the dataflow graph.
- // Details: Retracting the given constraint may allow some currently
- // unsatisfiable downstream constraint to be satisfied. We therefore collect
- // a list of unsatisfied downstream constraints and attempt to
- // satisfy each one in turn. This list is traversed by constraint
- // strength, strongest first, as a heuristic for avoiding
- // unnecessarily adding and then overriding weak constraints.
- // Assume: c is satisfied.
- //
- public void incrementalRemove(Constraint c)
- {
- Variable outvar = c.output();
- c.markUnsatisfied();
- c.removeFromGraph();
- ArrayList unsatisfied = removePropagateFrom(outvar);
- Strength strength = Strength.required;
- do
- {
- for (int i = 0; i < unsatisfied.Count; ++i)
- {
- Constraint u = (Constraint)unsatisfied[i];
- if (u.strength == strength)
- incrementalAdd(u);
- }
- strength = strength.nextWeaker();
- } while (strength != Strength.weakest);
- }
-
- // Recompute the walkabout strengths and stay flags of all variables
- // downstream of the given constraint and recompute the actual
- // values of all variables whose stay flag is true. If a cycle is
- // detected, remove the given constraint and answer
- // false. Otherwise, answer true.
- // Details: Cycles are detected when a marked variable is
- // encountered downstream of the given constraint. The sender is
- // assumed to have marked the inputs of the given constraint with
- // the given mark. Thus, encountering a marked node downstream of
- // the output constraint means that there is a path from the
- // constraint's output to one of its inputs.
- //
- public Boolean addPropagate(Constraint c, int mark)
- {
- ArrayList todo = new ArrayList();
- todo.Add(c);
- while (!(todo.Count == 0))
- {
-#if USE_STACK
- Constraint d = (Constraint)todo[todo.Count - 1];
- todo.RemoveAt(todo.Count - 1);
-#else
- Constraint d= (Constraint)todo[0];
- todo.RemoveAt(0);
-#endif
- if (d.output().mark == mark)
- {
- incrementalRemove(c);
- return false;
- }
- d.recalculate();
- addConstraintsConsumingTo(d.output(), todo);
- }
- return true;
- }
-
-
- // The given variable has changed. Propagate new values downstream.
- public void propagateFrom(Variable v)
- {
- ArrayList todo = new ArrayList();
- addConstraintsConsumingTo(v, todo);
- while (!(todo.Count == 0))
- {
-#if USE_STACK
- Constraint c = (Constraint)todo[todo.Count - 1];
- todo.RemoveAt(0);
-#else
- Constraint c= (Constraint)todo[todo.Count-1];
- todo.RemoveAt(0);
-#endif
- c.execute();
- addConstraintsConsumingTo(c.output(), todo);
- }
- }
-
- // Update the walkabout strengths and stay flags of all variables
- // downstream of the given constraint. Answer a collection of
- // unsatisfied constraints sorted in order of decreasing strength.
- //
- public ArrayList removePropagateFrom(Variable outvar)
- {
- outvar.determinedBy = null;
- outvar.walkStrength = Strength.weakest;
- outvar.stay = true;
- ArrayList unsatisfied = new ArrayList();
- ArrayList todo = new ArrayList();
- todo.Add(outvar);
- while (!(todo.Count == 0))
- {
-#if USE_STACK
- Variable v = (Variable)todo[todo.Count - 1];
- todo.RemoveAt(todo.Count - 1);
-#else
- Variable v= (Variable)todo[0];
- todo.RemoveAt(0);
-#endif
- for (int i = 0; i < v.constraints.Count; ++i)
- {
- Constraint c = (Constraint)v.constraints[i];
- if (!c.isSatisfied())
- unsatisfied.Add(c);
- }
- Constraint determiningC = v.determinedBy;
- for (int i = 0; i < v.constraints.Count; ++i)
- {
- Constraint nextC = (Constraint)v.constraints[i];
- if (nextC != determiningC && nextC.isSatisfied())
- {
- nextC.recalculate();
- todo.Add(nextC.output());
- }
- }
- }
- return unsatisfied;
- }
-
- // Extract a plan for resatisfaction starting from the outputs of
- // the given constraints, usually a set of input constraints.
- //
- public Plan extractPlanFromConstraints(ArrayList constraints)
- {
- ArrayList sources = new ArrayList();
- for (int i = 0; i < constraints.Count; ++i)
- {
- Constraint c = (Constraint)constraints[i];
- if (c.isInput() && c.isSatisfied())
- sources.Add(c);
- }
- return makePlan(sources);
- }
-
- // Extract a plan for resatisfaction starting from the given source
- // constraints, usually a set of input constraints. This method
- // assumes that stay optimization is desired; the plan will contain
- // only constraints whose output variables are not stay. Constraints
- // that do no computation, such as stay and edit constraints, are
- // not included in the plan.
- // Details: The outputs of a constraint are marked when it is added
- // to the plan under construction. A constraint may be appended to
- // the plan when all its input variables are known. A variable is
- // known if either a) the variable is marked (indicating that has
- // been computed by a constraint appearing earlier in the plan), b)
- // the variable is 'stay' (i.e. it is a constant at plan execution
- // time), or c) the variable is not determined by any
- // constraint. The last provision is for past states of history
- // variables, which are not stay but which are also not computed by
- // any constraint.
- // Assume: sources are all satisfied.
- //
- public Plan makePlan(ArrayList sources)
- {
- int mark = newMark();
- Plan plan = new Plan();
- ArrayList todo = sources;
- while (!(todo.Count == 0))
- {
-#if USE_STACK
- Constraint c = (Constraint)todo[todo.Count - 1];
- todo.RemoveAt(todo.Count - 1);
-#else
- Constraint c= (Constraint)todo[todo.Count-1];
- todo.RemoveAt(0);
-#endif
- if (c.output().mark != mark && c.inputsKnown(mark))
- {
- // not in plan already and eligible for inclusion
- plan.addConstraint(c);
- c.output().mark = mark;
- addConstraintsConsumingTo(c.output(), todo);
- }
- }
- return plan;
- }
-
- public void addConstraintsConsumingTo(Variable v, ArrayList coll)
- {
- Constraint determiningC = v.determinedBy;
- ArrayList cc = v.constraints;
- for (int i = 0; i < cc.Count; ++i)
- {
- Constraint c = (Constraint)cc[i];
- if (c != determiningC && c.isSatisfied())
- coll.Add(c);
- }
- }
-}
-
-//------------------------------------------------------------
-
-public class deltablue
-{
- internal static Planner planner;
- internal static int chains, projections;
-
- public static int Main(String[] args)
- {
- deltablue d = new deltablue();
- bool result = d.inst_main(args);
- return (result ? 100 : -1);
- }
-
- [Benchmark]
- public static void Bench()
- {
- deltablue d = new deltablue();
- int iterations = 200;
- foreach (var iteration in Benchmark.Iterations)
- {
- using (iteration.StartMeasurement())
- {
- d.inst_inner(iterations, false);
- }
- }
- }
-
- public bool inst_main(String[] args)
- {
- int iterations = 200; // read iterations from arguments, walter 7/97
- if (args.Length > 0)
- {
- bool parsed = Int32.TryParse(args[0], out iterations);
- if (!parsed)
- {
- Console.WriteLine("Error: expected iteration count, got '{0}'", args[0]);
- return false;
- }
- }
-
- inst_inner(iterations, true);
-
- return true;
- }
-
- public void inst_inner(int iterations, bool verbose)
- {
- chains = 0; // NS 11/11
- projections = 0; // NS 11/11
- if (verbose)
- {
- Console.WriteLine("deltablue parameters: " + iterations + " iterations");
- }
-
- DateTime start = DateTime.Now;
- for (int i = 0; i < iterations; i++)
- {
- chainTest(1000);
- projectionTest(1000);
- }
- DateTime end = DateTime.Now;
- TimeSpan dur = end - start;
- if (verbose)
- {
- Console.WriteLine("chains : " + chains); //NS
- Console.WriteLine("projections : " + projections); //NS
- Console.WriteLine("Doing {0} iters of Deltablue takes {1} ms; {2} us/iter.",
- iterations, dur.TotalMilliseconds, (1000.0 * dur.TotalMilliseconds) / iterations);
- }
- }
-
- // This is the standard DeltaBlue benchmark. A long chain of
- // equality constraints is constructed with a stay constraint on
- // one end. An edit constraint is then added to the opposite end
- // and the time is measured for adding and removing this
- // constraint, and extracting and executing a constraint
- // satisfaction plan. There are two cases. In case 1, the added
- // constraint is stronger than the stay constraint and values must
- // propagate down the entire length of the chain. In case 2, the
- // added constraint is weaker than the stay constraint so it cannot
- // be accomodated. The cost in this case is, of course, very
- // low. Typical situations lie somewhere between these two
- // extremes.
- //
- private void chainTest(int n)
- {
- planner = new Planner();
-
- Variable prev = null, first = null, last = null;
-
- // Build chain of n equality constraints
- for (int i = 0; i <= n; i++)
- {
- String name = "v" + i;
- Variable v = new Variable(name);
- if (prev != null)
- new EqualityConstraint(prev, v, Strength.required);
- if (i == 0) first = v;
- if (i == n) last = v;
- prev = v;
- }
-
- new StayConstraint(last, Strength.strongDefault);
- Constraint editC = new EditConstraint(first, Strength.preferred);
- ArrayList editV = new ArrayList();
- editV.Add(editC);
- Plan plan = planner.extractPlanFromConstraints(editV);
- for (int i = 0; i < 100; i++)
- {
- first.value = i;
- plan.execute();
- if (last.value != i)
- error("Chain test failed!");
- }
- editC.destroyConstraint();
- deltablue.chains++;
- }
-
-
- // This test constructs a two sets of variables related to each
- // other by a simple linear transformation (scale and offset). The
- // time is measured to change a variable on either side of the
- // mapping and to change the scale and offset factors.
- //
- private void projectionTest(int n)
- {
- planner = new Planner();
-
- Variable scale = new Variable("scale", 10);
- Variable offset = new Variable("offset", 1000);
- Variable src = null, dst = null;
-
- ArrayList dests = new ArrayList();
-
- for (int i = 0; i < n; ++i)
- {
- src = new Variable("src" + i, i);
- dst = new Variable("dst" + i, i);
- dests.Add(dst);
- new StayConstraint(src, Strength.normal);
- new ScaleConstraint(src, scale, offset, dst, Strength.required);
- }
-
- change(src, 17);
- if (dst.value != 1170) error("Projection test 1 failed!");
-
- change(dst, 1050);
- if (src.value != 5) error("Projection test 2 failed!");
-
- change(scale, 5);
- for (int i = 0; i < n - 1; ++i)
- {
- if (((Variable)dests[i]).value != i * 5 + 1000)
- error("Projection test 3 failed!");
- }
-
- change(offset, 2000);
- for (int i = 0; i < n - 1; ++i)
- {
- if (((Variable)dests[i]).value != i * 5 + 2000)
- error("Projection test 4 failed!");
- }
- deltablue.projections++;
- }
-
- private void change(Variable var, int newValue)
- {
- EditConstraint editC = new EditConstraint(var, Strength.preferred);
- ArrayList editV = new ArrayList();
- editV.Add(editC);
- Plan plan = planner.extractPlanFromConstraints(editV);
- for (int i = 0; i < 10; i++)
- {
- var.value = newValue;
- plan.execute();
- }
- editC.destroyConstraint();
- }
-
- public static void error(String s)
- {
- throw new Exception(s);
- }
-}
-}
diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj
index b4572c61a5..f81039d693 100644
--- a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj
+++ b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
@@ -7,18 +7,14 @@
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
<NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <PropertyGroup>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
@@ -38,6 +34,5 @@
<ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES
new file mode 100644
index 0000000000..7eff233b54
--- /dev/null
+++ b/tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES
@@ -0,0 +1,21 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for A Benchmark Test for Systems Implementation Languages
+------------------------------------------------------------------------
+
+http://www.cl.cam.ac.uk/~mr10/Bench/README
+
+Please feel free to re-implement this benchmark in any language you
+choose. I would be happy to incorporate such tranlations into this
+distribution together with their timing/size results.
+
+Martin Richards
+23 February 2007