[LLVMbugs] [Bug 11106] New: SROA pass hit assert with simple program

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Oct 10 09:59:39 PDT 2011


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

           Summary: SROA pass hit assert with simple program
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu


With top of tree and the following program:

define void @"f_v___REFUf[]"() nounwind {
allocas:
  %a156286 = alloca [4 x <4 x float>], align 16
  br i1 undef, label %cif_done, label %for_test158.preheader

for_test158.preheader:                            ; preds = %allocas
  %a156286305 = bitcast [4 x <4 x float>]* %a156286 to i8*
  call void @llvm.memset.p0i8.i64(i8* %a156286305, i8 -1, i64 64, i32 16, i1
false)
  unreachable

cif_done:                                         ; preds = %allocas
  ret void
}

If I run opt as follows:

% opt -scalarrepl bugpoint-reduced-simplified.ll > /dev/null

This assertion hits:
Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"),
function cast, file /Users/mmp/llvm-dev-src/include/llvm/Support/Casting.h,
line 194.

opt doesn't give me a good stack trace, but this seems to be the relevant bits:
[...]
6  ispc              0x00000001044cb8b2 (anonymous
namespace)::SROA::RewriteForScalarRepl(llvm::Instruction*, llvm::AllocaInst*,
unsigned long long, llvm::SmallVector<llvm::AllocaInst*, 32u>&) + 11890
7  ispc              0x00000001044c8c05 (anonymous
namespace)::SROA::RewriteForScalarRepl(llvm::Instruction*, llvm::AllocaInst*,
unsigned long long, llvm::SmallVector<llvm::AllocaInst*, 32u>&) + 453
8  ispc              0x00000001044c4ca0 (anonymous
namespace)::SROA::runOnFunction(llvm::Function&) + 3792
9  ispc              0x0000000104732ecd
llvm::FPPassManager::runOnFunction(llvm::Function&) + 349
10 ispc              0x000000010458856e (anonymous
namespace)::CGPassManager::runOnModule(llvm::Module&) + 2078
11 ispc              0x00000001047332e9
llvm::MPPassManager::runOnModule(llvm::Module&) + 265
12 ispc              0x00000001047338f2
llvm::PassManagerImpl::run(llvm::Module&) + 290
[...]
0.    Program arguments: opt -scalarrepl bugpoint-reduced-simplified.ll 
1.    Running pass 'Function Pass Manager' on module
'bugpoint-reduced-simplified.ll'.
2.    Running pass 'Scalar Replacement of Aggregates (DT)' on function
'@"f_v___REFUf[]"'

-- 
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