Add our own legacy loop unswitch pass (#1339)

Since legacy binding for loop unswitch pass was removed and we can't get
it back. Implement its equivalent in `aot_llvm_extra.cpp` and use it in
`aot_compiler.c`.

Follow up to #1183.
This commit is contained in:
Petr Penzin
2022-07-28 19:29:02 -07:00
committed by GitHub
parent 653b926d53
commit c075844001
3 changed files with 14 additions and 3 deletions

View File

@ -66,6 +66,9 @@ aot_check_simd_compatibility(const char *arch_c_str, const char *cpu_c_str);
void
aot_add_expand_memory_op_pass(LLVMPassManagerRef pass);
void
aot_add_simple_loop_unswitch_pass(LLVMPassManagerRef pass);
void
aot_func_disable_tce(LLVMValueRef func);
@ -258,6 +261,12 @@ aot_add_expand_memory_op_pass(LLVMPassManagerRef pass)
unwrap(pass)->add(new ExpandMemoryOpPass());
}
void
aot_add_simple_loop_unswitch_pass(LLVMPassManagerRef pass)
{
unwrap(pass)->add(createSimpleLoopUnswitchLegacyPass());
}
bool
aot_check_simd_compatibility(const char *arch_c_str, const char *cpu_c_str)
{