Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VMR] light up Mono LLVM lanes #19398

Merged
merged 5 commits into from
Apr 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions eng/pipelines/templates/stages/vmr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,36 @@ stages:
targetOS: linux
targetArchitecture: x64

- template: ../jobs/vmr-build.yml
parameters:
buildName: Mariner_x64_Cross_ShortStack_Mono_LLVMAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ variables.marinerX64CrossContainer }}
crossRootFs: '/crossrootfs/x64'
useMonoRuntime: true
targetOS: linux
targetArchitecture: x64
extraProperties: /p:DotNetBuildMonoEnableLLVM=true /p:DotNetBuildMonoAOTEnableLLVM=true /p:DotNetBuildMonoBundleLLVMOptimizer=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: Mariner_x64_Cross_ShortStack_Mono_LLVMJIT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Linux }}
container: ${{ variables.marinerX64CrossContainer }}
crossRootFs: '/crossrootfs/x64'
useMonoRuntime: true
targetOS: linux
targetArchitecture: x64
extraProperties: /p:DotNetBuildMonoEnableLLVM=true /p:DotNetBuildMonoBundleLLVMOptimizer=false
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: Mariner_x64_Cross
Expand Down Expand Up @@ -826,6 +856,36 @@ stages:
targetArchitecture: arm64
extraProperties: /p:TargetRID=linux-musl-arm64

- template: ../jobs/vmr-build.yml
parameters:
buildName: Mariner_x64_Cross_ShortStack_Mono_LLVMAOT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_Linux }}
container: ${{ variables.marinerArm64CrossContainer }}
crossRootFs: '/crossrootfs/arm64'
useMonoRuntime: true
targetOS: linux
targetArchitecture: arm64
extraProperties: /p:DotNetBuildMonoEnableLLVM=true /p:DotNetBuildMonoAOTEnableLLVM=true /p:DotNetBuildMonoBundleLLVMOptimizer=true
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: Mariner_x64_Cross_ShortStack_Mono_LLVMJIT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
pool: ${{ parameters.pool_Linux }}
container: ${{ variables.marinerArm64CrossContainer }}
crossRootFs: '/crossrootfs/arm64'
useMonoRuntime: true
targetOS: linux
targetArchitecture: arm64
extraProperties: /p:DotNetBuildMonoEnableLLVM=true /p:DotNetBuildMonoBundleLLVMOptimizer=false
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: OSX
Expand All @@ -847,6 +907,19 @@ stages:
targetOS: osx
targetArchitecture: arm64

- template: ../jobs/vmr-build.yml
parameters:
buildName: OSX_ShortStack_Mono_LLVMJIT
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool: ${{ parameters.pool_Mac }}
useMonoRuntime: true
targetOS: osx
targetArchitecture: x64
extraProperties: /p:DotNetBuildMonoEnableLLVM=true /p:DotNetBuildMonoBundleLLVMOptimizer=false
runTests: false

- template: ../jobs/vmr-build.yml
parameters:
buildName: OSX_ShortStack_NativeAOT
Expand Down
2 changes: 2 additions & 0 deletions src/SourceBuild/content/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
<ShortStack Condition="'$(TargetOS)' == 'linux-bionic'">true</ShortStack>
<!-- NativeAOT Mac builds are short -->
<ShortStack Condition="'$(TargetOS)' == 'osx' and '$(DotNetBuildRuntimeNativeAOTRuntimePack)' == 'true'">true</ShortStack>
<!-- Mono LLVM builds are short -->
<ShortStack Condition="'$(MonoEnableLLVM)' == 'true' or '$(MonoAOTEnableLLVM)' == 'true'">true</ShortStack>
<!-- Short stack builds stop at runtime, not the whole SDK -->
<RootRepo Condition="'$(ShortStack)' == 'true'">runtime</RootRepo>
</PropertyGroup>
Expand Down
3 changes: 3 additions & 0 deletions src/SourceBuild/content/repo-projects/runtime.proj
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
<BuildArgs Condition="'$(ShortStack)' != 'true' and '$(TargetOS)' != 'linux-musl'">$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildRuntimeWasmEnableThreads)' == 'true'">$(BuildArgs) /p:DotNetBuildRuntimeWasmEnableThreads=true</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildRuntimeNativeAOTRuntimePack)' == 'true'">$(BuildArgs) /p:DotNetBuildRuntimeNativeAOTRuntimePack=true</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildMonoEnableLLVM)' != ''">$(BuildArgs) /p:DotNetBuildMonoEnableLLVM=$(DotNetBuildMonoEnableLLVM)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildMonoAOTEnableLLVM)' != ''">$(BuildArgs) /p:DotNetBuildMonoAOTEnableLLVM=$(DotNetBuildMonoAOTEnableLLVM)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildMonoBundleLLVMOptimizer)' != ''">$(BuildArgs) /p:DotNetBuildMonoBundleLLVMOptimizer=$(DotNetBuildMonoBundleLLVMOptimizer)</BuildArgs>
<BuildArgs Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) $(FlagParameterPrefix)pgoinstrument</BuildArgs>
</PropertyGroup>

Expand Down
Loading