Trevor Harmon
2010-Oct-28 00:53 UTC
[LLVMdev] Splitting a basic block creates an instruction without debug metadata
Hi, I'm not sure if this is really a problem or not, but I noticed that if you're working with bitcode that has debug metadata, and you split a BasicBlock using llvm::SplitBlock or BasicBlock::splitBasicBlock, the unconditional branch added to the new block will lack debug metadata. This turned out not to be a problem for me, since my analysis pass needs only one instruction in the block to have metadata, but perhaps it will be a problem for others. Ignoring for now the issue of just how to manufacture the metadata for the new instruction, is this a bug? Trevor
Devang Patel
2010-Oct-28 16:46 UTC
[LLVMdev] Splitting a basic block creates an instruction without debug metadata
On Oct 27, 2010, at 5:53 PM, Trevor Harmon wrote:> Hi, > > I'm not sure if this is really a problem or not, but I noticed that if > you're working with bitcode that has debug metadata, and you split a > BasicBlock using llvm::SplitBlock or BasicBlock::splitBasicBlock, the > unconditional branch added to the new block will lack debug metadata. > This turned out not to be a problem for me, since my analysis pass > needs only one instruction in the block to have metadata, but perhaps > it will be a problem for others. Ignoring for now the issue of just > how to manufacture the metadata for the new instruction, is this a bug? >It'd be good to have location info attached with newly created unconditional branch. - Devang
Trevor Harmon
2010-Oct-29 21:44 UTC
[LLVMdev] Splitting a basic block creates an instruction without debug metadata
On Oct 28, 2010, at 9:46 AM, Devang Patel wrote:> It'd be good to have location info attached with newly created > unconditional branch.Okay, filed as bug #8510. http://llvm.org/bugs/show_bug.cgi?id=8510 Trevor
Reasonably Related Threads
- [LLVMdev] Splitting a basic block creates an instruction without debug metadata
- [LLVMdev] Splitting basic blocks while preserving machine code
- [LLVMdev] Splitting basic blocks while preserving machine code
- [LLVMdev] Splitting basic blocks while preserving machine code
- [LLVMdev] Problem in CodeExtractor::severSplitPHINodes()