[LLVMbugs] [Bug 10499] New: llvm::SDValue<unnamed>::SelectionDAGLegalize::LegalizeOp(llvm::SDValue): Assertion `(TLI.getTypeAction(*DAG.getContext(), Node->getOperand(i).getValueType()) == TargetLowering::TypeLegal || Node->getOperand(i).getOpcode() == ISD::TargetConstant) && "Unexp

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jul 26 04:06:07 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10499

           Summary: llvm::SDValue<unnamed>::SelectionDAGLegalize::Legalize
                    Op(llvm::SDValue): Assertion
                    `(TLI.getTypeAction(*DAG.getContext(),
                    Node->getOperand(i).getValueType()) ==
                    TargetLowering::TypeLegal ||
                    Node->getOperand(i).getOpcode() ==
                    ISD::TargetConstant) && "Unexp
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nadav.rotem at intel.com
                CC: llvmbugs at cs.uiuc.edu


llc: LegalizeDAG.cpp:788:
llvm::SDValue<unnamed>::SelectionDAGLegalize::LegalizeOp(llvm::SDValue):
Assertion `(TLI.getTypeAction(*DAG.getContext(),
Node->getOperand(i).getValueType()) == TargetLowering::TypeLegal ||
Node->getOperand(i).getOpcode() == ISD::TargetConstant) && "Unexpected illegal
type!"' failed.
0  llc             0x000000000153ffea
1  llc             0x0000000001540578
2  libpthread.so.0 0x00002aaaaabd4d60
3  libc.so.6       0x00002aaaab274f45 gsignal + 53
4  libc.so.6       0x00002aaaab276340 abort + 272
5  libc.so.6       0x00002aaaab26e486 __assert_fail + 246
6  llc             0x0000000001039bc8 (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDValue) + 558
7  llc             0x00000000010428e9 (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDValue) + 36687
8  llc             0x000000000104fa27 (anonymous
namespace)::SelectionDAGLegalize::LegalizeDAG() + 179
9  llc             0x000000000104fb45 llvm::SelectionDAG::Legalize() + 49
10 llc             0x0000000000ff713c
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 2424
11 llc             0x0000000000ff8ea2
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 230
12 llc             0x0000000000ff9804
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 2400
13 llc             0x0000000000ff9d83
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 849
14 llc             0x00000000011449ad
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 85
15 llc             0x000000000147a2bb
llvm::FPPassManager::runOnFunction(llvm::Function&) + 371
16 llc             0x000000000147a4b3
llvm::FPPassManager::runOnModule(llvm::Module&) + 81
17 llc             0x0000000001479f67
llvm::MPPassManager::runOnModule(llvm::Module&) + 381
18 llc             0x000000000147b71c llvm::PassManagerImpl::run(llvm::Module&)
+ 116
19 llc             0x000000000147b77f llvm::PassManager::run(llvm::Module&) +
33
20 llc             0x0000000000ab642d main + 2403
21 libc.so.6       0x00002aaaab262304 __libc_start_main + 244
22 llc             0x0000000000ab4b79
Stack dump:
0.    Program arguments: ../llc temp.ll -march=x86-64 -mattr=-sse2,-sse41 -o
/dev/null 
1.    Running pass 'Function Pass Manager' on module 'temp.ll'.
2.    Running pass 'X86 DAG->DAG Instruction Selection' on function
'@autogen_24438_500'
; ModuleID = 'bugpoint-reduced-simplified.bc'
target triple = "x86_64-unknown-linux-gnu"

define void @autogen_24438_500(i8*, i32*, i64*, i32, i8, i64) {
BB:
  %A4 = alloca <8 x i64>
  %A3 = alloca <8 x i16>
  %A2 = alloca <8 x i16>
  %A1 = alloca <8 x i32>
  %A = alloca <8 x i32>
  %L = load i8* %0
  store i8 -85, i8* %0
  %E = extractelement <8 x float> undef, i32 3
  %E5 = extractelement <32 x float> undef, i32 24
  %Shuff = shufflevector <8 x i32> undef, <8 x i32> undef, <8 x i32> <i32
undef, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12>
  %Shuff6 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff, <8 x i32> <i32 0,
i32 2, i32 undef, i32 6, i32 8, i32 undef, i32 12, i32 14>
  %Shuff7 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff, <8 x i32> <i32 2,
i32 4, i32 6, i32 undef, i32 10, i32 12, i32 14, i32 0>
  %I = insertelement <8 x i32> %Shuff, i32 -1, i32 4
  %B = and i32 462723, %3
  %BC = bitcast <8 x i32> %I to <8 x float>
  %S = select i1 true, float 0x3ED0C07740000000, float 0x3EC8EBA4C0000000
  %S8 = icmp ugt i8 %L, %4
  br label %CF40

CF40:                                             ; preds = %BB
  %L9 = load i8* %0
  store i8 %L9, i8* %0
  %E10 = extractelement <8 x float> %BC, i32 7
  %E11 = extractelement <8 x i32> %Shuff, i32 1
  %Shuff12 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff, <8 x i32> <i32
undef, i32 undef, i32 0, i32 2, i32 undef, i32 6, i32 8, i32 10>
  %Shuff13 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff12, <8 x i32> <i32
14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 undef>
  %Shuff14 = shufflevector <8 x i32> %Shuff6, <8 x i32> %Shuff, <8 x i32> <i32
0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
  %I15 = insertelement <8 x i32> %Shuff, i32 -1, i32 2
  %B16 = urem <8 x i32> %Shuff14, %Shuff6
  %FC = fptosi float 0x3ED0C07740000000 to i8
  %S17 = select i1 %S8, i8 %L9, i8 115
  %S18 = fcmp une float %S, 0x3EC9134F40000000
  br label %CF

CF:                                               ; preds = %CF, %CF40
  %L19 = load i8* %0
  store i8 115, i8* %0
  %E20 = extractelement <8 x i32> %Shuff, i32 3
  %E21 = extractelement <8 x i32> %B16, i32 5
  %Shuff22 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff6, <8 x i32> <i32
undef, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
  %Shuff23 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff12, <8 x i32> <i32
2, i32 undef, i32 6, i32 undef, i32 undef, i32 12, i32 undef, i32 0>
  %Shuff24 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff22, <8 x i32> <i32
4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2>
  %I25 = insertelement <8 x i32> %Shuff, i32 -1, i32 6
  %B26 = lshr i8 %S17, %L
  %ZE = fpext <8 x float> %BC to <8 x double>
  %S27 = select i1 %S18, i1 true, i1 %S8
  br i1 %S27, label %CF, label %CF41

CF41:                                             ; preds = %CF41, %CF
  %S28 = fcmp false float %S, 0x3EC8EBA4C0000000
  br i1 %S28, label %CF41, label %CF42

CF42:                                             ; preds = %CF42, %CF41
  %L29 = load i8* %0
  store i8 %B26, i8* %0
  %E30 = extractelement <8 x i32> %Shuff, i32 0
  %E31 = extractelement <8 x i32> %Shuff, i32 2
  %Shuff32 = shufflevector <8 x double> %ZE, <8 x double> %ZE, <8 x i32> <i32
5, i32 7, i32 9, i32 11, i32 13, i32 15, i32 1, i32 3>
  %Shuff33 = shufflevector <8 x i32> %Shuff, <8 x i32> %Shuff24, <8 x i32> <i32
7, i32 9, i32 11, i32 undef, i32 15, i32 undef, i32 undef, i32 5>
  %Shuff34 = shufflevector <8 x double> %Shuff32, <8 x double> %ZE, <8 x i32>
<i32 9, i32 11, i32 undef, i32 15, i32 1, i32 3, i32 undef, i32 7>
  %I35 = insertelement <8 x double> %Shuff32, double 0x3EC79423E6864956, i32 3
  %B36 = fdiv float %E, 0x3EC9134F40000000
  %FC37 = uitofp i8 115 to double
  %S38 = select i1 %S8, float %E10, float %B36
  %S39 = icmp sgt i8 -117, %4
  br i1 %S39, label %CF42, label %CF43

CF43:                                             ; preds = %CF42
  store i8 %B26, i8* %0
  store <8 x i32> %B16, <8 x i32>* %A
  store i8 115, i8* %0
  store <8 x i32> %Shuff33, <8 x i32>* %A
  store i8 %L, i8* %0
  ret void
}

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list