Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // foo.d :
- int main() {
- volatile int* foo = cast(int*)0x1234;
- *foo = 5;
- return 0;
- }
- /*
- compile with
- $ ldc -ofoo foo.d -mattr=-sse
- gives:
- copying RDX to ESI <-- I added this to llvm... it is doing a 64bit to 32bit register copy
- Cannot emit physreg copy instruction
- UNREACHABLE executed at /home/wilkie/build/llvm/lib/Target/X86/X86InstrInfo.cpp:2014!
- 0 ldc 0x0000000000f2beaf
- 1 ldc 0x0000000000f2c9ea
- 2 libpthread.so.0 0x00007fb193e861c0
- 3 libc.so.6 0x00007fb192f90595 gsignal + 53
- 4 libc.so.6 0x00007fb192f91a16 abort + 390
- 5 ldc 0x0000000000f178c4 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 356
- 6 ldc 0x000000000076a337 llvm::X86InstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::ilist_iterator<llvm::MachineInstr>, llvm::DebugLoc, unsigned int, unsigned int, bool) const + 2263
- 7 ldc 0x000000000095f650
- 8 ldc 0x0000000000eb9c17 llvm::FPPassManager::runOnFunction(llvm::Function&) + 599
- 9 ldc 0x0000000000eb9dbb llvm::FunctionPassManagerImpl::run(llvm::Function&) + 155
- 10 ldc 0x0000000000eb9f4c llvm::FunctionPassManager::run(llvm::Function&) + 108
- 11 ldc 0x0000000000657561 write_asm_to_file(llvm::TargetMachine&, llvm::Module&, llvm::raw_fd_ostream&) + 577
- 12 ldc 0x000000000065c008 writeModule(llvm::Module*, std::string) + 552
- 13 ldc 0x00000000006a07c6 main + 6950
- 14 libc.so.6 0x00007fb192f7cc4d __libc_start_main + 253
- 15 ldc 0x0000000000586a79
- Stack dump:
- 0. Running pass 'Subregister lowering instruction pass' on function '@_Dmain'
- Aborted
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement