Skip to content

Commit 5bdbe9d

Browse files
committed
Turn off fast_ffi for some rarely-used LLVM calls
1 parent e59bbe9 commit 5bdbe9d

File tree

1 file changed

+1
-24
lines changed

1 file changed

+1
-24
lines changed

src/librustc/lib/llvm.rs

+1-24
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,7 @@ pub mod llvm {
274274
#[abi = "cdecl"]
275275
pub extern {
276276
/* Create and destroy contexts. */
277-
#[fast_ffi]
278277
pub unsafe fn LLVMContextCreate() -> ContextRef;
279-
#[fast_ffi]
280278
pub unsafe fn LLVMContextDispose(C: ContextRef);
281279
#[fast_ffi]
282280
pub unsafe fn LLVMGetMDKindIDInContext(C: ContextRef,
@@ -285,13 +283,11 @@ pub mod llvm {
285283
-> c_uint;
286284

287285
/* Create and destroy modules. */
288-
#[fast_ffi]
289286
pub unsafe fn LLVMModuleCreateWithNameInContext(ModuleID: *c_char,
290287
C: ContextRef)
291288
-> ModuleRef;
292289
#[fast_ffi]
293290
pub unsafe fn LLVMGetModuleContext(M: ModuleRef) -> ContextRef;
294-
#[fast_ffi]
295291
pub unsafe fn LLVMDisposeModule(M: ModuleRef);
296292

297293
/** Data layout. See Module::getDataLayout. */
@@ -307,7 +303,6 @@ pub mod llvm {
307303
pub unsafe fn LLVMSetTarget(M: ModuleRef, Triple: *c_char);
308304

309305
/** See Module::dump. */
310-
#[fast_ffi]
311306
pub unsafe fn LLVMDumpModule(M: ModuleRef);
312307

313308
/** See Module::setModuleInlineAsm. */
@@ -1598,7 +1593,6 @@ pub mod llvm {
15981593
pub unsafe fn LLVMIsATerminatorInst(Inst: ValueRef) -> ValueRef;
15991594

16001595
/** Writes a module to the specified path. Returns 0 on success. */
1601-
#[fast_ffi]
16021596
pub unsafe fn LLVMWriteBitcodeToFile(M: ModuleRef,
16031597
Path: *c_char) -> c_int;
16041598

@@ -1648,40 +1642,30 @@ pub mod llvm {
16481642
pub unsafe fn LLVMDisposeTargetData(TD: TargetDataRef);
16491643

16501644
/** Creates a pass manager. */
1651-
#[fast_ffi]
16521645
pub unsafe fn LLVMCreatePassManager() -> PassManagerRef;
16531646
/** Creates a function-by-function pass manager */
1654-
#[fast_ffi]
16551647
pub unsafe fn LLVMCreateFunctionPassManagerForModule(M:ModuleRef) -> PassManagerRef;
16561648

16571649
/** Disposes a pass manager. */
1658-
#[fast_ffi]
16591650
pub unsafe fn LLVMDisposePassManager(PM: PassManagerRef);
16601651

16611652
/** Runs a pass manager on a module. */
1662-
#[fast_ffi]
16631653
pub unsafe fn LLVMRunPassManager(PM: PassManagerRef,
16641654
M: ModuleRef) -> Bool;
16651655

16661656
/** Runs the function passes on the provided function. */
1667-
#[fast_ffi]
16681657
pub unsafe fn LLVMRunFunctionPassManager(FPM:PassManagerRef, F:ValueRef) -> Bool;
16691658

16701659
/** Initializes all the function passes scheduled in the manager */
1671-
#[fast_ffi]
16721660
pub unsafe fn LLVMInitializeFunctionPassManager(FPM:PassManagerRef) -> Bool;
16731661

16741662
/** Finalizes all the function passes scheduled in the manager */
1675-
#[fast_ffi]
16761663
pub unsafe fn LLVMFinalizeFunctionPassManager(FPM:PassManagerRef) -> Bool;
16771664

1678-
#[fast_ffi]
16791665
pub unsafe fn LLVMInitializePasses();
16801666

1681-
#[fast_ffi]
16821667
pub unsafe fn LLVMAddPass(PM:PassManagerRef,P:PassRef);
16831668

1684-
#[fast_ffi]
16851669
pub unsafe fn LLVMCreatePass(PassName:*c_char) -> PassRef;
16861670

16871671
#[fast_ffi]
@@ -1763,9 +1747,7 @@ pub mod llvm {
17631747
#[fast_ffi]
17641748
pub unsafe fn LLVMAddBasicAliasAnalysisPass(PM: PassManagerRef);
17651749

1766-
#[fast_ffi]
17671750
pub unsafe fn LLVMPassManagerBuilderCreate() -> PassManagerBuilderRef;
1768-
#[fast_ffi]
17691751
pub unsafe fn LLVMPassManagerBuilderDispose(PMB:
17701752
PassManagerBuilderRef);
17711753
#[fast_ffi]
@@ -1802,19 +1784,17 @@ pub mod llvm {
18021784
/* Stuff that's in rustllvm/ because it's not upstream yet. */
18031785

18041786
/** Opens an object file. */
1805-
#[fast_ffi]
18061787
pub unsafe fn LLVMCreateObjectFile(MemBuf: MemoryBufferRef)
18071788
-> ObjectFileRef;
18081789
/** Closes an object file. */
1809-
#[fast_ffi]
18101790
pub unsafe fn LLVMDisposeObjectFile(ObjFile: ObjectFileRef);
18111791

18121792
/** Enumerates the sections in an object file. */
18131793
#[fast_ffi]
18141794
pub unsafe fn LLVMGetSections(ObjFile: ObjectFileRef)
18151795
-> SectionIteratorRef;
18161796
/** Destroys a section iterator. */
1817-
#[fast_ffi]
1797+
18181798
pub unsafe fn LLVMDisposeSectionIterator(SI: SectionIteratorRef);
18191799
/** Returns true if the section iterator is at the end of the section
18201800
list: */
@@ -1843,7 +1823,6 @@ pub mod llvm {
18431823
Path: *c_char)
18441824
-> MemoryBufferRef;
18451825

1846-
#[fast_ffi]
18471826
pub unsafe fn LLVMRustWriteOutputFile(PM: PassManagerRef,
18481827
M: ModuleRef,
18491828
Triple: *c_char,
@@ -1894,11 +1873,9 @@ pub mod llvm {
18941873
Output: *c_char);
18951874

18961875
/** Turn on LLVM pass-timing. */
1897-
#[fast_ffi]
18981876
pub unsafe fn LLVMRustEnableTimePasses();
18991877

19001878
/// Print the pass timings since static dtors aren't picking them up.
1901-
#[fast_ffi]
19021879
pub unsafe fn LLVMRustPrintPassTimings();
19031880

19041881
#[fast_ffi]

0 commit comments

Comments
 (0)