[LLVMbugs] [Bug 8066] New: llvm+checking assert (S == TransformForPostIncUse(Denormalize, Result, User, OperandValToReplace, Loops, SE, DT) && "SCEV normalization is not invertible!")

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Sep 2 20:59:32 PDT 2010


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

           Summary: llvm+checking assert (S ==
                    TransformForPostIncUse(Denormalize, Result, User,
                    OperandValToReplace, Loops, SE, DT) && "SCEV
                    normalization is not invertible!")
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Loop Optimizer
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: astrange at ithinksw.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5447)
 --> (http://llvm.org/bugs/attachment.cgi?id=5447)
preprocessed/unreduced source

Using recent clang trunk with checking/assertions (whatever XDEBUG is) on
x86-64-apple-darwin10.

> /usr/local/llvm/bin/clang -O -S h264.i
In file included from libavcodec/h264.c:1:
libavcodec/h264.c:2333:23: warning: incompatible pointer types initializing
      'int (*)[64]' with an expression of type 'int *'
  ...ref2frm)[64] = h->ref2frm[ h->slice_num&(16 -1) ][0] + (h->mb_mbaff ? 20 :
2)...
     ^             
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/h264.c:2410:23: warning: incompatible pointer types initializing
      'int (*)[64]' with an expression of type 'int *'
  ...ref2frm)[64] = h->ref2frm[ h->slice_table[top_xy]&(16 -1) ][0] +
(h->mb_mbaff ? 20 : 2)...
     ^             
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/h264.c:2425:27: warning: incompatible pointer types initializing
      'int (*)[64]' with an expression of type 'int *'
  ...ref2frm)[64] = h->ref2frm[ h->slice_table[left_xy[0]]&(16 -1) ][0] +
(h->mb_mbaff ? 20 : 2)...
     ^             
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assertion failed: (S == TransformForPostIncUse(Denormalize, Result, User,
OperandValToReplace, Loops, SE, DT) && "SCEV normalization is not
invertible!"), function TransformForPostIncUse, file
/Users/astrange/Projects/src/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp,
line 115.
0  clang             0x00000001023e9092 PrintStackTrace(void*) + 34
1  clang             0x00000001023ec43a SignalHandler(int) + 3818
2  libSystem.B.dylib 0x00007fff803fc35a _sigtramp + 26
3  libSystem.B.dylib 0x0000000103e4a560 _sigtramp + 2208621088
4  clang             0x000000010002d802 __assert_rtn + 66
5  clang             0x000000010204b0f9
llvm::TransformForPostIncUse(llvm::TransformKind, llvm::SCEV const*,
llvm::Instruction*, llvm::Value*, llvm::SmallPtrSet<llvm::Loop const*, 2u>&,
llvm::ScalarEvolution&, llvm::DominatorTree&) + 4521
6  clang             0x0000000101f0ae1e
llvm::IVUsers::AddUser(llvm::Instruction*, llvm::Value*) + 350
7  clang             0x0000000101f0e4c2
llvm::IVUsers::AddUsersIfInteresting(llvm::Instruction*) + 562
8  clang             0x0000000101f0fe8b llvm::IVUsers::runOnLoop(llvm::Loop*,
llvm::LPPassManager&) + 1179
9  clang             0x0000000101f708c7
llvm::LPPassManager::runOnFunction(llvm::Function&) + 6823
10 clang             0x00000001021fdb70
llvm::FPPassManager::runOnFunction(llvm::Function&) + 640
11 clang             0x00000001021fdd62
llvm::FunctionPassManagerImpl::run(llvm::Function&) + 146
12 clang             0x00000001021fe0fc
llvm::FunctionPassManager::run(llvm::Function&) + 236
13 clang             0x00000001002ca145
clang::EmitBackendOutput(clang::Diagnostic&, clang::CodeGenOptions const&,
clang::TargetOptions const&, llvm::Module*, clang::BackendAction,
llvm::raw_ostream*) + 1381
14 clang             0x000000010043e8be (anonymous
namespace)::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 286
15 clang             0x000000010049b1fe clang::ParseAST(clang::Sema&, bool) +
286
16 clang             0x000000010043f4cc clang::CodeGenAction::ExecuteAction() +
60
17 clang             0x00000001000bbcf1
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 3473
18 clang             0x000000010004744a
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 2762
19 clang             0x000000010002fb63 cc1_main(char const**, char const**,
char const*, void*) + 627
20 clang             0x000000010003befe main + 6686
21 clang             0x000000010002dbd8 start + 52
22 clang             0x0000000000000022 start + 4294780030
Stack dump:
0.    Program arguments: /usr/local/llvm/bin/clang -cc1 -triple
x86_64-apple-darwin10.0.0 -S -disable-free -main-file-name h264.i -pic-level 1
-mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2
-target-linker-version 97.14 -resource-dir /usr/local/llvm/lib/clang/2.8 -O2
-ferror-limit 19 -fmessage-length 79 -stack-protector 1 -fblocks
-fdiagnostics-show-option -fcolor-diagnostics -o h264.s -x cpp-output h264.i 
1.    <eof> parser at end of file
2.    Code generation
3.    Running pass 'Loop Pass Manager' on function '@decode_frame'
4.    Running pass 'Induction Variable Users' on basic block '%for.cond421'
clang: error: clang frontend command failed due to signal 4 (use -v to see
invocation)

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