[LLVMdev] BlockFrequencyImpl asserts on multiple edges between same MBBs with different weights in LLVM 3.2

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Jan 23 14:30:51 PST 2013


On Jan 23, 2013, at 12:36 PM, Stefan Hepp <stefan at stefant.org> wrote:

> However, an alternative option could be to simply disallow different edge weights for edges with the same source and destination, or to make the call to getEdgeFreq(Pred,BB) in BlockFrequencyImpl distinguish between the edges, which would eliminate the need for an additional PtrSet, but is not that easy to implement.

Hi Stefan,

The MachineBasicBlock CFG is supposed to be a proper graph without duplicate edges, unlike the LLVM IR CFG.

I thought I had cleaned up all the cases where we created duplicate MBB edges, but it looks like I missed something.

If you can find the place that creates the duplicate MBB edge, that would be great.

/jakob




More information about the llvm-dev mailing list