@@ -56,7 +56,7 @@ pub enum OutputType {
56
56
57
57
pub fn llvm_err ( sess : & Session , msg : String ) -> ! {
58
58
unsafe {
59
- let cstr = llvm:: llvm :: LLVMRustGetLastError ( ) ;
59
+ let cstr = llvm:: LLVMRustGetLastError ( ) ;
60
60
if cstr == ptr:: null ( ) {
61
61
sess. fatal ( msg. as_slice ( ) ) ;
62
62
} else {
@@ -78,7 +78,7 @@ pub fn write_output_file(
78
78
file_type : llvm:: FileType ) {
79
79
unsafe {
80
80
output. with_c_str ( |output| {
81
- let result = llvm:: llvm :: LLVMRustWriteOutputFile (
81
+ let result = llvm:: LLVMRustWriteOutputFile (
82
82
target, pm, m, output, file_type) ;
83
83
if !result {
84
84
llvm_err ( sess, "could not write output" . to_string ( ) ) ;
@@ -147,7 +147,7 @@ pub mod write {
147
147
148
148
if sess. opts . cg . save_temps {
149
149
output. with_extension ( "no-opt.bc" ) . with_c_str ( |buf| {
150
- llvm:: llvm :: LLVMWriteBitcodeToFile ( llmod, buf) ;
150
+ llvm:: LLVMWriteBitcodeToFile ( llmod, buf) ;
151
151
} )
152
152
}
153
153
@@ -193,7 +193,7 @@ pub mod write {
193
193
. with_c_str ( |t| {
194
194
sess. opts . cg . target_cpu . as_slice ( ) . with_c_str ( |cpu| {
195
195
target_feature ( sess) . with_c_str ( |features| {
196
- llvm:: llvm :: LLVMRustCreateTargetMachine (
196
+ llvm:: LLVMRustCreateTargetMachine (
197
197
t, cpu, features,
198
198
llvm:: CodeModelDefault ,
199
199
reloc_model,
@@ -212,26 +212,26 @@ pub mod write {
212
212
// does, and are by populated by LLVM's default PassManagerBuilder.
213
213
// Each manager has a different set of passes, but they also share
214
214
// some common passes.
215
- let fpm = llvm:: llvm :: LLVMCreateFunctionPassManagerForModule ( llmod) ;
216
- let mpm = llvm:: llvm :: LLVMCreatePassManager ( ) ;
215
+ let fpm = llvm:: LLVMCreateFunctionPassManagerForModule ( llmod) ;
216
+ let mpm = llvm:: LLVMCreatePassManager ( ) ;
217
217
218
218
// If we're verifying or linting, add them to the function pass
219
219
// manager.
220
220
let addpass = |pass : & str | {
221
- pass. as_slice ( ) . with_c_str ( |s| llvm:: llvm :: LLVMRustAddPass ( fpm, s) )
221
+ pass. as_slice ( ) . with_c_str ( |s| llvm:: LLVMRustAddPass ( fpm, s) )
222
222
} ;
223
223
if !sess. no_verify ( ) { assert ! ( addpass( "verify" ) ) ; }
224
224
225
225
if !sess. opts . cg . no_prepopulate_passes {
226
- llvm:: llvm :: LLVMRustAddAnalysisPasses ( tm, fpm, llmod) ;
227
- llvm:: llvm :: LLVMRustAddAnalysisPasses ( tm, mpm, llmod) ;
226
+ llvm:: LLVMRustAddAnalysisPasses ( tm, fpm, llmod) ;
227
+ llvm:: LLVMRustAddAnalysisPasses ( tm, mpm, llmod) ;
228
228
populate_llvm_passes ( fpm, mpm, llmod, opt_level,
229
229
trans. no_builtins ) ;
230
230
}
231
231
232
232
for pass in sess. opts . cg . passes . iter ( ) {
233
233
pass. as_slice ( ) . with_c_str ( |s| {
234
- if !llvm:: llvm :: LLVMRustAddPass ( mpm, s) {
234
+ if !llvm:: LLVMRustAddPass ( mpm, s) {
235
235
sess. warn ( format ! ( "unknown pass {}, ignoring" ,
236
236
* pass) . as_slice ( ) ) ;
237
237
}
@@ -240,13 +240,13 @@ pub mod write {
240
240
241
241
// Finally, run the actual optimization passes
242
242
time ( sess. time_passes ( ) , "llvm function passes" , ( ) , |( ) |
243
- llvm:: llvm :: LLVMRustRunFunctionPassManager ( fpm, llmod) ) ;
243
+ llvm:: LLVMRustRunFunctionPassManager ( fpm, llmod) ) ;
244
244
time ( sess. time_passes ( ) , "llvm module passes" , ( ) , |( ) |
245
- llvm:: llvm :: LLVMRunPassManager ( mpm, llmod) ) ;
245
+ llvm:: LLVMRunPassManager ( mpm, llmod) ) ;
246
246
247
247
// Deallocate managers that we're now done with
248
- llvm:: llvm :: LLVMDisposePassManager ( fpm) ;
249
- llvm:: llvm :: LLVMDisposePassManager ( mpm) ;
248
+ llvm:: LLVMDisposePassManager ( fpm) ;
249
+ llvm:: LLVMDisposePassManager ( mpm) ;
250
250
251
251
// Emit the bytecode if we're either saving our temporaries or
252
252
// emitting an rlib. Whenever an rlib is created, the bytecode is
@@ -255,7 +255,7 @@ pub mod write {
255
255
( sess. crate_types . borrow ( ) . contains ( & config:: CrateTypeRlib ) &&
256
256
sess. opts . output_types . contains ( & OutputTypeExe ) ) {
257
257
output. temp_path ( OutputTypeBitcode ) . with_c_str ( |buf| {
258
- llvm:: llvm :: LLVMWriteBitcodeToFile ( llmod, buf) ;
258
+ llvm:: LLVMWriteBitcodeToFile ( llmod, buf) ;
259
259
} )
260
260
}
261
261
@@ -265,7 +265,7 @@ pub mod write {
265
265
266
266
if sess. opts . cg . save_temps {
267
267
output. with_extension ( "lto.bc" ) . with_c_str ( |buf| {
268
- llvm:: llvm :: LLVMWriteBitcodeToFile ( llmod, buf) ;
268
+ llvm:: LLVMWriteBitcodeToFile ( llmod, buf) ;
269
269
} )
270
270
}
271
271
}
@@ -281,11 +281,11 @@ pub mod write {
281
281
fn with_codegen ( tm : TargetMachineRef , llmod : ModuleRef ,
282
282
no_builtins : bool , f: |PassManagerRef |) {
283
283
unsafe {
284
- let cpm = llvm:: llvm :: LLVMCreatePassManager ( ) ;
285
- llvm:: llvm :: LLVMRustAddAnalysisPasses ( tm, cpm, llmod) ;
286
- llvm:: llvm :: LLVMRustAddLibraryInfo ( cpm, llmod, no_builtins) ;
284
+ let cpm = llvm:: LLVMCreatePassManager ( ) ;
285
+ llvm:: LLVMRustAddAnalysisPasses ( tm, cpm, llmod) ;
286
+ llvm:: LLVMRustAddLibraryInfo ( cpm, llmod, no_builtins) ;
287
287
f ( cpm) ;
288
- llvm:: llvm :: LLVMDisposePassManager ( cpm) ;
288
+ llvm:: LLVMDisposePassManager ( cpm) ;
289
289
}
290
290
}
291
291
@@ -296,13 +296,13 @@ pub mod write {
296
296
match * output_type {
297
297
OutputTypeBitcode => {
298
298
path. with_c_str ( |buf| {
299
- llvm:: llvm :: LLVMWriteBitcodeToFile ( llmod, buf) ;
299
+ llvm:: LLVMWriteBitcodeToFile ( llmod, buf) ;
300
300
} )
301
301
}
302
302
OutputTypeLlvmAssembly => {
303
303
path. with_c_str ( |output| {
304
304
with_codegen ( tm, llmod, trans. no_builtins , |cpm| {
305
- llvm:: llvm :: LLVMRustPrintModule ( cpm, llmod, output) ;
305
+ llvm:: LLVMRustPrintModule ( cpm, llmod, output) ;
306
306
} )
307
307
} )
308
308
}
@@ -355,11 +355,11 @@ pub mod write {
355
355
}
356
356
} ) ;
357
357
358
- llvm:: llvm :: LLVMRustDisposeTargetMachine ( tm) ;
359
- llvm:: llvm :: LLVMDisposeModule ( trans. metadata_module ) ;
360
- llvm:: llvm :: LLVMDisposeModule ( llmod) ;
361
- llvm:: llvm :: LLVMContextDispose ( llcx) ;
362
- if sess. time_llvm_passes ( ) { llvm:: llvm :: LLVMRustPrintPassTimings ( ) ; }
358
+ llvm:: LLVMRustDisposeTargetMachine ( tm) ;
359
+ llvm:: LLVMDisposeModule ( trans. metadata_module ) ;
360
+ llvm:: LLVMDisposeModule ( llmod) ;
361
+ llvm:: LLVMContextDispose ( llcx) ;
362
+ if sess. time_llvm_passes ( ) { llvm:: LLVMRustPrintPassTimings ( ) ; }
363
363
}
364
364
}
365
365
@@ -426,31 +426,31 @@ pub mod write {
426
426
}
427
427
428
428
INIT . doit ( || {
429
- llvm:: llvm :: LLVMInitializePasses ( ) ;
429
+ llvm:: LLVMInitializePasses ( ) ;
430
430
431
431
// Only initialize the platforms supported by Rust here, because
432
432
// using --llvm-root will have multiple platforms that rustllvm
433
433
// doesn't actually link to and it's pointless to put target info
434
434
// into the registry that Rust cannot generate machine code for.
435
- llvm:: llvm :: LLVMInitializeX86TargetInfo ( ) ;
436
- llvm:: llvm :: LLVMInitializeX86Target ( ) ;
437
- llvm:: llvm :: LLVMInitializeX86TargetMC ( ) ;
438
- llvm:: llvm :: LLVMInitializeX86AsmPrinter ( ) ;
439
- llvm:: llvm :: LLVMInitializeX86AsmParser ( ) ;
440
-
441
- llvm:: llvm :: LLVMInitializeARMTargetInfo ( ) ;
442
- llvm:: llvm :: LLVMInitializeARMTarget ( ) ;
443
- llvm:: llvm :: LLVMInitializeARMTargetMC ( ) ;
444
- llvm:: llvm :: LLVMInitializeARMAsmPrinter ( ) ;
445
- llvm:: llvm :: LLVMInitializeARMAsmParser ( ) ;
446
-
447
- llvm:: llvm :: LLVMInitializeMipsTargetInfo ( ) ;
448
- llvm:: llvm :: LLVMInitializeMipsTarget ( ) ;
449
- llvm:: llvm :: LLVMInitializeMipsTargetMC ( ) ;
450
- llvm:: llvm :: LLVMInitializeMipsAsmPrinter ( ) ;
451
- llvm:: llvm :: LLVMInitializeMipsAsmParser ( ) ;
452
-
453
- llvm:: llvm :: LLVMRustSetLLVMOptions ( llvm_args. len ( ) as c_int ,
435
+ llvm:: LLVMInitializeX86TargetInfo ( ) ;
436
+ llvm:: LLVMInitializeX86Target ( ) ;
437
+ llvm:: LLVMInitializeX86TargetMC ( ) ;
438
+ llvm:: LLVMInitializeX86AsmPrinter ( ) ;
439
+ llvm:: LLVMInitializeX86AsmParser ( ) ;
440
+
441
+ llvm:: LLVMInitializeARMTargetInfo ( ) ;
442
+ llvm:: LLVMInitializeARMTarget ( ) ;
443
+ llvm:: LLVMInitializeARMTargetMC ( ) ;
444
+ llvm:: LLVMInitializeARMAsmPrinter ( ) ;
445
+ llvm:: LLVMInitializeARMAsmParser ( ) ;
446
+
447
+ llvm:: LLVMInitializeMipsTargetInfo ( ) ;
448
+ llvm:: LLVMInitializeMipsTarget ( ) ;
449
+ llvm:: LLVMInitializeMipsTargetMC ( ) ;
450
+ llvm:: LLVMInitializeMipsAsmPrinter ( ) ;
451
+ llvm:: LLVMInitializeMipsAsmParser ( ) ;
452
+
453
+ llvm:: LLVMRustSetLLVMOptions ( llvm_args. len ( ) as c_int ,
454
454
llvm_args. as_ptr ( ) ) ;
455
455
} ) ;
456
456
}
@@ -463,32 +463,32 @@ pub mod write {
463
463
// Create the PassManagerBuilder for LLVM. We configure it with
464
464
// reasonable defaults and prepare it to actually populate the pass
465
465
// manager.
466
- let builder = llvm:: llvm :: LLVMPassManagerBuilderCreate ( ) ;
466
+ let builder = llvm:: LLVMPassManagerBuilderCreate ( ) ;
467
467
match opt {
468
468
llvm:: CodeGenLevelNone => {
469
469
// Don't add lifetime intrinsics at O0
470
- llvm:: llvm :: LLVMRustAddAlwaysInlinePass ( builder, false ) ;
470
+ llvm:: LLVMRustAddAlwaysInlinePass ( builder, false ) ;
471
471
}
472
472
llvm:: CodeGenLevelLess => {
473
- llvm:: llvm :: LLVMRustAddAlwaysInlinePass ( builder, true ) ;
473
+ llvm:: LLVMRustAddAlwaysInlinePass ( builder, true ) ;
474
474
}
475
475
// numeric values copied from clang
476
476
llvm:: CodeGenLevelDefault => {
477
- llvm:: llvm :: LLVMPassManagerBuilderUseInlinerWithThreshold ( builder,
477
+ llvm:: LLVMPassManagerBuilderUseInlinerWithThreshold ( builder,
478
478
225 ) ;
479
479
}
480
480
llvm:: CodeGenLevelAggressive => {
481
- llvm:: llvm :: LLVMPassManagerBuilderUseInlinerWithThreshold ( builder,
481
+ llvm:: LLVMPassManagerBuilderUseInlinerWithThreshold ( builder,
482
482
275 ) ;
483
483
}
484
484
}
485
- llvm:: llvm :: LLVMPassManagerBuilderSetOptLevel ( builder, opt as c_uint ) ;
486
- llvm:: llvm :: LLVMRustAddBuilderLibraryInfo ( builder, llmod, no_builtins) ;
485
+ llvm:: LLVMPassManagerBuilderSetOptLevel ( builder, opt as c_uint ) ;
486
+ llvm:: LLVMRustAddBuilderLibraryInfo ( builder, llmod, no_builtins) ;
487
487
488
488
// Use the builder to populate the function/module pass managers.
489
- llvm:: llvm :: LLVMPassManagerBuilderPopulateFunctionPassManager ( builder, fpm) ;
490
- llvm:: llvm :: LLVMPassManagerBuilderPopulateModulePassManager ( builder, mpm) ;
491
- llvm:: llvm :: LLVMPassManagerBuilderDispose ( builder) ;
489
+ llvm:: LLVMPassManagerBuilderPopulateFunctionPassManager ( builder, fpm) ;
490
+ llvm:: LLVMPassManagerBuilderPopulateModulePassManager ( builder, mpm) ;
491
+ llvm:: LLVMPassManagerBuilderDispose ( builder) ;
492
492
}
493
493
}
494
494
0 commit comments