[LLVMdev] regression in target independent part of llvm

reed kotler rkotler at mips.com
Sat Mar 15 15:09:35 PDT 2014


We started to see a regression from the target indpendent code in llvm 
starting March 13.

I have filed bug http://www.llvm.org/bugs/show_bug.cgi?id=19151

this causes a compilation error:

/home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/MiBench/consumer-lame/rtp.c:29:11: 
warning: implicit truncation from 'int' to bitfield changes value from 2 
to -2 [-Wbitfield-constant-conversion]
   foo->b.v=2;
           ^~
SplitVectorResult #0: 0x60fa348: v4i32 = bswap 0x60f7620 [ORD=6] [ID=0]

fatal error: error in backend: Do not know how to split the result of 
this operator!


......

/// SplitVectorResult - This method is called when the specified result 
of the
/// specified node is found to need vector splitting.  At this point, 
the node
/// may also have invalid operands or may have other results that need
/// legalization, we just know that (at least) one result needs vector
/// splitting.
void DAGTypeLegalizer::SplitVectorResult(SDNode *N, unsigned ResNo) {
   DEBUG(dbgs() << "Split node result: ";
         N->dump(&DAG);
         dbgs() << "\n");
   SDValue Lo, Hi;

   // See if the target wants to custom expand this node.
   if (CustomLowerNode(N, N->getValueType(ResNo), true))
     return;

   switch (N->getOpcode()) {
   default:
#ifndef NDEBUG
     dbgs() << "SplitVectorResult #" << ResNo << ": ";
     N->dump(&DAG);
     dbgs() << "\n";
#endif
     report_fatal_error("Do not know how to split the result of this "
                        "operator!\n");



More information about the llvm-dev mailing list