[llvm-bugs] [Bug 38866] New: WebAssembly- assertion failure with alias for function

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Sep 7 05:17:58 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=38866

            Bug ID: 38866
           Summary: WebAssembly- assertion failure with alias for function
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: llc
          Assignee: unassignedbugs at nondot.org
          Reporter: dfordivam at gmail.com
                CC: llvm-bugs at lists.llvm.org

The alias in following code causes the below mentioned assertion with
webassembly target. It works fine with x86.

I guess this is because the alias Symbol is marked as 'isData' instead of
'isFunction'


llc: /home/divam/repos/llvm/lib/MC/WasmObjectWriter.cpp:1323: virtual uint64_t
{anonymous}::WasmObjectWriter::writeObject(llvm::MCAssembler&, const
llvm::MCAsmLayout&): Assertion `DataLocations.count(ResolvedSym) > 0' failed.

target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
target triple = "wasm32-unknown-unknown-wasm"
; target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
; target triple = "i386-unknown-linux-gnu"
@ghczmprim_GHCziTypes_heqzusel_entry = alias i8, bitcast (void ()*
@ghczmprim_GHCziTypes_heqzusel_entry$def to i8*)
define ccc void @ghczmprim_GHCziTypes_heqzusel_entry$def() align 4 nounwind
{
c9YQ:
  %ln9YZ = ptrtoint i8* @MainCapability to i32
  %ln9Z0 = add i32 %ln9YZ, 808
  ret void
}
@MainCapability = external global i8

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180907/2846d556/attachment.html>


More information about the llvm-bugs mailing list