Skip to content

Draft: LLVM: upgrade JIT to LLVM 9 API

Ondřej Čertík requested to merge certik/lfortran:jit into master

TODO:

  • Upgrade all Docker images to LLVM 9 or 10
  • Update/fix tests that are currently commented out: they probably raise a different exception than expected or segfault
  • Figure out the situation with subroutine shadowing:
    • The LLVM modules do not allow to shadow subroutines anymore --- is that a change from the old JIT, can it be enabled, or that's the new model? I asked here: https://llvm.discourse.group/t/duplicate-symbols-in-separate-modules-no-longer-allowed/1805 Answer: yes, all symbols must be unique across all LLVM modules
    • assuming all LLVM function names must be unique across all LLVM modules, we have to decide whether ASR or the ASR2LLVM backend should track of shadowing and rename the new subroutine/function appropriately in LLVM IR
  • Fix the linking problem: !610 (comment 413847171)
  • Fix the Windows build failure: !610 (comment 413848175)
Edited by Ondřej Čertík

Merge request reports