[LLVMbugs] [Bug 10482] New: Assertion `(TLI.getTypeAction(*DAG.getContext(), Node->getOperand(i).getValueType()) == TargetLowering::TypeLegal || Node->getOperand(i).getOpcode() == ISD::TargetConstant) && "Unexpected illegal type!"' failed.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jul 25 10:59:35 PDT 2011


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

           Summary: Assertion `(TLI.getTypeAction(*DAG.getContext(),
                    Node->getOperand(i).getValueType()) ==
                    TargetLowering::TypeLegal ||
                    Node->getOperand(i).getOpcode() ==
                    ISD::TargetConstant) && "Unexpected illegal type!"'
                    failed.
           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 -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_3043_500'
; ModuleID = 'bugpoint-reduced-simplified.bc'
target triple = "x86_64-unknown-linux-gnu"

define void @autogen_3043_500(i8*, i32*, i64*, i32, i8, i64) {
BB:
  %A4 = alloca <2 x i16>
  %A3 = alloca <2 x float>
  %A2 = alloca <2 x float>
  %A1 = alloca <2 x double>
  %A = alloca i64
  %L = load i8* %0
  store i8 0, i8* %0
  %E = extractelement <8 x i32> undef, i32 7
  %E5 = extractelement <32 x i32> undef, i32 4
  %Shuff = shufflevector <8 x double> undef, <8 x double> undef, <8 x i32> <i32
10, i32 12, i32 14, i32 0, i32 2, i32 undef, i32 6, i32 8>
  %Shuff6 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 12, i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10>
  %Shuff7 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 undef, i32 undef>
  %I = insertelement <8 x double> %Shuff, double 0x3F1851E3BCD5D80D, i32 0
  %B = udiv i8 -125, -125
  %FC = sitofp i64 0 to double
  %S = select i1 true, <2 x float>* %A3, <2 x float>* %A2
  %S8 = icmp ult i16 -2753, -22257
  br label %CF38

CF38:                                             ; preds = %CF38, %BB
  %L9 = load <2 x float>* %S
  store <2 x float> %L9, <2 x float>* %S
  %E10 = extractelement <8 x double> %Shuff, i32 2
  %E11 = extractelement <8 x double> %Shuff, i32 4
  %Shuff12 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 undef, i32 9, i32 11, i32 13, i32 15, i32 1, i32 3, i32 5>
  %Shuff13 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 9, i32 11, i32 13, i32 15, i32 undef, i32 3, i32 5, i32 7>
  %Shuff14 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff6, <8 x i32>
<i32 11, i32 13, i32 15, i32 undef, i32 3, i32 undef, i32 undef, i32 9>
  %I15 = insertelement <8 x double> %Shuff, double %FC, i32 5
  %B16 = add i1 true, %S8
  br i1 %B16, label %CF38, label %CF39

CF39:                                             ; preds = %CF38
  %BC = bitcast i32 %3 to float
  %S17 = select i1 %B16, double 0x3EE16D9E1D8663CD, double 0x3F1851E3BCD5D80D
  %S18 = icmp eq i64 250647, %5
  br label %CF

CF:                                               ; preds = %CF, %CF39
  %L19 = load i64* %A
  store <2 x float> %L9, <2 x float>* %S
  %E20 = extractelement <8 x double> %Shuff, i32 2
  %E21 = extractelement <8 x double> %Shuff, i32 4
  %Shuff22 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff12, <8 x
i32> <i32 15, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13>
  %Shuff23 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 1, i32 3, i32 undef, i32 7, i32 9, i32 undef, i32 13, i32 15>
  %Shuff24 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff12, <8 x
i32> <i32 3, i32 undef, i32 7, i32 9, i32 11, i32 13, i32 15, i32 1>
  %I25 = insertelement <8 x double> %Shuff, double 0x3EEE4B396B243C8B, i32 5
  %Tr = trunc i64 250647 to i32
  %S26 = select i1 %B16, i8 -125, i8 -125
  %L27 = load <2 x float>* %S
  store i8 -125, i8* %0
  %E28 = extractelement <8 x double> %Shuff, i32 5
  %E29 = extractelement <2 x float> %L27, i32 1
  %Shuff30 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 undef, i32 4, i32 6, i32 undef, i32 10, i32 12, i32 14, i32 0>
  %Shuff31 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff, <8 x i32>
<i32 undef, i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2>
  %Shuff32 = shufflevector <8 x double> %Shuff, <8 x double> %Shuff30, <8 x
i32> <i32 6, i32 8, i32 undef, i32 12, i32 14, i32 0, i32 2, i32 4>
  %I33 = insertelement <8 x double> %Shuff22, double %S17, i32 0
  %B34 = frem <8 x double> %Shuff13, %Shuff
  %Tr35 = trunc i32 %3 to i1
  br i1 %Tr35, label %CF, label %CF40

CF40:                                             ; preds = %CF40, %CF
  %S36 = select i1 %S18, i1 %B16, i1 %B16
  br i1 %S36, label %CF40, label %CF41

CF41:                                             ; preds = %CF41, %CF40
  %S37 = icmp eq i64 394307, %L19
  br i1 %S37, label %CF41, label %CF42

CF42:                                             ; preds = %CF41
  store <2 x float> %L27, <2 x float>* %S
  store <2 x float> %L9, <2 x float>* %A3
  store i8 %S26, i8* %0
  store <2 x float> %L9, <2 x float>* %S
  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