<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Assertion failed: (TheLoop->getLoopPreheader() && "No preheader!!"), function canVectorize, file LoopVectorize.cpp, line 2431."
   href="http://llvm.org/bugs/show_bug.cgi?id=16139">16139</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Assertion failed: (TheLoop->getLoopPreheader() && "No preheader!!"), function canVectorize, file LoopVectorize.cpp, line 2431.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Loop Optimizer
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>rdivacky@freebsd.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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'</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>