Skip to content

IR with double constant doesn't work with OrcJIT build by MSVC #43682

@llvmbot

Description

@llvmbot
Bugzilla Link 44337
Resolution FIXED
Resolved on Jan 22, 2020 15:01
Version 9.0
OS Windows XP
Depends On #43681
Attachments The IR module, Binary IR module, The x86-64 assembler version of module
Reporter LLVM Bugzilla Contributor
CC @AlexDenisov,@dwblaikie,@lhames

Extended Description

Precondition:
LLVM 9.0.0 built by MSVC 2019.

Steps to reproduce:

  1. Load 'module.bc' to memory from the file.
  2. Add module to LLLazyJIT.
  3. Request address of function 'calculate'.
  4. Call function 'calculate'.

Expected result:
The function should be executed fine.

Actual result:
The OrcJIT failed on an assertion Core.cpp:867:
Assertion failed: I != Symbols.end() && "Symbol not found", file C:\Workspace\llvm-9.0.0.src\lib\ExecutionEngine\Orc\Core.cpp, line 867

Note:
I figured out that the missed symbol is __real@40091eb851eb851f. It appears after IR code is compiled by llc to assembler.

This issue is not observed on Linux and MinGW builds on Windows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillaorcjit

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions