File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -153,6 +153,12 @@ class InlineFunctionCallVisitor : public PassUtils::PassVisitor<InlineFunctionCa
153
153
ASR::ExternalSymbol_t* called_sym_ext = ASR::down_cast<ASR::ExternalSymbol_t>(x.m_name );
154
154
ASR::symbol_t * f_sym = ASRUtils::symbol_get_past_external (called_sym_ext->m_external );
155
155
ASR::Function_t* f = ASR::down_cast<ASR::Function_t>(f_sym);
156
+
157
+ // Never inline intrinsic functions
158
+ if ( ASRUtils::is_intrinsic_function2 (f) ) {
159
+ return ;
160
+ }
161
+
156
162
ASR::symbol_t * called_sym = x.m_name ;
157
163
158
164
// TODO: Handle later
@@ -211,12 +217,6 @@ class InlineFunctionCallVisitor : public PassUtils::PassVisitor<InlineFunctionCa
211
217
return ;
212
218
}
213
219
214
- // Never inline intrinsic functions
215
- if ( ASRUtils::is_intrinsic_function2 (func) ||
216
- startswith (func->m_name ," _lfortran_" ) ) {
217
- return ;
218
- }
219
-
220
220
if ( !is_fast && !ASRUtils::get_FunctionType (func)->m_inline ) {
221
221
return ;
222
222
}
@@ -346,6 +346,11 @@ class InlineFunctionCallVisitor : public PassUtils::PassVisitor<InlineFunctionCa
346
346
}
347
347
}
348
348
349
+ // Never Inline BindC Function
350
+ if (ASRUtils::get_FunctionType (func)->m_abi == ASR::abiType::BindC){
351
+ return ;
352
+ }
353
+
349
354
if ( success ) {
350
355
// Set inlining_function to true so that we inline
351
356
// only one function at a time.
You can’t perform that action at this time.
0 commit comments