Skip to content

Commit 377cc12

Browse files
gptsarthakczgdp1807
authored andcommitted
Never inline intrinsic functions
1 parent 57ebbc8 commit 377cc12

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/libasr/pass/inline_function_calls.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,6 @@ class InlineFunctionCallVisitor : public PassUtils::PassVisitor<InlineFunctionCa
153153
ASR::ExternalSymbol_t* called_sym_ext = ASR::down_cast<ASR::ExternalSymbol_t>(x.m_name);
154154
ASR::symbol_t* f_sym = ASRUtils::symbol_get_past_external(called_sym_ext->m_external);
155155
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-
162156
ASR::symbol_t* called_sym = x.m_name;
163157

164158
// TODO: Handle later
@@ -217,6 +211,12 @@ class InlineFunctionCallVisitor : public PassUtils::PassVisitor<InlineFunctionCa
217211
return ;
218212
}
219213

214+
// Never inline intrinsic functions
215+
if( ASRUtils::is_intrinsic_function2(func) ||
216+
startswith(func->m_name,"_lfortran_") ) {
217+
return ;
218+
}
219+
220220
if( !is_fast && !ASRUtils::get_FunctionType(func)->m_inline ) {
221221
return ;
222222
}

0 commit comments

Comments
 (0)