[llvm-commits] DAGCombine optimization triggers a scheduler bug

Rotem, Nadav nadav.rotem at intel.com
Sat Oct 22 13:44:24 PDT 2011


Hi,

I added a degcombine optimization which triggers a scheduler bug and causes two tests to fail:

    LLVM :: CodeGen/X86/vec_zero_cse.ll
    LLVM :: CodeGen/X86/widen_cast-6.ll

With the assertions:

llc: /..../llvm-head/llvm/include/llvm/CodeGen/MachineOperand.h:227: unsigned int llvm::MachineOperand::getSubReg() const: Assertion
`isReg() && "Wrong MachineOperand accessor"' failed.

llc: /..../llvm/llvm-head/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp:264: unsigned int llvm::InstrEmitter::getVR(llvm::SDValue, llvm:
:DenseMap<llvm::SDValue, unsigned int, llvm::DenseMapInfo<llvm::SDValue>, llvm::DenseMapInfo<unsigned int> >&): Assertion `I != VRBaseMap.end() && "Node emitt
ed out of order - late"' failed.

These are tiny tests and this patch can be useful to anyone who attempts to debug the scheduler.

Cheers,
Nadav
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111022/8381f90b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dagco.diff
Type: application/octet-stream
Size: 5089 bytes
Desc: dagco.diff
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111022/8381f90b/attachment.obj>


More information about the llvm-commits mailing list