<html>
    <head>
      <base href="https://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 --- - [Polly] Large values in BoundaryContext causes '"ConstantInt type doesn't match the type implied by its value!'"
   href="https://llvm.org/bugs/show_bug.cgi?id=25313">25313</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[Polly] Large values in BoundaryContext causes '"ConstantInt type doesn't match the type implied by its value!'
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Projects
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </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>Polly
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>polly-dev@googlegroups.com
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>tobias@grosser.es
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=15158" name="attach_15158" title="Test case">attachment 15158</a> <a href="attachment.cgi?id=15158&action=edit" title="Test case">[details]</a></span>
Test case

With r251231 polly-opt -polly-codegen we get the following assertion:

opt: /home/grosser/Projects/polly/git/lib/IR/Constants.cpp:608: static
llvm::Constant *llvm::ConstantInt::get(llvm::Type *, const llvm::APInt &):
Assertion `C->getType() == Ty->getScalarType() && "ConstantInt type doesn't
match the type implied by its value!"' failed.
#0 0x7f1156e72d8a llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/home/grosser/Projects/polly/cmake_opt/bin/../lib/libLLVMSupport.so.3.8+0xc1d8a)
#1 0x7f1156e723f6 llvm::sys::RunSignalHandlers()
(/home/grosser/Projects/polly/cmake_opt/bin/../lib/libLLVMSupport.so.3.8+0xc13f6)
#2 0x7f1156e7463a SignalHandler(int)
(/home/grosser/Projects/polly/cmake_opt/bin/../lib/libLLVMSupport.so.3.8+0xc363a)
#3 0x7f11558012f0 (/lib/x86_64-linux-gnu/libc.so.6+0x352f0)
#4 0x7f1155801267 gsignal
/build/buildd/glibc-2.21/signal/../sysdeps/unix/sysv/linux/raise.c:55:0
#5 0x7f1155802eca abort /build/buildd/glibc-2.21/stdlib/abort.c:91:0
#6 0x7f11557fa03d __assert_fail_base
/build/buildd/glibc-2.21/assert/assert.c:92:0
#7 0x7f11557fa0f2 (/lib/x86_64-linux-gnu/libc.so.6+0x2e0f2)
#8 0x7f1158453cd3
(/home/grosser/Projects/polly/cmake_opt/bin/../lib/libLLVMCore.so.3.8+0xb2cd3)
#9 0x7f11530b6454 polly::IslExprBuilder::createInt(isl_ast_expr*)
(/home/grosser/Projects/polly/cmake_opt/lib/../lib/libPolly.so+0x8b454)

The reason for this assertion is that the BoundaryContext contains numbers
larger than 64bit, but we currently generate 64 bit expressions by default. The
right solution is clearly to derive minimal (but still correct types) during
code generation. However, for now the best solution is probably to keep the
BoundaryContext separate and then just use 128bit arithmetic to generate the
relevant run-time check. 

9 compile time errors (and as a a result 9 run-time errors) of our current
-polly-process-nonprofitable failures are due to this issue.</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>