[patch][PR10367] Fix the design of GlobalAlias

Duncan P. N. Exon Smith dexonsmith at apple.com
Tue May 13 14:15:42 PDT 2014


On 2014-May-13, at 11:35, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:

>> The first patch looks good, I'm just opening the second patch.
>> 
>> I think previously you suggested splitting this into GlobalName /
>> GlobalValue instead of GlobalValue / GlobalObject.  I kind of liked
>> GlobalName.  Any reason to split this way instead?  Does it avoid excessive
>> API churn?
> 
> Yes. I started going that way, but the churn is so big that it is
> probably better if we do that as a separate patch. I will send one
> with just the renaming once these are done.

Would that constitute a C API change?  I'm thinking specifically about
include/llvm-c/Core.h:

> /**
>  * Convert value instances between types.
>  *
>  * Internally, an LLVMValueRef is "pinned" to a specific type. This
>  * series of functions allows you to cast an instance to a specific
>  * type.
>  *
>  * If the cast is not valid for the specified type, NULL is returned.
>  *
>  * @see llvm::dyn_cast_or_null<>
>  */
> #define LLVM_DECLARE_VALUE_CAST(name) \
>   LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
> LLVM_FOR_EACH_VALUE_SUBCLASS(LLVM_DECLARE_VALUE_CAST)

Doesn't the return of `LLVMIsAGlobalValue()` change meaning?



More information about the llvm-commits mailing list