[PATCH] with no response: Bug 13163 - BlockAddress instruction with use from the global context is damaged during module link

I think my patch fell through the cracks:
http://llvm.org/bugs/show_bug.cgi?id=13163

Could anybody please check it in?

Thanks,
Yuri

Could anybody please review and check this patch in?

Yuri

Have you sent the patch, with a descriptive header, to the llvm-commits list?

Yes, long time ago.

Yuri

Hi Yuri,

Duncan,

You said the same in the PR comment July 7, 2012, now 3 months have passed and nothing changed. This patch is still outstanding.

Over time patches may get in conflict with the newer changes so after the long time patches generally need more attention.

Is there a way I can help? I can check this in myself if the project suffers from the resource starvation. Can I get commit credentials?

Yuri

http://llvm.org/bugs/show_bug.cgi?id=13163

Hi Yuri,

I think Chris is the right person to look at this, hopefully he will.

Duncan,

You said the same in the PR comment July 7, 2012, now 3 months have passed and
nothing changed. This patch is still outstanding.

Over time patches may get in conflict with the newer changes so after the long
time patches generally need more attention.

Is there a way I can help? I can check this in myself if the project suffers
from the resource starvation.

the problem is having your patch be reviewed by someone who knows the area. You
can't do that yourself!

Ciao, Duncan.

  Can I get commit credentials?

Now 5 months passed. I updated the patch for this current revision.
Can anybody review this and check in please?

http://llvm.org/bugs/show_bug.cgi?id=13163

Yuri

Hopefully someone will review it soon.

At the same time, if your patch makes additional bugs, nobody wants to get surprised with that and have to chase some complicated problem down.

That's why in code that is not some target you own, you need to get it reviewed and approved.

I've had patches take two months to get approved. It happens sometimes.

Reed

Realistically speaking, I'm not going to be able to review this patch in a useful way. Is there anyone else who can review this patch for Yuri?

-Chris

Chris Lattner wrote:

I think Chris is the right person to look at this, hopefully he will.

Now 5 months passed. I updated the patch for this current revision.
Can anybody review this and check in please?

http://llvm.org/bugs/show_bug.cgi?id=13163

Realistically speaking, I'm not going to be able to review this patch in a useful way. Is there anyone else who can review this patch for Yuri?

Yuri, I think this problem can be solved without changing BlockAddress. There's already code in LLVM which creates deferred block addresses; it happens when we read .bc files (function local constants are loaded from the .bc file first, followed by the actual instruction stream and basic blocks). The short answer is that you can create a placeholder GlobalVariable, then RAUW it away with the blockaddr once all the blocks are loaded. See how BlockAddrFwdRefs works in lib/Bitcode/Reader/BitcodeReader.cpp.

Sorry I haven't reviewed this patch previously, I'm willing to take responsibility for reviews of this sort of thing.

Nick