<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 failied in llvm::SUnit* llvm::SchedBoundary::pickOnlyChoice(): Assertion `i <= (HazardRec->getMaxLookAhead() + MaxObservedStall) && "permanent hazard"'"
   href="http://llvm.org/bugs/show_bug.cgi?id=20057">20057</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Assertion failied in llvm::SUnit* llvm::SchedBoundary::pickOnlyChoice(): Assertion `i <= (HazardRec->getMaxLookAhead() + MaxObservedStall) && "permanent hazard"'
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>tools
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>Windows NT
          </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>llc
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>apazos@codeaurora.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>Hi Andrew,

After the new code scheduler changes went in last week in the community trunk
we see new assertions when compiling SPEC2000 mesa and SPEC2006 povray
benchmarks with flags -O2 or -O3 and -mcpu=cortex-a53 for aarch64 target.

Assertion failed in llvm/lib/CodeGen/MachineScheduler.cpp:2056: llvm::SUnit*
llvm::SchedBoundary::pickOnlyChoice(): Assertion `i <=
(HazardRec->getMaxLookAhead() + MaxObservedStall) && "permanent hazard"'
failed.

Here are the clang command lines. Let me know if you can reproduce the issues.

Povray:
clang-3.5 -cc1 -triple aarch64--linux-gnu -emit-obj -disable-free
-main-file-name vbuffer.cpp -mrelocation-model static -mdisable-fp-elim
-menable-no-infs -menable-no-nans -menable-unsafe-fp-math -ffp-contract=fast
-ffast-math -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu
cortex-a53 -target-feature +neon -target-abi aapcs -target-cpu cortex-a53
-coverage-file
/prj/llvm-arm/scratch2/hexbuild/hexframe/30262/output/config_test_aarch64_ofast/cortex-a53/benchmark/spec2006/povray/benchspec/CPU2006/453.povray/build/build_base_arm_linux.0000/vbuffer.o
-resource-dir
/prj/llvm-arm/home/nightly/install/community-mainline/cross/2014-06-15/bin/../lib/clang/3.5.0
-D SPEC_CPU -D NDEBUG -D __arm__ -D __extern_always_inline=inline -D
SPEC_CPU_LP64 -I /prj/llvm-arm/home/rajav/lib_sources/includes -isysroot
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc
-internal-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/lib/gcc/aarch64-linux-gnu/4.9.0/../../../../aarch64-linux-gnu/include/c++/4.9.0
-internal-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/lib/gcc/aarch64-linux-gnu/4.9.0/../../../../aarch64-linux-gnu/include/c++/4.9.0/aarch64-linux-gnu
-internal-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/lib/gcc/aarch64-linux-gnu/4.9.0/../../../../aarch64-linux-gnu/include/c++/4.9.0/backward
-internal-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc/usr/local/include
-internal-isystem
/prj/llvm-arm/home/nightly/install/community-mainline/cross/2014-06-15/bin/../lib/clang/3.5.0/include
-internal-externc-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc/include
-internal-externc-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc/usr/include
-Ofast -fdeprecated-macro -fdebug-compilation-dir
/prj/llvm-arm/scratch2/hexbuild/hexframe/30262/output/config_test_aarch64_ofast/cortex-a53/benchmark/spec2006/povray/benchspec/CPU2006/453.povray/build/build_base_arm_linux.0000
-ferror-limit 19 -fmessage-length 0 -mstackrealign -fno-signed-char
-fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-vectorize-loops -vectorize-slp -o vbuffer.o -x c++ vbuffer.cpp 

Mesa:
clang-3.5 -cc1 -triple aarch64--linux-gnu -emit-obj -disable-free
-main-file-name matrix.c -mrelocation-model static -mdisable-fp-elim
-fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu
cortex-a53 -target-feature +neon -target-abi aapcs -target-cpu cortex-a53 -g
-coverage-file
/prj/llvm-arm/scratch2/hexbuild/hexframe/30262/output/config_test_aarch64_o2_g/cortex-a53/benchmark/spec2000/mesa/benchspec/CFP2000/177.mesa/run/00000001/matrix.o
-resource-dir
/prj/llvm-arm/home/nightly/install/community-mainline/cross/2014-06-15/bin/../lib/clang/3.5.0
-D __arm__ -D __extern_always_inline=inline -I
/prj/llvm-arm/home/rajav/lib_sources/includes -isysroot
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc
-internal-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc/usr/local/include
-internal-isystem
/prj/llvm-arm/home/nightly/install/community-mainline/cross/2014-06-15/bin/../lib/clang/3.5.0/include
-internal-externc-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc/include
-internal-externc-isystem
/prj/llvm-arm/home/common/build_tools/gcc-fsf-glibc-aarch64-linux-gnu-4.9.0/aarch64-linux-gnu/libc/usr/include
-O2 -fdebug-compilation-dir
/prj/llvm-arm/scratch2/hexbuild/hexframe/30262/output/config_test_aarch64_o2_g/cortex-a53/benchmark/spec2000/mesa/benchspec/CFP2000/177.mesa/run/00000001
-ferror-limit 19 -fmessage-length 0 -mstackrealign -fno-signed-char
-fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o
matrix.o -x c matrix.c</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>