Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

X86MCInstLower DWARF exception in -O0 -g test #7917

Closed
stoklund mannequin opened this issue Jul 1, 2010 · 3 comments
Closed

X86MCInstLower DWARF exception in -O0 -g test #7917

stoklund mannequin opened this issue Jul 1, 2010 · 3 comments
Labels
backend:X86 bugzilla Issues migrated from bugzilla

Comments

@stoklund
Copy link
Mannequin

stoklund mannequin commented Jul 1, 2010

Bugzilla Link 7545
Resolution FIXED
Resolved on Jul 06, 2010 13:19
Version trunk
OS MacOS X
Attachments failing bitcode

Extended Description

The attached bitcode files are from the Geryon-PIC-O0-g__llvm-gcc_PROD__x86_64 nightly tester running on trunk.

The crash llc with an Assertion failed: (MI->getOperand(0).isReg() && MI->getOperand(3).isImm()), function getDebugValueLocation, file lib/Target/X86/AsmPrinter/X86MCInstLower.cpp, line 520

llc -asm-verbose=false -O0 -relocation-model pic -disable-fp-elim Output/office-stringsearch.llvm.bc

@stoklund
Copy link
Mannequin Author

stoklund mannequin commented Jul 1, 2010

Note I have two more tests with the same assertion, 186.crafty.llvm.bc and 464.h264ref.llvm.bc. They are pretty big, so I won't attach.

They both crash bugpoint, so I can't reduce them: UNREACHABLE executed at /d/g/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:904!

@lattner
Copy link
Collaborator

lattner commented Jul 5, 2010

Devang/Dale, this is dying in:

MachineLocation
X86AsmPrinter::getDebugValueLocation(const MachineInstr *MI) const {
MachineLocation Location;
assert (MI->getNumOperands() == 7 && "Invalid no. of machine operands!");
// Frame address. Currently handles register +- offset only.
assert(MI->getOperand(0).isReg() && MI->getOperand(3).isImm());
Location.set(MI->getOperand(0).getReg(), MI->getOperand(3).getImm());
return Location;
}

The DBG_VALUE is actually:

(gdb) call MI->dump()
DBG_VALUE %RIP, 1, %reg0, ga:@C.9.2167, %reg0, 0, !"find_strings"; dbg:pbmsrch.c:73

causing the crash. Please investigate, I assume the assert just needs to be loosened up or something.

@llvmbot
Copy link
Collaborator

llvmbot commented Jul 6, 2010

Fixed the crash. r107678.
File PR 7577 to track missing debug info.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 3, 2021
asl pushed a commit to asl/llvm-project that referenced this issue Jan 5, 2024
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:X86 bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

2 participants