[LLVMbugs] [Bug 16139] New: Assertion failed: (TheLoop->getLoopPreheader() && "No preheader!!"), function canVectorize, file LoopVectorize.cpp, line 2431.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 24 10:33:05 PDT 2013


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

            Bug ID: 16139
           Summary: Assertion failed: (TheLoop->getLoopPreheader() && "No
                    preheader!!"), function canVectorize, file
                    LoopVectorize.cpp, line 2431.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Loop Optimizer
          Assignee: unassignedbugs at nondot.org
          Reporter: rdivacky at freebsd.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

liska delta-2006.08.03$ cat beak_emu.c
           typedef unsigned long Eterm;
                            typedef unsigned long Uint;
                           typedef Uint UWord;
                               typedef UWord BeamInstr;
                                  void** beam_ops;
                           void process_main(void) {
                                 register BeamInstr *I = ((void *)0);
                             register Eterm tmp_arg2 = ((~((Uint) 0) << 6) |
((0x3 << 4) | ((0x2 << 2) | 0x3)));
                               static void* opcodes[] = {
                    &&lb_i_bsr_jId, &&lb_i_bxor_jId, &&lb_i_call_f,            
         };
                          lb_move_return_nr:     {
                        goto *((void *)*I);
                         }
                           lb_i_call_f: {
                         Eterm fast_element_tuple;
                             do_fast_element:  if
(((!(((((fast_element_tuple)))) & (0x3 -0x2))) && (((*((Eterm*)
(((((fast_element_tuple))) - 0x2)))) & 0x3F) == (0x0|(0x0 << 2))))) {
                    }
                             goto do_fast_element;
                            }
                           lb_i_bxor_jId:  {
                              lb_i_bsr_jId:   if ((((tmp_arg2) & 0xF) == ((0x3
<< 2) | 0x3))) {
                     }
                              {
                     beam_ops = opcodes;
                        }
                            }
                         }
liska delta-2006.08.03$ /usr/local/bin/clang -O3 beak_emu.c
Assertion failed: (TheLoop->getLoopPreheader() && "No preheader!!"), function
canVectorize, file LoopVectorize.cpp, line 2431.
Stack dump:
0.      Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-unknown-freebsd9.1 -emit-obj -disable-free -main-file-name beak_emu.c
-mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -target-linker-version 2.17.50 -resource-dir
/usr/local/bin/../lib/clang/3.4 -O3 -fdebug-compilation-dir
/tmp/delta-2006.08.03 -ferror-limit 19 -fmessage-length 115 -mstackrealign
-fobjc-runtime=gnustep -fobjc-default-synthesize-properties
-fdiagnostics-show-option -fcolor-diagnostics -backend-option -vectorize-loops
-o /tmp/beak_emu-1BKSqC.o -x c beak_emu.c 
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'CallGraph Pass Manager' on module 'beak_emu.c'.
4.      Running pass 'Loop Pass Manager' on function '@process_main'
5.      Running pass 'Loop Vectorization' on basic block '%do_fast_element'

-- 
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/20130524/8efcb816/attachment.html>


More information about the llvm-bugs mailing list