@@ -109,6 +109,10 @@ enum EnvironmentCmd {
109109 #[ clap( flatten) ]
110110 shared : SharedArgs ,
111111 } ,
112+ MacCi {
113+ #[ clap( flatten) ]
114+ shared : SharedArgs ,
115+ }
112116}
113117
114118fn is_try_build ( ) -> bool {
@@ -191,6 +195,26 @@ fn create_environment(args: Args) -> anyhow::Result<(Environment, Vec<String>)>
191195
192196 ( env, shared. build_args )
193197 }
198+ EnvironmentCmd :: MacCi { shared } => {
199+ let target_triple =
200+ std:: env:: var ( "PGO_HOST" ) . expect ( "PGO_HOST environment variable missing" ) ;
201+
202+ let checkout_dir: Utf8PathBuf = std:: env:: current_dir ( ) ?. try_into ( ) ?;
203+ let env = EnvironmentBuilder :: default ( )
204+ . host_tuple ( target_triple)
205+ . python_binary ( "python3" . to_string ( ) )
206+ . checkout_dir ( checkout_dir. clone ( ) )
207+ . host_llvm_dir ( "/opt/homebrew/Cellar/llvm/20.1.2" . into ( ) )
208+ . artifact_dir ( checkout_dir. join ( "opt-artifacts" ) )
209+ . build_dir ( checkout_dir)
210+ . shared_llvm ( false )
211+ . use_bolt ( false )
212+ . run_tests ( false )
213+ . skipped_tests ( vec ! [ ] )
214+ . build ( ) ?;
215+
216+ ( env, shared. build_args )
217+ }
194218 } ;
195219 Ok ( ( env, args) )
196220}
@@ -250,6 +274,9 @@ fn execute_pipeline(
250274 // Here we build a PGO instrumented LLVM, reusing the previously PGO optimized rustc.
251275 // Then we use the instrumented LLVM to gather LLVM PGO profiles.
252276 let llvm_pgo_profile = timer. section ( "Stage 2 (LLVM PGO)" , |stage| {
277+ if 1 + 1 == 2 {
278+ return Err ( anyhow:: anyhow!( "disabled" ) ) ;
279+ }
253280 // Remove the previous, uninstrumented build of LLVM.
254281 clear_llvm_files ( env) ?;
255282
@@ -272,7 +299,7 @@ fn execute_pipeline(
272299 clear_llvm_files ( env) ?;
273300
274301 Ok ( profile)
275- } ) ? ;
302+ } ) ;
276303
277304 let bolt_profiles = if env. use_bolt ( ) {
278305 // Stage 3: Build BOLT instrumented LLVM
@@ -284,7 +311,7 @@ fn execute_pipeline(
284311 stage. section ( "Build PGO optimized LLVM" , |stage| {
285312 Bootstrap :: build ( env)
286313 . with_llvm_bolt_ldflags ( )
287- . llvm_pgo_optimize ( & llvm_pgo_profile)
314+ . llvm_pgo_optimize ( & llvm_pgo_profile? )
288315 . avoid_rustc_rebuild ( )
289316 . run ( stage)
290317 } ) ?;
@@ -336,7 +363,6 @@ fn execute_pipeline(
336363 } ;
337364
338365 let mut dist = Bootstrap :: dist ( env, & dist_args)
339- . llvm_pgo_optimize ( & llvm_pgo_profile)
340366 . rustc_pgo_optimize ( & rustc_pgo_profile)
341367 . avoid_rustc_rebuild ( ) ;
342368
0 commit comments