Thanks! Committed in r269679

Steven

> On May 16, 2016, at 11:54 AM, Rafael Espíndola <rafael.espind...@gmail.com> 
> wrote:
> 
> LGTM
> 
> On 16 May 2016 at 14:03, Steven Wu <steve...@apple.com> wrote:
>> 
>>> On May 16, 2016, at 6:52 AM, Rafael Espíndola <rafael.espind...@gmail.com> 
>>> wrote:
>>> 
>>> +  auto Used = collectUsedGlobalVariables(*M, UsedGlobals, true);
>>> 
>>> Please use an explicit type instead of auto.
>> 
>> Sure.
>> 
>>> 
>>> You deleted the assert
>> 
>> Are you referring to the assertion that llvm.embedded.module has no uses. I 
>> added it back to check it has exactly one use.
>> 
>> Attach the final patch with testcase.
>> 
>> Steven
>> 
>> 
>> 
>> 
>>> 
>>> I think this is fine otherwise.
>>> 
>>> Cheers,
>>> Rafael
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On 13 May 2016 at 20:00, Steven Wu <steve...@apple.com> wrote:
>>>> 
>>>>> On May 13, 2016, at 3:56 PM, Duncan P. N. Exon Smith 
>>>>> <dexonsm...@apple.com> wrote:
>>>>> 
>>>>> Is this something that you need the linker to treat as "used", or just 
>>>>> something you don't want the compiler to drop?  If the latter, 
>>>>> @llvm.compiler.used seems more appropriate.
>>>> 
>>>> Bitcode is actually not really used by the compiler during compilation and 
>>>> shouldn't really used by any part of the code. llvm.compiler.used then.
>>>> 
>>>> New patch.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Steven
>>>> 
>>>>> 
>>>>>> On 2016-May-13, at 14:01, Steven Wu <steve...@apple.com> wrote:
>>>>>> 
>>>>>> Attach a patch using private linkage type and adding to llvm.used. I 
>>>>>> have to recreate llvm.used when embedding bitcode. I don't really like 
>>>>>> it but I don't have better solutions.
>>>>>> Few other options:
>>>>>> 1. Not allowing re-embedded bitcode will simplify the code a bit but not 
>>>>>> a lot.
>>>>>> 2. Create a new "llvm.*.used" variable in llvm.metadata section.
>>>>>> 3. Teach optimizer do not optimize away llvm.* variables.
>>>>>> 
>>>>>> <0001-Fix-embed-bitcode-linkage-type.patch>
>>>>>> 
>>>>>> Steven
>>>>>> 
>>>>>>> On May 13, 2016, at 10:10 AM, Rafael Espíndola 
>>>>>>> <rafael.espind...@gmail.com> wrote:
>>>>>>> 
>>>>>>> On 13 May 2016 at 13:02, Steven Wu <steve...@apple.com> wrote:
>>>>>>>> Hi Rafael
>>>>>>>> 
>>>>>>>> Thanks for notice this! That would definitely cause duplicated symbol 
>>>>>>>> error and I should definitely change that.
>>>>>>>> Here is some background:
>>>>>>>> ld64 in Xcode 7+ knows how to handle the embedded bitcode correctly 
>>>>>>>> but not the ones in earlier Xcode. The old ld64 will simply 
>>>>>>>> concatenate the bitcode files which is not the right thing to do. So 
>>>>>>>> there is a symbol generated at the place to prevent user to link the 
>>>>>>>> bitcode object file with old ld64 because older ld64 will fail and 
>>>>>>>> report duplicated symbols.
>>>>>>>> I have a radar tracking to change the linkage type when upstream but I 
>>>>>>>> dropped the ball on that one. The correct thing to do is to make it 
>>>>>>>> internal and add to llvm.used. I will come up with a patch.
>>>>>>> 
>>>>>>> Thank you so much!
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> Rafael
>>>>>> 
>>>>> 
>>>> 
>>>> 
>> 
>> 

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to