<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - x86 backend crash with int128 and pointer overflow checking"
   href="https://bugs.llvm.org/show_bug.cgi?id=33290">33290</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>x86 backend crash with int128 and pointer overflow checking
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>regehr@cs.utah.edu
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Johns-MacBook-Pro-2:clang-crasher regehr$ cat small.c
int a, *b;
unsigned char c;
void e(void) {
  for (long f = 0;;) {
    __int128 d = 2 + (__int128)&a + c;
    c = d >> 64;
    b[f] = d;
  }
}
Johns-MacBook-Pro-2:clang-crasher regehr$ clang -v
clang version 5.0.0 (trunk 304596)
Target: x86_64-apple-darwin16.6.0
Thread model: posix
InstalledDir: /Users/regehr/llvm-install/bin
Johns-MacBook-Pro-2:clang-crasher regehr$ clang -fsanitize=pointer-overflow -O
small.c
Cannot emit physreg copy instruction
UNREACHABLE executed at ../lib/Target/X86/X86InstrInfo.cpp:3205!
0  clang-5.0                0x000000010ff139b8
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  clang-5.0                0x000000010ff14006 SignalHandler(int) + 502
2  libsystem_platform.dylib 0x00007fff986c1b3a _sigtramp + 26
3  libsystem_platform.dylib 0x0000000100000001 _sigtramp + 1737745633
4  libsystem_c.dylib        0x00007fff98546420 abort + 129
5  clang-5.0                0x000000010feb1de0 LLVMInstallFatalErrorHandler + 0
6  clang-5.0                0x000000010f35bcea
llvm::X86InstrInfo::copyPhysReg(llvm::MachineBasicBlock&,
llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc
const&, unsigned int, unsigned int, bool) const + 5818
7  clang-5.0                0x000000010f6be5ac (anonymous
namespace)::ExpandPostRA::runOnMachineFunction(llvm::MachineFunction&) + 2620
8  clang-5.0                0x000000010f77f824
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 180
9  clang-5.0                0x000000010f9ffc9d
llvm::FPPassManager::runOnFunction(llvm::Function&) + 509
10 clang-5.0                0x000000010f9fff13
llvm::FPPassManager::runOnModule(llvm::Module&) + 67
11 clang-5.0                0x000000010fa00450
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 944
12 clang-5.0                0x00000001100e0cf3
clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions
const&, clang::CodeGenOptions const&, clang::TargetOptions const&,
clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*,
clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream,
std::__1::default_delete<llvm::raw_pwrite_stream> >) + 13523
13 clang-5.0                0x00000001102bb882
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 898
14 clang-5.0                0x0000000110b858e2 clang::ParseAST(clang::Sema&,
bool, bool) + 466
15 clang-5.0                0x00000001104e1e2c clang::FrontendAction::Execute()
+ 76
16 clang-5.0                0x000000011049eee1
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1233
17 clang-5.0                0x00000001105266f0
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 4208
18 clang-5.0                0x000000010f1e8ef6 cc1_main(llvm::ArrayRef<char
const*>, char const*, void*) + 1206
19 clang-5.0                0x000000010f1e6f8a main + 11178
20 libdyld.dylib            0x00007fff984b2235 start + 1
21 libdyld.dylib            0x0000000000000033 start + 1739906559
Stack dump:
0.      Program arguments: /Users/regehr/llvm-install/bin/clang-5.0 -cc1
-triple x86_64-apple-macosx10.12.0 -Wdeprecated-objc-isa-usage
-Werror=deprecated-objc-isa-usage -emit-obj -disable-free -main-file-name
small.c -mrelocation-model pic -pic-level 2 -mthread-model posix
-mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu penryn
-target-linker-version 278.4 -dwarf-column-info -debugger-tuning=lldb
-resource-dir /Users/regehr/llvm-install/lib/clang/5.0.0 -O2
-fdebug-compilation-dir /Users/regehr/clang-crasher -ferror-limit 19
-fmessage-length 113 -fsanitize=pointer-overflow
-fsanitize-recover=pointer-overflow -stack-protector 1 -fblocks
-fobjc-runtime=macosx-10.12.0 -fencode-extended-block-signature
-fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics
-vectorize-loops -vectorize-slp -o
/var/folders/rp/76sjy01s4ns_97pg4hpgly9c0000gn/T/small-477c50.o -x c small.c 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'small.c'.
4.      Running pass 'Post-RA pseudo instruction expansion pass' on function
'@e'
clang-5.0: error: unable to execute command: Abort trap: 6
clang-5.0: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 5.0.0 (trunk 304596)
Target: x86_64-apple-darwin16.6.0
Thread model: posix
InstalledDir: /Users/regehr/llvm-install/bin
clang-5.0: note: diagnostic msg: PLEASE submit a bug report to
<a href="http://llvm.org/bugs/">http://llvm.org/bugs/</a> and include the crash backtrace, preprocessed source, and
associated run script.
clang-5.0: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-5.0: note: diagnostic msg:
/var/folders/rp/76sjy01s4ns_97pg4hpgly9c0000gn/T/small-228bd8.c
clang-5.0: note: diagnostic msg:
/var/folders/rp/76sjy01s4ns_97pg4hpgly9c0000gn/T/small-228bd8.sh
clang-5.0: note: diagnostic msg: Crash backtrace is located in
clang-5.0: note: diagnostic msg:
/Users/regehr/Library/Logs/DiagnosticReports/clang-5.0_<YYYY-MM-DD-HHMMSS>_<hostname>.crash
clang-5.0: note: diagnostic msg: (choose the .crash file that corresponds to
your crash)
clang-5.0: note: diagnostic msg: 

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