@@ -111,38 +111,14 @@ pub mod write {
111
111
let llmod = trans. module ;
112
112
let llcx = trans. context ;
113
113
unsafe {
114
- llvm:: LLVMInitializePasses ( ) ;
115
-
116
- // Only initialize the platforms supported by Rust here, because
117
- // using --llvm-root will have multiple platforms that rustllvm
118
- // doesn't actually link to and it's pointless to put target info
119
- // into the registry that Rust can not generate machine code for.
120
- llvm:: LLVMInitializeX86TargetInfo ( ) ;
121
- llvm:: LLVMInitializeX86Target ( ) ;
122
- llvm:: LLVMInitializeX86TargetMC ( ) ;
123
- llvm:: LLVMInitializeX86AsmPrinter ( ) ;
124
- llvm:: LLVMInitializeX86AsmParser ( ) ;
125
-
126
- llvm:: LLVMInitializeARMTargetInfo ( ) ;
127
- llvm:: LLVMInitializeARMTarget ( ) ;
128
- llvm:: LLVMInitializeARMTargetMC ( ) ;
129
- llvm:: LLVMInitializeARMAsmPrinter ( ) ;
130
- llvm:: LLVMInitializeARMAsmParser ( ) ;
131
-
132
- llvm:: LLVMInitializeMipsTargetInfo ( ) ;
133
- llvm:: LLVMInitializeMipsTarget ( ) ;
134
- llvm:: LLVMInitializeMipsTargetMC ( ) ;
135
- llvm:: LLVMInitializeMipsAsmPrinter ( ) ;
136
- llvm:: LLVMInitializeMipsAsmParser ( ) ;
114
+ configure_llvm ( sess) ;
137
115
138
116
if sess. opts . save_temps {
139
117
output. with_extension ( "no-opt.bc" ) . with_c_str ( |buf| {
140
118
llvm:: LLVMWriteBitcodeToFile ( llmod, buf) ;
141
119
} )
142
120
}
143
121
144
- configure_llvm ( sess) ;
145
-
146
122
let OptLevel = match sess. opts . optimize {
147
123
session:: No => lib:: llvm:: CodeGenLevelNone ,
148
124
session:: Less => lib:: llvm:: CodeGenLevelLess ,
@@ -367,6 +343,30 @@ pub mod write {
367
343
368
344
LOCK . lock ( ) ;
369
345
if !CONFIGURED {
346
+ llvm:: LLVMInitializePasses ( ) ;
347
+
348
+ // Only initialize the platforms supported by Rust here, because
349
+ // using --llvm-root will have multiple platforms that rustllvm
350
+ // doesn't actually link to and it's pointless to put target info
351
+ // into the registry that Rust can not generate machine code for.
352
+ llvm:: LLVMInitializeX86TargetInfo ( ) ;
353
+ llvm:: LLVMInitializeX86Target ( ) ;
354
+ llvm:: LLVMInitializeX86TargetMC ( ) ;
355
+ llvm:: LLVMInitializeX86AsmPrinter ( ) ;
356
+ llvm:: LLVMInitializeX86AsmParser ( ) ;
357
+
358
+ llvm:: LLVMInitializeARMTargetInfo ( ) ;
359
+ llvm:: LLVMInitializeARMTarget ( ) ;
360
+ llvm:: LLVMInitializeARMTargetMC ( ) ;
361
+ llvm:: LLVMInitializeARMAsmPrinter ( ) ;
362
+ llvm:: LLVMInitializeARMAsmParser ( ) ;
363
+
364
+ llvm:: LLVMInitializeMipsTargetInfo ( ) ;
365
+ llvm:: LLVMInitializeMipsTarget ( ) ;
366
+ llvm:: LLVMInitializeMipsTargetMC ( ) ;
367
+ llvm:: LLVMInitializeMipsAsmPrinter ( ) ;
368
+ llvm:: LLVMInitializeMipsAsmParser ( ) ;
369
+
370
370
llvm:: LLVMRustSetLLVMOptions ( llvm_args. len ( ) as c_int ,
371
371
llvm_args. as_ptr ( ) ) ;
372
372
CONFIGURED = true ;
0 commit comments