[llvm-bugs] [Bug 45836] New: Assert dependent on how LLVM library is called

via llvm-bugs llvm-bugs at lists.llvm.org
Thu May 7 17:26:49 PDT 2020


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

            Bug ID: 45836
           Summary: Assert dependent on how LLVM library is called
           Product: libraries
           Version: 10.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: david.jones at metrics.ca
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

Created attachment 23459
  --> https://bugs.llvm.org/attachment.cgi?id=23459&action=edit
Original, working, generator code

I recently upgraded a codebase from LLVM 7.0.1 to LLVM 10.0.0.

While tracking down an LLVM assert in the RISCV backend, I replaced the code I
used to generate object code with code cribbed almost verbatim from
https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.html.  My
previous code evolved from llc sources all the way back from the 3.3 days.

Unfortunately, my simplified code now yields an assert in the X86 backend!

ds_cg:
/scratch/user/djones/llvm10/llvm-10.0.0.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:898:
bool llvm::SelectionDAG::RemoveNodeFromCSEMaps(llvm::SDNode*): Assertion
`N->getOpcode() != ISD::DELETED_NODE && "DELETED_NODE in CSEMap!"' failed.

Manually invoking opt and llc on the IR code works fine.

Attachments:

wrap.orig: my original object generation code.  Works fine.

wrap.simple: code that yields this bug.

LMsbox.sir.ll: LLVM IR that causes my problem.

-- 
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/20200508/77725602/attachment.html>


More information about the llvm-bugs mailing list