[LLVMbugs] [Bug 23476] New: llc trunk (236935) fails with 'Assertion `Val && "isa<> used on a null pointer"'

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon May 11 03:35:01 PDT 2015


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

            Bug ID: 23476
           Summary: llc trunk (236935) fails with 'Assertion `Val &&
                    "isa<> used on a null pointer"'
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: llc
          Assignee: unassignedbugs at nondot.org
          Reporter: anton.mitrokhin at phystech.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Here is a reproducer:

; reduced.ll:
; ModuleID = 'reduced.ll'
target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
target triple = "i386-unknown-linux-gnu"

; Function Attrs: nounwind readnone
declare double @log(double) #0

; Function Attrs: nounwind readnone
;declare i32 @llvm.x86.avx.movmsk.ps.256(<8 x float>) #0

; Function Attrs: nounwind
;declare void @llvm.x86.avx.maskstore.ps.256(i8*, <8 x float>, <8 x float>) #1

; Function Attrs: nounwind readnone
;declare <4 x double> @llvm.x86.avx.blendv.pd.256(<4 x double>, <4 x double>,
<4 x double>) #0

; Function Attrs: nounwind readnone
;declare i64 @llvm.cttz.i64(i64, i1) #0

; Function Attrs: nounwind
define void @f_v(float* noalias nocapture %RET) #1 {
allocas:
  br label %foreach_active_find_next.i

foreach_active_find_next.i:                       ; preds =
%foreach_active_find_next.i, %allocas
  %extract.i.i.i = extractelement <16 x i64> <i64 4668012349850910720, i64 0,
i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0,
i64 0, i64 0, i64 0>, i32 undef
  %int_to_double_bitcast.i.i.i41.i = bitcast i64 %extract.i.i.i to double
  %r.i.i = tail call double @log(double %int_to_double_bitcast.i.i.i41.i) #1
  br i1 undef, label %log___vyd.exit, label %foreach_active_find_next.i

log___vyd.exit:                                   ; preds =
%foreach_active_find_next.i
  ret void
}

attributes #0 = { nounwind readnone }
attributes #1 = { nounwind }

!llvm.ident = !{!0}

!0 = !{!"clang version 3.7.0 (trunk 236935)"}


Launch like:
llc reduced.ll --mattr='+avx'


Output:
llc: llvm-trunk/include/llvm/Support/Casting.h:95: static bool
llvm::isa_impl_cl<llvm::IntegerType, const llvm::Type *>::doit(const From *)
[To = llvm::IntegerType, From = const llvm::Type *]: Assertion `Val && "isa<>
used on a null pointer"' failed.
#0 0xf09d5a llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(llvm/bin-trunk/bin/llc+0xf09d5a)
#1 0xf0b0eb (llvm/bin-trunk/bin/llc+0xf0b0eb)
#2 0x3a4820f750 __restore_rt (/lib64/libpthread.so.0+0x3a4820f750)
#3 0x3a47a35c39 __GI_raise (/lib64/libc.so.6+0x3a47a35c39)
#4 0x3a47a37348 __GI_abort (/lib64/libc.so.6+0x3a47a37348)
#5 0x3a47a2eb96 __assert_fail_base (/lib64/libc.so.6+0x3a47a2eb96)
#6 0x3a47a2ec42 (/lib64/libc.so.6+0x3a47a2ec42)
#7 0xe50756 llvm::EVT::getExtendedSizeInBits() const
(llvm/bin-trunk/bin/llc+0xe50756)
#8 0x7a1209 llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc, llvm::EVT,
llvm::SDValue) (llvm/bin-trunk/bin/llc+0x7a1209)
#9 0x60bd8c llvm::X86TargetLowering::PerformDAGCombine(llvm::SDNode*,
llvm::TargetLowering::DAGCombinerInfo&) const (llvm/bin-trunk/bin/llc+0x60bd8c)
#10 0x6e9841 (llvm/bin-trunk/bin/llc+0x6e9841)
#11 0x6e856d llvm::SelectionDAG::Combine(llvm::CombineLevel,
llvm::AliasAnalysis&, llvm::CodeGenOpt::Level)
(llvm/bin-trunk/bin/llc+0x6e856d)
#12 0x81b5b0 llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(llvm/bin-trunk/bin/llc+0x81b5b0)
#13 0x81a968 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function
const&) (llvm/bin-trunk/bin/llc+0x81a968)
#14 0x817424
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(llvm/bin-trunk/bin/llc+0x817424)
#15 0x598a01 (llvm/bin-trunk/bin/llc+0x598a01)
#16 0x9b5fcc llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(llvm/bin-trunk/bin/llc+0x9b5fcc)
#17 0xe21064 llvm::FPPassManager::runOnFunction(llvm::Function&)
(llvm/bin-trunk/bin/llc+0xe21064)
#18 0xe2129b llvm::FPPassManager::runOnModule(llvm::Module&)
(llvm/bin-trunk/bin/llc+0xe2129b)
#19 0xe21785 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(llvm/bin-trunk/bin/llc+0xe21785)
#20 0x51be59 main (llvm/bin-trunk/bin/llc+0x51be59)
#21 0x3a47a21d65 __libc_start_main (/lib64/libc.so.6+0x3a47a21d65)
#22 0x51901d _start (llvm/bin-trunk/bin/llc+0x51901d)
Stack dump:
0.      Program arguments: llc reduced.ll --mattr=+avx
1.      Running pass 'Function Pass Manager' on module 'reduced.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@f_v'
Aborted (core dumped)

-- 
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/20150511/a7e3a914/attachment.html>


More information about the llvm-bugs mailing list