[LLVMdev] [PATCH] with no response: Bug 13163 - BlockAddress	instruction with use from the global context is damaged during module	link
    Nick Lewycky 
    nicholas at mxc.ca
       
    Sat May  4 10:47:45 PDT 2013
    
    
  
Chris Lattner wrote:
>
> On Apr 17, 2013, at 7:26 PM, Yuri<yuri at rawbw.com>  wrote:
>
>> On 10/02/2012 13:01, Duncan Sands 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
    
    
More information about the llvm-commits
mailing list